#region using System; using System.Data; using System.Drawing; using System.Text; using CSFrameworkV5.Business; using CSFrameworkV5.Common; using CSFrameworkV5.Core; using CSFrameworkV5.Library; using CSFrameworkV5.Library.CommonClass; using CSFrameworkV5.Library.CommonForms; using DevExpress.XtraEditors.Controls; #endregion namespace CSFrameworkV5.SystemModule { public partial class frmLogOperateViewer : frmBaseChild { private bllLog _BLL; public frmLogOperateViewer() { InitializeComponent(); } private void btnAdvSearch_Click(object sender, EventArgs e) { var result = frmAdvancedSearch.Execute(gvSummary, _BLL); } private void btnClearLoginLog_Click(object sender, EventArgs e) { ClearContainerEditorText(panelControl1); txt_LoginUser.EditValue = Loginer.CurrentUser.Account; } private void btnEmpty_Click(object sender, EventArgs e) { ClearContainerEditorText(pnlSearch); txt_User.EditValue = Loginer.CurrentUser.Account; } private void btnQuery_Click(object sender, EventArgs e) { try { frmWaitingEx.ShowMe(this); var data = _BLL.QueryOperateLog(txt_Content.Text, txt_Date1.DateTime, txt_Date2.DateTime, txt_OperateType.Text, ConvertEx.ToString(txt_User.EditValue)); gcSummary.DataSource = data; } finally { frmWaitingEx.HideMe(this); } if (gvSummary.RowCount == 0) Msg.Warning("没有找到数据!"); } private void btnQueryLoginLog_Click(object sender, EventArgs e) { try { frmWaitingEx.ShowMe(this); var loginType = txt_LoginType.Text != "" ? txt_LoginType.Text.Substring(0, 1) : ""; var data = _BLL.QueryLoginLog(loginType, txt_LoginUser.Text, txt_LoginIP.Text, txt_LoginMAC.Text, txt_LoginD1.DateTime, txt_LoginD2.DateTime); gcLoginLog.DataSource = data; } finally { frmWaitingEx.HideMe(this); } if (gvLoginLog.RowCount == 0) Msg.Warning("没有找到数据!"); } /// /// 删除记录 /// /// public virtual void DoDelete(IButtonInfo sender) { if (xtraTabControl1.SelectedTabPage == xtraTabPage1) { Assertion.AssertZero(gvSummary.RowCount, "当前表格中没有数据!"); if (Msg.AskQuestion("确定要删除表格中所有[系统操作日志]吗?")) { var isids = GetISIDs(gcSummary.DataSource as DataTable); var i = _BLL.DeleteOperateLog(isids); Msg.ShowInformation("本次操作共删除 " + i.ToStringEx() + " 条数据!"); //刷新表格数据 btnQuery_Click(btnQuery, new EventArgs()); } } if (xtraTabControl1.SelectedTabPage == xtraTabPage2) { Assertion.AssertZero(gvLoginLog.RowCount, "当前表格中没有数据!"); if (Msg.AskQuestion("确定要删除表格中所有[系统登录日志]吗?")) { var isids = GetISIDs(gcLoginLog.DataSource as DataTable); var i = _BLL.DeleteLoginLog(isids); Msg.ShowInformation("本次操作共删除 " + i.ToStringEx() + " 条数据!"); } } } private void frmLogOperateViewer_Load(object sender, EventArgs e) { _BLL = new bllLog(); InitButtons(); frmGridCustomize.RegisterGrid(gvSummary); DevStyle.SetGridControlLayout(gcSummary, false); //表格设置 DevStyle.SetSummaryGridViewLayout(gvSummary); DataBinderTools.BoundUser(txt_User, true); DataBinderTools.BoundUser(txt_LoginUser, true); DataBinderTools.BoundUser(rep_User); DataBinderTools.BoundUser(rep_LoginUser); DataBinderTools.BoundEnum(txt_OperateType, typeof(LogTypeSystem), true); LoadImageComboBox(); LoadImageLoginLog(); txt_Date1.DateTime = DateTime.Today.AddDays(-7); txt_LoginD1.DateTime = DateTime.Today.AddDays(-7); } private string GetISIDs(DataTable dt) { const int MAX_LEN = 7900; var sb = new StringBuilder(","); var sbAll = new StringBuilder(","); var count = 0; foreach (DataRow R in dt.Rows) { sbAll.Append(R["isid"].ToStringEx() + ","); if ((sb.ToStringEx() + R["isid"].ToStringEx() + ",").Length < MAX_LEN) { sb.Append(R["isid"].ToStringEx() + ","); count++; } } if (sbAll.Length > MAX_LEN) Msg.Warning($"将处理{count}条记录!"); return sb.ToStringEx(); } public override void InitButtons() { base.InitButtons(); _buttons.AddButton(ToolbarRegister.CreateButton("btnDelete", "删除日志", ToolBarGroup.数据操作, Globals.LoadBitmap("32_DeleteLog.png"), new Size(57, 28), false, true, DoDelete)); } private void LoadImageComboBox() { rep_OperationType.Items.Clear(); var items = Enum.GetNames(typeof(LogTypeSystem)); foreach (var item in items) rep_OperationType.Items.Add( new ImageComboBoxItem(item, Array.IndexOf(items, item))); } private void LoadImageLoginLog() { rep_LoginType.Items.Clear(); rep_LoginType.Items.Add(new ImageComboBoxItem("登入系统", 0)); rep_LoginType.Items.Add(new ImageComboBoxItem("登出系统", 1)); } } }