/// <summary> /// Записать статус сервиса после выполнения /// </summary> /// <param name="id_service"></param> /// <param name="start"></param> /// <param name="stop"></param> /// <returns></returns> public static long WriteLogStatusServices(this int id_service, DateTime start, DateTime stop) { try { TimeSpan ts = stop - start; int cur_ms = (int)ts.TotalMilliseconds; EFServicesLog efsl = new EFServicesLog(_blog); LogStatusServices status = efsl.GetLogStatusServices(id_service); if (status == null) { status = new LogStatusServices() { id = 0, service = id_service, start = start, execution = start, min = cur_ms, max = cur_ms }; } status.execution = start; status.current = cur_ms; status.min = status.min == null || cur_ms < status.min ? cur_ms : status.min; status.max = status.max == null || cur_ms > status.max ? cur_ms : status.max; return(efsl.SaveLogStatusServices(status)); } catch (Exception e) { e.SaveErrorMethod(String.Format("WriteLogStatusServices(id_service={0}, start={1}, stop={2})", id_service, start, stop), _blog); return(-1); } }
/// <summary> /// Записать статус сервиса при запуске /// </summary> /// <param name="id_service"></param> /// <param name="start"></param> /// <returns></returns> public static long WriteLogStatusServices(this int id_service, DateTime start) { try { EFServicesLog efsl = new EFServicesLog(_blog); LogStatusServices status = efsl.GetLogStatusServices(id_service); if (status == null) { status = new LogStatusServices() { id = 0, service = id_service, }; } status.start = start; status.execution = null; status.current = null; return(efsl.SaveLogStatusServices(status)); } catch (Exception e) { e.SaveErrorMethod(String.Format("WriteLogStatusServices(id_service={0}, start={1})", id_service, start), _blog); return(-1); } }
/// <summary> /// Добавить или править /// </summary> /// <param name="LogStatusServices"></param> /// <returns></returns> public int SaveLogStatusServices(LogStatusServices LogStatusServices) { LogStatusServices dbEntry; try { LogStatusServices lss = context.LogStatusServices.Where(s => s.service == LogStatusServices.service).FirstOrDefault(); if (lss == null) { dbEntry = new LogStatusServices() { id = LogStatusServices.id, service = LogStatusServices.service, start = LogStatusServices.start, execution = LogStatusServices.execution, current = LogStatusServices.current, max = LogStatusServices.max, min = LogStatusServices.min }; context.LogStatusServices.Add(dbEntry); } else { int id = lss.id; dbEntry = context.LogStatusServices.Find(id); if (dbEntry != null) { dbEntry.service = LogStatusServices.service; dbEntry.start = LogStatusServices.start; dbEntry.execution = LogStatusServices.execution; dbEntry.current = LogStatusServices.current; dbEntry.max = LogStatusServices.max; dbEntry.min = LogStatusServices.min; } } context.SaveChanges(); } catch (Exception e) { e.SaveErrorMethod(String.Format("SaveLogStatusServices(LogStatusServices={0})", LogStatusServices.GetFieldsAndValue()), blog); return(-1); } return(dbEntry.id); }
/// <summary> /// Удалить /// </summary> /// <param name="id"></param> /// <returns></returns> public LogStatusServices DeleteLogStatusServices(int id) { LogStatusServices dbEntry = context.LogStatusServices.Find(id); if (dbEntry != null) { try { context.LogStatusServices.Remove(dbEntry); context.SaveChanges(); } catch (Exception e) { e.SaveErrorMethod(String.Format("DeleteLogStatusServices(id={0})", id), blog); return(null); } } return(dbEntry); }