| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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
- {
- /// <summary>
- /// 写入数据库操作日志
- /// </summary>
- /// <param name="pcLogCommand">操作命令("用户类型|用户命令")</param>
- /// <param name="pcLogMsg">日志信息</param>
- /// <param name="pcUserNo">用户编号</param>
- /// <param name="pcErrorMsg">错误日志</param>
- /// <param name="pcGranduationYear">普通校友用户的毕业年份</param>
- /// <param name="pcLogMsgType">日志类型</param>
- 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();
- }
- /// <summary>
- /// 管理员编码进行年级筛选用户日志
- /// </summary>
- /// <param name="pcSysLogs">数据源</param>
- /// <param name="pcUserNo">管理员编码</param>
- /// <returns>SysLogs</returns>
- public List<SysLog> GetUserSysLogs(List<SysLog> pcSysLogs, string pcUserNo)
- {
- var graduationStr = GetSingle(s => s.UserNo == pcUserNo).GraduationYear;
- if (graduationStr.Contains("ALL"))
- return pcSysLogs;
- List<SysLog> loSysLogInfos = new List<SysLog>();
- string[] graduationStrs = graduationStr.Split(',');
- foreach (var graduation in graduationStrs)
- loSysLogInfos.AddRange(pcSysLogs.Where(s => s.GraduationYear == graduation));
- return loSysLogInfos;
- }
- }
- }
|