using Sln.Iot.Repository.dao; using Sln.Iot.Serilog; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static System.Runtime.CompilerServices.RuntimeHelpers; namespace Sln.Iot.Repository.service { public class ErrorService { private static readonly Lazy lazy = new Lazy(() => new ErrorService()); public static ErrorService Instance { get { return lazy.Value; } } private SQLiteHelper _helperV1 = SQLiteHelper.Instance; private SQLiteHelper _helperV2 = SQLiteHelper.Instance; private SQLiteHelper _helperL = SQLiteHelper.Instance; private SQLiteHelper _helperO = SQLiteHelper.Instance; private SerilogHelper _log = SerilogHelper.Instance; #region 真空1错误操作 /// /// 插入报错真空1 /// /// public bool InsertVacuum1Error(string Guid, string Message, string CNMessage, string code) { try { var res = _helperV1.Insert(new Vacuum1Error() { ErrorGuid = Guid, ErrorName = Message, CNErrorName = CNMessage, ErrorCode = code }); return res == 0 ? false : true; } catch (Exception ex) { _log.Error("报警信息插入错误V1", ex); return false; } } /// /// 删除报错真空1 /// /// public string DeleteVacuum1Error(string Message) { try { var restr = _helperV1.QuerySingle(x => x.ErrorName == Message).ErrorGuid; var res = _helperV1.SqlExcute($"DELETE FROM Vacuum1Error WHERE ErrorName = '{Message}'"); if (res == 0) { throw new Exception("删除数据不成功,可能没有指定ErrorMessage的错误"); } return restr; } catch (Exception ex) { _log.Error("报警信息删除错误V1", ex); return string.Empty; } } /// /// 获取报错列表 /// /// public List GetV1List() { try { var res = _helperV1.QueryAll(); return res; } catch (Exception ex) { _log.Error("报警信息获取错误V1", ex); return new List(); } } #endregion #region 真空2错误操作 /// /// 插入报错真空2 /// /// public bool InsertVacuum2Error(string Guid, string Message, string CNMessage, string code) { try { var res = _helperV2.Insert(new Vacuum2Error() { ErrorGuid = Guid, ErrorName = Message, CNErrorName = CNMessage, ErrorCode = code }); return res == 0 ? false : true; } catch (Exception ex) { _log.Error("报警信息插入错误V2", ex); return false; } } /// /// 删除报错真空2 /// /// public string DeleteVacuum2Error(string Message) { try { var restr = _helperV2.QuerySingle(x => x.ErrorName == Message).ErrorGuid; var res = _helperV2.SqlExcute($"DELETE FROM Vacuum1Error WHERE ErrorName = '{Message}'"); if (res == 0) { throw new Exception("删除数据不成功,可能没有指定ErrorMessage的错误"); } return restr; } catch (Exception ex) { _log.Error("报警信息删除错误V2", ex); return string.Empty; } } /// /// 获取报错列表 /// /// public List GetV2List() { try { var res = _helperV2.QueryAll(); return res; } catch (Exception ex) { _log.Error("报警信息获取错误V2", ex); return new List(); } } #endregion #region 提升机错误操作 /// /// 插入报错提升机 /// /// public bool InsertLiftError(string Guid, string Message, string CNMessage, string code) { try { var res = _helperL.Insert(new LiftError() { ErrorGuid = Guid, ErrorName = Message, CNErrorName = CNMessage, ErrorCode = code }); return res == 0 ? false : true; } catch (Exception ex) { _log.Error("报警信息插入错误L", ex); return false; } } /// /// 删除报错提升机 /// /// public string DeleteliftError(string Message) { try { var restr = _helperL.QuerySingle(x => x.ErrorName == Message).ErrorGuid; var res = _helperL.SqlExcute($"DELETE FROM Vacuum1Error WHERE ErrorName = '{Message}'"); if (res == 0) { throw new Exception("删除数据不成功,可能没有指定ErrorMessage的错误"); } return restr; } catch (Exception ex) { _log.Error("报警信息删除错误L", ex); return string.Empty; } } /// /// 获取报错列表提升机 /// /// public List GetLiftList() { try { var res = _helperL.QueryAll(); return res; } catch (Exception ex) { _log.Error("报警信息获取错误L", ex); return new List(); } } #endregion #region 烤箱错误操作 /// /// 插入报错烤箱 /// /// public bool InsertOvenError(string Guid, string Message, string CNMessage, string code) { try { var res = _helperO.Insert(new OvenError() { ErrorGuid = Guid, ErrorName = Message, CNErrorName = CNMessage, ErrorCode = code }); return res == 0 ? false : true; } catch (Exception ex) { _log.Error("报警信息插入错误O", ex); return false; } } /// /// 删除报错烤箱 /// /// public string DeleteOvenError(string Message) { try { var restr = _helperO.QuerySingle(x => x.ErrorName == Message).ErrorGuid; var res = _helperO.SqlExcute($"DELETE FROM Vacuum1Error WHERE ErrorName = '{Message}'"); if (res == 0) { throw new Exception("删除数据不成功,可能没有指定ErrorMessage的错误"); } return restr; } catch (Exception ex) { _log.Error("报警信息删除错误O", ex); return string.Empty; } } /// /// 获取报错列表烤箱 /// /// public List GetOvenList() { try { var res = _helperO.QueryAll(); return res; } catch (Exception ex) { _log.Error("报警信息获取错误O", ex); return new List(); } } #endregion } }