#region using System; using System.Data; using CSFrameworkV5.Common; using CSFrameworkV5.Core; using CSFrameworkV5.Interfaces; using CSFrameworkV5.Models; using CSFrameworkV5.WCFContract; #endregion namespace CSFrameworkV5.WebRef.CommonService { public class WCF_OperateLog : WCF_Base, IBridge_Log { public void ClearAll() { Excute(client => { var loginTicket = WebServiceSecurity.EncryptLoginer(Loginer.CurrentUser); client.Log_ClearAll(loginTicket); }); } public void ClearLog(DateTime beginDate, DateTime endDate) { Excute(client => { var loginTicket = WebServiceSecurity.EncryptLoginer(Loginer.CurrentUser); client.Log_ClearLog(loginTicket, beginDate, endDate); }); } public void ClearLog(string user, DateTime beginDate, DateTime endDate) { Excute(client => { var loginTicket = WebServiceSecurity.EncryptLoginer(Loginer.CurrentUser); client.Log_ClearLogByUser(loginTicket, user, beginDate, endDate); }); } public int DeleteLoginLog(string isids) { return Excute(client => { var loginTicket = WebServiceSecurity.EncryptLoginer(Loginer.CurrentUser); return client.Log_DeleteLoginLog(loginTicket, isids); }); } public int DeleteOperateLog(string isids) { return Excute(client => { var loginTicket = WebServiceSecurity.EncryptLoginer(Loginer.CurrentUser); return client.Log_DeleteOperateLog(loginTicket, isids); }); } public DataSet GetDynamicReport(string[] years) { return Excute(client => { var loginTicket = WebServiceSecurity.EncryptLoginer(Loginer.CurrentUser); return client.Log_GetDynamicReport(loginTicket, years); }); } public DataTable QueryLoginLog(string loginType, string loginUser, string loginIP, string loginMAC, DateTime LoginD1, DateTime LoginD2) { return Excute(client => { var loginTicket = WebServiceSecurity.EncryptLoginer(Loginer.CurrentUser); var bs = client.Log_QueryLoginLog(loginTicket, loginType, loginUser, loginIP, loginMAC, LoginD1, LoginD2); return ZipTools.DecompressionDataSet(bs).Tables[0]; }); } public DataTable QueryOperateLog(string Content, DateTime Date1, DateTime Date2, string OperateType, string User) { return Excute(client => { var loginTicket = WebServiceSecurity.EncryptLoginer(Loginer.CurrentUser); var bs = client.Log_QueryOperateLog(loginTicket, Content, Date1, Date2, OperateType, User); return ZipTools.DecompressionDataSet(bs).Tables[0]; }); } public void WriteLog(object content) { try { Excute(client => { var validationTicket = WebServiceSecurity.GetLoginTicket(); if (content is string) client.Log_WriteLogString(validationTicket, ConvertEx.ToString(content)); if (content is sys_LogOperation) client.Log_WriteLogObject(validationTicket, content as sys_LogOperation); }); } catch (Exception ex) { //特殊处理:当通信通道出错时会抛出异常并试图写入系统日志,因此调用此方法会再次抛出异常 //若出现异常,不写日志,不做任何处理 } } } }