系统日志相关知识(学习笔记)
一、系统日志
系统日志管理:操作者、操作日期、操作描述.操作日志于DB
T_OperationLog,OperatorId,MakeDate,ActionDesc
Model的书写。
public class T_OperatorDAL
{
private T_OperatorLog ToModel(DataRow row){}
public void Insert(Guid operatorId,string actionDesc){}
}
登录时:
new T_OperationLogDAL().Insert(op.Id,"登录成功!");
new T_OperationLogDAL().Insert(op.Id,"登录失败!");
删除操作员时:
Application.Current.Properties["OperatorId"]=op.Id;//相当于Session但是不会过期
获得当前登录用户的ID封装为一个方法,CommonHelper.
new T_OperationLogDAL().Insert(Application.Current.Properties["OperatorId"],"删除管理员:"+op.UserName);
新增操作员:
修改操作员时:
新增职员时:
new T_OperationLogDAL().Insert()
修改职员信息时:
删除职员信息时:
二、日志查询
GroupBox只可以放一个控件,若里面在嵌套一Grid控件那么就可以放N个控件
搜索条件:操作员 操作日期 (是时间段) 操作描述
btnSearch_Click()
{
List<string> whereList=new List<string>();
List<SqlParameter> parametersList=new List<SqlParameter>();
if(cbSearchByOperator.IsChecked==True)
{
whereList.Add("Operator=@OperatorId");
parametersList.Add(new SqlParameter("@OperatorId",cmbOperator.SelectValue));
}
if(cbSearchByMakeData.IsChecked==True)
{}
if(cbSearchByAction.IsChencked==true)
{}
if(whereList<=0)
{
提醒:至少选择一个查询条件
}
string sql="select * from T_OperationLog where "+string.Join(" and ",whereList);
var logs=new T_OperationLogDAL().Search(sql,parrametersList.ToArray);
【附:lucene.net全文检索;like模糊查询效率低】
}
三、系统设置
是否启用生日提醒,提前天数,公司名称,系统配置可以存到一张表中。
Id Name Value(T_Setting)
1 生日提醒 3
2 公司名称 北京科技
3 启用生日提醒 true
public class SettingDAL
{
public void SetValue(string name,string value)
{异常处理}
public void SetValue(string name,bool value){}//构成重载
public void SetValue(string name,int value){}
public void GetValue(string name){异常处理}
public bool GetBoolValue(string name){}
pblic int GetIntValue(srting )
}【平台开发,类库】
SettingWindow.xaml
公司名称
公司网站
启用生日提醒
生日提醒天数
工号前缀
四、配置保存
存放于本地,若用其他电脑登陆时,就不可以了,因为写在本地电脑的配置信息仅仅在自己电脑上,存于DB好呀!嘿嘿
App.config文件在本地计算机上
云操作
五、云端存储的安全性
浏览器收藏夹存于服务器端。
重要资料备份于金山快盘
异常看不见不等于没有