using JinYuan.Helper; using JinYuan.Models; using JinYuan.VirtualDataLibrary; using Language; using System; using System.Windows.Forms; namespace LargeSquareOne { public partial class FrmAlarmLog : MultiLanguageForm { public FrmAlarmLog() { InitializeComponent(); } private string CurrentTime { get { return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } } /// /// 通用的添加系统日志 /// /// /// public async void AddLog(bool isError, string info) { if (dgv_Log.InvokeRequired) { this.dgv_Log.Invoke(new Action(AddLog), isError, info); } else { int rowCount = this.dgv_Log.Rows.Add(); this.dgv_Log.Rows[rowCount].Cells[0].Value = CurrentTime; this.dgv_Log.Rows[rowCount].Cells[1].Value = isError ? "错误".Translated() : "信息".Translated(); this.dgv_Log.Rows[rowCount].Cells[2].Value = info; // 设置最新行为活动行 (当前行) this.dgv_Log.CurrentCell = this.dgv_Log.Rows[this.dgv_Log.Rows.Count - 1].Cells[0]; //dgv清理 if (this.dgv_Log.RowCount > 300) { //this.dgv_Log.Rows.RemoveAt(0); this.dgv_Log.Rows.Clear(); GC.Collect(); } } //存储到数据库 //await CommonMethods.db.AddReturnBoolAsync(new SysLog() //{ // InsertTime = CurrentTime, // LogType = "系统日志".Translated(), // Note = info, // AlarmType = isError ? "错误".Translated() : "信息".Translated(), // Operater = CommonMethods.currentAdmin.LoginName //}); } /// /// 通用的添加操作日志 /// /// /// public async void AddOPLog(bool isError, string info) { if (this.dgv_OPLog.InvokeRequired) { this.dgv_OPLog.Invoke(new Action(AddOPLog), isError, info); } else { int rowCount = this.dgv_OPLog.Rows.Add(); this.dgv_OPLog.Rows[rowCount].Cells[0].Value = CurrentTime; this.dgv_OPLog.Rows[rowCount].Cells[1].Value = isError ? "错误".Translated() : "信息".Translated(); this.dgv_OPLog.Rows[rowCount].Cells[2].Value = info; // 设置最新行为活动行 (当前行) this.dgv_OPLog.CurrentCell = this.dgv_OPLog.Rows[this.dgv_OPLog.Rows.Count - 1].Cells[0]; //dgv清理 if (this.dgv_OPLog.RowCount > 300) { //this.dgv_OPLog.Rows.RemoveAt(0); this.dgv_OPLog.Rows.Clear(); GC.Collect(); } } //存储到数据库 //await CommonMethods.db.AddReturnBoolAsync(new SysLog() //{ // InsertTime = CurrentTime, // LogType = "操作日志".Translated(), // Note = info, // AlarmType = isError ? "错误".Translated() : "信息".Translated(), // Operater = CommonMethods.currentAdmin.LoginName //}); string opeType = isError ? "错误" : "信息"; string logInfo = $"操作时间: {CurrentTime}, 操作类型: {opeType}, 操作信息: {info}"; LogHelper.Instance.WriteLog(logInfo, ConstValue.USER_LOG); } /// /// 通用的添加报警信息 /// /// sh /// public async void AddAlarm(SysLog sysLog) { if (this.dgv_Alarm.InvokeRequired) { this.dgv_Alarm.Invoke(new Action(AddAlarm), sysLog); } else { int rowCount = this.dgv_Alarm.Rows.Add(); this.dgv_Alarm.Rows[rowCount].Cells[0].Value = sysLog.InsertTime; this.dgv_Alarm.Rows[rowCount].Cells[1].Value = sysLog.AlarmType; this.dgv_Alarm.Rows[rowCount].Cells[2].Value = sysLog.Note; // 设置最新行为活动行 (当前行) this.dgv_Alarm.CurrentCell = this.dgv_Alarm.Rows[this.dgv_Alarm.Rows.Count - 1].Cells[0]; } //dgv清理 if (this.dgv_Alarm.RowCount > 300) { //this.dgv_Alarm.Rows.RemoveAt(0); this.dgv_Alarm.Rows.Clear(); GC.Collect(); } //存储到数据库 await CommonMethods.db.AddReturnBoolAsync(sysLog).ConfigureAwait(false); } /// /// 通用的添加并显示报警信息 /// /// sh /// public void ShowAlarm(string info) { if (this.dgv_Alarm.InvokeRequired) { this.dgv_Alarm.Invoke(new Action(ShowAlarm), info); } else { int rowCount = this.dgv_Alarm.Rows.Add(); this.dgv_Alarm.Rows[rowCount].Cells[0].Value = CurrentTime; this.dgv_Alarm.Rows[rowCount].Cells[1].Value = "停机报警"; this.dgv_Alarm.Rows[rowCount].Cells[2].Value = info; // 设置最新行为活动行 (当前行) this.dgv_Alarm.CurrentCell = this.dgv_Alarm.Rows[this.dgv_Alarm.Rows.Count - 1].Cells[0]; //dgv清理 if (this.dgv_Alarm.RowCount > 300) { //this.dgv_Alarm.Rows.RemoveAt(0); this.dgv_Alarm.Rows.Clear(); GC.Collect(); } } } private void dgv_Log_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { DataGridViewHelper.DgvRowPostPaint((DataGridView)sender, e); } #region 减少闪烁 protected override CreateParams CreateParams { get { CreateParams parss = base.CreateParams; parss.ExStyle |= 0x02000000; return parss; } } #endregion } }