123 lines
4.1 KiB
C#
123 lines
4.1 KiB
C#
namespace BLL
|
||
{
|
||
using System;
|
||
using System.Collections;
|
||
using System.Linq;
|
||
using System.Net;
|
||
|
||
public static class LogService
|
||
{
|
||
public static Model.SGGLDB db = Funs.DB;
|
||
|
||
/// <summary>
|
||
/// 添加操作日志
|
||
/// </summary>
|
||
/// <param name="CurrUser">操作人</param>
|
||
/// <param name="code">编号</param>
|
||
/// <param name="dataId">主键ID</param>
|
||
/// <param name="strMenuId">菜单ID</param>
|
||
/// <param name="strOperationName">操作名称</param>
|
||
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();
|
||
}
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 添加操作日志
|
||
/// </summary>
|
||
/// <param name="userId"></param>
|
||
/// <param name="opLog"></param>
|
||
public static void AddLog(string userId, string opLog)
|
||
{
|
||
//SetOvertime(userId);
|
||
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();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据项目Id删除所有相关日志信息
|
||
/// </summary>
|
||
/// <param name="projectId"></param>
|
||
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();
|
||
}
|
||
}
|
||
}
|
||
} |