using System; using System.Collections.Generic; using System.Linq; using System.Web; using CommonTool; using YZXYH.Repository.Models; namespace YZXYH.Repository { public partial class SysLogRepository { /// /// 写入数据库操作日志 /// /// 操作命令("用户类型|用户命令") /// 日志信息 /// 用户编号 /// 错误日志 /// 普通校友用户的毕业年份 /// 日志类型 public void AddLog(string pcLogCommand, string pcLogMsg, string pcUserNo, string pcErrorMsg = "", string pcGranduationYear = "", LogMsgType pcLogMsgType= LogMsgType.Information) { string lcLogSite= WebLibs.CurPageName; string[] ltArr = lcLogSite.Split(new []{'_'}, StringSplitOptions.RemoveEmptyEntries); if (pcLogCommand.IndexOf("Login", StringComparison.Ordinal) > 0 && ltArr.Length> 1 && ltArr[1].Length > 30 ) { lcLogSite = ltArr[0] + "_" + SysSecurity.Decrypt(ltArr[1]); } SysLog loSysLogInfo = new SysLog() { //Id = Guid.NewGuid().ToString("N"), LogDate =DateTime.Now, SysLogType = ((int)pcLogMsgType).ToString(), LogCommand = pcLogCommand, LogMessage = pcLogMsg, UserNo = pcUserNo, GraduationYear = pcGranduationYear, LogErrorMessage = pcErrorMsg, LogSite = lcLogSite, UserHostAddress = HttpContext.Current.Request.UserHostAddress }; InsertNoId(loSysLogInfo); Save(); } /// /// 管理员编码进行年级筛选用户日志 /// /// 数据源 /// 管理员编码 /// SysLogs public List GetUserSysLogs(List pcSysLogs, string pcUserNo) { var graduationStr = GetSingle(s => s.UserNo == pcUserNo).GraduationYear; if (graduationStr.Contains("ALL")) return pcSysLogs; List loSysLogInfos = new List(); string[] graduationStrs = graduationStr.Split(','); foreach (var graduation in graduationStrs) loSysLogInfos.AddRange(pcSysLogs.Where(s => s.GraduationYear == graduation)); return loSysLogInfos; } } }