/// <summary> /// Indexes the specified error code. /// </summary> /// <param name="code">The code.</param> /// <param name="minor">The minor.</param> /// <param name="message">The message.</param> /// <returns>ActionResult.</returns> public ActionResult Index(int? code = null, string minor = null, string message = null) { var exceptionInfo = new ExceptionInfo { Code = new ExceptionCode { Major = ((ExceptionCode.MajorCode?)code) ?? ExceptionCode.MajorCode.Undefined, Minor = minor }, Message = message }; return View(ErrorView, exceptionInfo); }
/// <summary> /// To the exception information. /// </summary> /// <param name="exception">The exception.</param> /// <param name="key">The key.</param> /// <param name="level">The level.</param> /// <returns>ExceptionInfo.</returns> private static ExceptionInfo ToExceptionInfo(Exception exception, Guid? key, ExceptionInfo.ExceptionCriticality level = ExceptionInfo.ExceptionCriticality.Error) { if (exception != null) { var baseException = exception as BaseException; if (key == null) { key = baseException != null ? baseException.Key : Guid.NewGuid(); } var operatorIdentifier = ContextHelper.CurrentCredential?.Key?.ToString(); var exceptionInfo = new ExceptionInfo { ExceptionType = exception.GetType()?.GetFullName(), Level = level, ServerIdentifier = EnvironmentCore.ServerName, ServiceIdentifier = EnvironmentCore.ProjectName, ServerHost = string.Format("{0} {1}", EnvironmentCore.LocalMachineHostName, EnvironmentCore.LocalMachineIpAddress), Message = exception.Message, Source = exception.Source, TargetSite = exception.TargetSite.SafeToString(), Code = baseException == null ? new ExceptionCode { Major = ExceptionCode.MajorCode.OperationFailure } : baseException.Code, StackTrace = exception.StackTrace, Data = baseException?.ReferenceData, Key = key, Scene = baseException?.Scene, OperatorCredential = baseException?.OperatorCredential ?? (ContextHelper.CurrentCredential) }; if (exception.InnerException != null) { exceptionInfo.InnerException = ToExceptionInfo(exception.InnerException, key); } return exceptionInfo; } return null; }
/// <summary> /// To the exception information. /// </summary> /// <param name="exception">The exception.</param> /// <param name="level">The level.</param> /// <param name="operatorIdentifier">The operator identifier.</param> /// <returns>ExceptionInfo.</returns> public static ExceptionInfo ToExceptionInfo(this Exception exception, ExceptionInfo.ExceptionCriticality level = ExceptionInfo.ExceptionCriticality.Error, string operatorIdentifier = null) { return ToExceptionInfo(exception, null); }
/// <summary> /// Fills the exit information. /// </summary> /// <param name="exception">The exception.</param> /// <param name="exitStamp">The exit stamp.</param> internal void FillExitInfo(ExceptionInfo exception = null, DateTime? exitStamp = null) { this.ExitStamp = exitStamp ?? DateTime.UtcNow; this.Exception = exception; }
/// <summary> /// Fills the exit information. /// </summary> /// <param name="exception">The exception.</param> /// <param name="exitStamp">The exit stamp.</param> /// <param name="appIdentifier">The application identifier.</param> /// <param name="serverIdentifier">The server identifier.</param> /// <param name="level">The level.</param> /// <param name="operatorIdentifier">The operator identifier.</param> internal void FillExitInfo(BaseException exception = null, DateTime? exitStamp = null, string appIdentifier = null, string serverIdentifier = null, ExceptionInfo.ExceptionCriticality level = ExceptionInfo.ExceptionCriticality.Error, string operatorIdentifier = null) { this.ExitStamp = exitStamp ?? DateTime.UtcNow; this.Exception = exception.ToExceptionInfo(appIdentifier, serverIdentifier, level, operatorIdentifier); }