//Добавляет ошибку в ErrorsList private void LogToErrorsList(ErrorCommand er) { try { DateTime t = DateTime.Now; if (ErrorsRec != null) { ErrorsRec.AddNew(); ErrorsRec.Put("Description", er.Text); ErrorsRec.Put("Params", er.ToLog()); ErrorsRec.Put("Time", t); if (CommandLog != null) { ErrorsRec.Put("Command", CommandLog.Name); ErrorsRec.Put("Context", CommandLog.Context); } if (CommandSubLog != null) { ErrorsRec.Put("PeriodBegin", CommandSubLog.PeriodBegin); ErrorsRec.Put("PeriodEnd", CommandSubLog.PeriodEnd); } ErrorsRec.Update(); } LogErrorsSpecial(er, t, CommandLog); } catch (Exception ex) { AddErrorAboutHistory(ex); } }
//Закрывает историю, если надо то копирует новый файл public void CloseHistory() { try { if (SubHistory != null) { SubHistory.Dispose(); } if (History != null) { History.Dispose(); } if (SuperHistory != null) { SuperHistory.Dispose(); } if (ErrorsRec != null) { ErrorsRec.Dispose(); } if (HistoryDb != null) { HistoryDb.Dispose(); } SubHistory = null; History = null; SuperHistory = null; ErrorsRec = null; HistoryDb = null; } catch { } }
//Сохранение спписка ошибок public void CloseErrorsList() { if (GridErrorsCount != GridErrors.Count) { ErrorsRec.Dispose(); HistoryDb.Execute("DELETE * FROM ErrorsList"); ErrorsRec = new RecDao(HistoryDb, "SELECT * FROM ErrorsList ORDER BY Id"); foreach (var ge in GridErrors) { ge.ToRecordset(ErrorsRec); } ErrorsRec.MoveLast(); } State = State.Stopped; }
//Загрузка списка ошибок public void LoadErrorsList() { State = State.ErrorsList; GridErrors.Clear(); if (ErrorsRec != null && ErrorsRec.HasRows()) { ErrorsRec.MoveLast(); while (!ErrorsRec.BOF) { var ge = new GridError(ErrorsRec); GridErrors.Add(ge); ErrorsRec.MovePrevious(); } GridErrorsCount = GridErrors.Count; } else { GridErrorsCount = 0; } }