TaskValidityExpiredException.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  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 $"Task validity expired. Task: {task.GetType()}[{task.Id}] is out of validity ({task.ProcessingValidFrom} - {task.ProcessingValidTo.GetValueOrDefault(DateTime.MaxValue)})";
  27. }
  28. #endregion
  29. }