Error.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System;
  2. using System.Text;
  3. using Quadarax.Foundation.Core.Exceptions;
  4. namespace Quadarax.Foundation.Core.Data
  5. {
  6. public class Error : IError
  7. {
  8. #region *** Properties ***
  9. public string Message { get; }
  10. public int Code { get; }
  11. public ErrorLevelEnum Level { get; }
  12. public DateTime Timestamp { get; }
  13. #endregion
  14. #region *** Constructors ***
  15. public Error(string message, int code, ErrorLevelEnum level, DateTime? timestamp = null)
  16. {
  17. Message = message;
  18. Code = code;
  19. Level = level;
  20. Timestamp = timestamp ?? DateTime.Now;
  21. }
  22. public Error(Exception exception)
  23. {
  24. if (exception==null)
  25. throw new ArgumentNullException(nameof(exception));
  26. Message = exception.Message;
  27. Code = exception.GetCode();
  28. Timestamp = DateTime.Now;
  29. }
  30. #endregion
  31. #region *** Operations ***
  32. public override string ToString()
  33. {
  34. var sb = new StringBuilder();
  35. sb.Append("Error");
  36. if (Code != 0)
  37. sb.Append("[").Append(Code).Append("]");
  38. sb.Append(":").Append(Message);
  39. return sb.ToString();
  40. }
  41. #endregion
  42. }
  43. }