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
}
}