#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("没有找到数据!");
|
}
|
|
/// <summary>
|
/// 删除记录
|
/// </summary>
|
/// <param name="sender"></param>
|
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));
|
}
|
}
|
}
|