namespace BLL { using System; using System.Collections; using System.Linq; using System.Net; public static class LogService { public static Model.SGGLDB db = Funs.DB; /// /// 添加操作日志 /// /// 操作人 /// 编号 /// 主键ID /// 菜单ID /// 操作名称 public static void AddSys_Log(Model.Sys_User CurrUser, string code, string dataId, string strMenuId, string strOperationName) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { if (CurrUser != null) { Model.Sys_Log syslog = new Model.Sys_Log { LogId = SQLHelper.GetNewID(), HostName = Dns.GetHostName(), OperationTime = DateTime.Now, UserId = CurrUser.UserId, MenuId = strMenuId, OperationName = strOperationName, DataId = dataId, LogSource = 1, }; IPAddress[] ips = Dns.GetHostAddresses(syslog.HostName); if (ips.Length > 0) { foreach (IPAddress ip in ips) { if (ip.ToString().IndexOf('.') != -1) { syslog.Ip = ip.ToString(); } } } string opLog = string.Empty; var menu = db.Sys_Menu.FirstOrDefault(x => x.MenuId == strMenuId); if (menu != null) { opLog = menu.MenuName + ":"; } if (!string.IsNullOrEmpty(strOperationName)) { opLog += strOperationName; } if (!string.IsNullOrEmpty(code)) { syslog.OperationLog = opLog + ";" + code + "。"; } if (!string.IsNullOrEmpty(CurrUser.LoginProjectId) && CurrUser.LoginProjectId != "null") { syslog.ProjectId = CurrUser.LoginProjectId; } db.Sys_Log.InsertOnSubmit(syslog); db.SubmitChanges(); } } } /// /// 添加操作日志 /// /// /// public static void AddLog(string userId, string opLog) { //SetOvertime(userId); Model.SGGLDB db = Funs.DB; Model.Sys_Log log = new Model.Sys_Log { LogId = SQLHelper.GetNewID(typeof(Model.Sys_Log)), HostName = Dns.GetHostName() }; IPAddress[] ips = Dns.GetHostAddresses(log.HostName); if (ips.Length > 0) { foreach (IPAddress ip in ips) { if (ip.ToString().IndexOf('.') != -1) { log.Ip = ip.ToString(); } } } log.OperationTime = DateTime.Now; log.OperationLog = opLog; log.UserId = userId; db.Sys_Log.InsertOnSubmit(log); db.SubmitChanges(); } /// /// 根据项目Id删除所有相关日志信息 /// /// public static void DeleteLog(string projectId) { Model.SGGLDB db = Funs.DB; var q = (from x in db.Sys_Log where x.ProjectId == projectId select x).ToList(); if (q != null) { db.Sys_Log.DeleteAllOnSubmit(q); db.SubmitChanges(); } } } }