/// <summary> /// снять ошибку. состояние устанавливается в пред. состояние /// (ОК если других ошибок в списке нет) /// пример: получение котировки после приостанова потока котировок /// </summary> public void RemoveError(ServiceProcessState _state, string errorCode) { var errorWithCode = new ServiceProcessErrorWithCode { code = errorCode, error = _state }; errorCodes.TryRemove(errorWithCode, LockTimeout); var count = errorCodes.Count ?? 0; State = count == 0 ? ServiceProcessState.OK : errorCodes[count - 1].error; }
/// <summary> /// установить ошибку, добавить ее в список ошибок для возможности снять /// </summary> public void AddError(ServiceProcessState _state, string _lastError, DateTime _lastErrorOccured, string errorCode) { State = _state; var errorWithCode = new ServiceProcessErrorWithCode { code = errorCode, error = _state }; if (_state == ServiceProcessState.HasCriticalErrors || _state == ServiceProcessState.HasErrors || _state == ServiceProcessState.HasWarnings) { LastError = _lastError; LastErrorOccured = _lastErrorOccured; errorCodes.TryRemove(errorWithCode, LockTimeout); } }
/// <summary> /// снять ошибку. состояние устанавливается в пред. состояние /// (ОК если других ошибок в списке нет) /// пример: получение котировки после приостанова потока котировок /// </summary> public void RemoveError(ServiceProcessState _state, string errorCode) { var errorWithCode = new ServiceProcessErrorWithCode { code = errorCode, error = _state }; errorCodes.TryRemove(errorWithCode, LockTimeout); var count = errorCodes.Count ?? 0; State = count == 0 ? ServiceProcessState.OK : errorCodes[count - 1].error; }
/// <summary> /// установить ошибку, добавить ее в список ошибок для возможности снять /// </summary> public void AddError(ServiceProcessState _state, string _lastError, DateTime _lastErrorOccured, string errorCode) { State = _state; var errorWithCode = new ServiceProcessErrorWithCode { code = errorCode, error = _state }; if (_state == ServiceProcessState.HasCriticalErrors || _state == ServiceProcessState.HasErrors || _state == ServiceProcessState.HasWarnings) { LastError = _lastError; LastErrorOccured = _lastErrorOccured; errorCodes.TryRemove(errorWithCode, LockTimeout); } }