zoukankan      html  css  js  c++  java
  • 系统日志

    设计数据库表T_OperationLog。如下:

    在MOdel中建一个T_OperationLog类,代码如下;

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace HRMSys.Model
    {
        public class T_OperationLog
        {
            public System.Guid Id { get; set; }
            public System.Guid OperatorId { get; set; }
            public System.DateTime MakeDate { get; set; }
            public System.String ActionDesc { get; set; }
        }
    
    }

     第二步:在DAL中新建一个T_OperationLogDAL类,代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using HRMSys.Model;
    using System.Data.SqlClient;
    using System.Data;
    
    namespace HRMSys.DAL
    {
        public class T_OperationLogDAL
        {
            private T_OperationLog ToModel(DataRow row)
            {
                T_OperationLog model = new T_OperationLog();
                model.Id = (System.Guid)SqlHelper.FromDbValue(row["Id"]);
                model.OperatorId = (System.Guid)SqlHelper.FromDbValue(row["OperatorId"]);
                model.MakeDate = (System.DateTime)SqlHelper.FromDbValue(row["MakeDate"]);
                model.ActionDesc = (string)SqlHelper.FromDbValue(row["ActionDesc"]);
                return model;
            }
    
            public void Insert(Guid operatorId, string actionDesc)
            {
                SqlHelper.ExecuteNonQuery(@"insert into T_OperationLog(
                Id,OperatorId,MakeDate,ActionDesc)
                values(newid(),@OperatorId,getdate(),@ActionDesc)", new SqlParameter("@OperatorId", operatorId)
                     , new SqlParameter("@ActionDesc", actionDesc));
            }
    
            public T_OperationLog[] Search(string sql, SqlParameter[] parameters)
            {
                DataTable table = SqlHelper.ExecuteDataTable(sql, parameters);
                T_OperationLog[] logs = new T_OperationLog[table.Rows.Count];
                for (int i = 0; i < table.Rows.Count; i++)
                {
                    logs[i] = ToModel(table.Rows[i]);
                }
                return logs;
            }
        }
    }

    第三步:因为在登录时候要记录登陆的相关信息,所以在LoginWindown的login_Click事件中if语句和else中添加代码

    new T_OperationLogDAL().Insert(op.Id,"登陆成功!");

    new T_OperationLogDAL().Insert(op.Id,"登陆不成功!");

    在管理者的UI页面即OperatorListUI.cs中删除操作代码内添加代码

     new T_OperationLogDAL().Insert(*****, "删除管理员"+op.UserName);//****是记录的是操作者的ID

    因为要记录是谁进行删除的删除操作,使用亦需要在登陆界面中的LoginWindown的login_Click事件中添加代码如下:

        //把登录操作者的Id保存到全局的“Session”
        //存到Application.Current.Properties里面的在程序其他地方也可以取
         Application.Current.Properties["OperatorId"] = op.Id;

    在在管理者的UI页面即OperatorListUI.cs中删除操作代码内添加代码如下:取得操作者的ID

       //因为每次都在进行操作时候这样写比较麻烦。所以封装成方法,存在commonHelper.cs中
                   // Guid operatorId = (Guid)Application.Current.Properties["OperatorId"];
                    Guid operatorId = CommonHelper.GetOperatorId();
                    new T_OperationLogDAL().Insert(operatorId, "删除管理员成功"+op.UserName);

    在CommonHelper.cs中添加代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    
    namespace HRMSys.UI
    {
        public class CommonHelper
        {
            
            /// <summary>
            /// 获得登录用户的Id
            /// </summary>
            /// <returns></returns>
            public static Guid GetOperatorId()
            {
                Guid operatorId = (Guid)Application.Current.Properties["OperatorId"];
                return operatorId;
            }
        }
    }

    在EmployeeEditWindow新增员工界面页添加如下代码:

     Guid operatorId = CommonHelper.GetOperatorId();
                        new T_OperationLogDAL().Insert(operatorId, "新增职员" + employee.Name);

    修改员工时候:

    Guid operatorId = CommonHelper.GetOperatorId();
                    new T_OperationLogDAL().Insert(operatorId, "修改职员" + employee.Name);
               

    在操作员管理界面即OperatorEditorWindow中添加,删除,修改操作员中添加代码如下:

    Guid operatorId = CommonHelper.GetOperatorId();
                    new T_OperationLogDAL().Insert(operatorId, "新增操作员" + txtUserName.Text);

     Guid operatorId = CommonHelper.GetOperatorId();
                    new T_OperationLogDAL().Insert(operatorId, "修改操作员" + txtUserName.Text);


                   

  • 相关阅读:
    操作系统学习(一)、80x86保护模式内存管理
    Linux命令(十三) 建立目录 mkdir 删除目录 rmdir
    Linux命令(十二) 分割文件 split 合并文件 join
    Linux命令(十一) 显示文件类型 file
    linux下环境变量PS1设置
    Jenkins email-ext邮件通知模板
    building system busy, pls wait !!
    SCP 命令
    NDK Build 用法(NDK Build)
    android下m、mm、mmm编译命令的使用
  • 原文地址:https://www.cnblogs.com/qiushuixizhao/p/3238929.html
Copyright © 2011-2022 走看看