TaskValidityExpiredException.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Quadarax.Foundation.Core.Business.Processor.Task;
  2. namespace Quadarax.Foundation.Core.Business.Processor.Exceptons
  3. {
  4. public class TaskValidityExpiredException : Exception
  5. {
  6. #region *** Constants ***
  7. private const string CS_EXCC_ENT_TYPE = "EntityType";
  8. private const string CS_EXCC_ENT_ID = "EntityIdentifier";
  9. private const string CS_EXCC_ENT_CURRENT_STA = "CurrentStatus";
  10. private const string CS_EXCC_ENT_VALFROM = "ValidFrom";
  11. private const string CS_EXCC_ENT_VALTO = "ValidTo";
  12. #endregion
  13. #region *** Constructors ***
  14. public TaskValidityExpiredException(ITaskItem task) : base(GetMessage(task))
  15. {
  16. Data.Add(CS_EXCC_ENT_TYPE, task.GetType());
  17. Data.Add(CS_EXCC_ENT_ID, task.Id);
  18. Data.Add(CS_EXCC_ENT_CURRENT_STA, task.Status);
  19. Data.Add(CS_EXCC_ENT_VALFROM, task.ProcessingValidFrom);
  20. Data.Add(CS_EXCC_ENT_VALTO, task.ProcessingValidTo.GetValueOrDefault(DateTime.MaxValue));
  21. }
  22. #endregion
  23. #region *** Private Operations ***
  24. private static string GetMessage(ITaskItem task)
  25. {
  26. return
  27. $"Task validity expired. Task: {task.GetType()}[{task.Id}] is out of validity ({task.ProcessingValidFrom} - {task.ProcessingValidTo.GetValueOrDefault(DateTime.MaxValue)})";
  28. }
  29. #endregion
  30. }
  31. }