| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using Quadarax.Foundation.Core.Business.Processor.Enums;
- using Quadarax.Foundation.Core.Business.Processor.Task;
- // ReSharper disable InconsistentNaming
- namespace Quadarax.Foundation.Core.Business.Processor.Exceptons
- {
- public sealed class InvalidTaskStateException : Exception
- {
- #region *** Constants ***
- private const string CS_EXCC_ENT_TYPE = "EntityType";
- private const string CS_EXCC_ENT_ID = "EntityIdentifier";
- private const string CS_EXCC_ENT_CURRENT_STA = "CurrentStatus";
- private const string CS_EXCC_ENT_NEW_STA = "NewStatus";
- private const string CS_EXCC_ENT_EXCEPTED_STA = "ExpectedStatus";
- #endregion
- #region *** Constructors ***
- public InvalidTaskStateException(ITaskItem task, ProcessStatusEnum newStatus, params ProcessStatusEnum[] expectedStatuses) : base(GetMessage(task, newStatus, expectedStatuses))
- {
- Data.Add(CS_EXCC_ENT_TYPE, task.GetType());
- Data.Add(CS_EXCC_ENT_ID, task.Id);
- Data.Add(CS_EXCC_ENT_CURRENT_STA, task.Status);
- Data.Add(CS_EXCC_ENT_NEW_STA, newStatus);
- Data.Add(CS_EXCC_ENT_EXCEPTED_STA, expectedStatuses);
-
- }
- public InvalidTaskStateException(ITaskItem task, params ProcessStatusEnum[] expectedStatuses) : base(
- GetMessage(task, expectedStatuses))
- {
- Data.Add(CS_EXCC_ENT_TYPE, task.GetType());
- Data.Add(CS_EXCC_ENT_ID, task.Id);
- Data.Add(CS_EXCC_ENT_CURRENT_STA, task.Status);
- Data.Add(CS_EXCC_ENT_NEW_STA, string.Empty);
- Data.Add(CS_EXCC_ENT_EXCEPTED_STA, expectedStatuses);
- }
- #endregion
- #region *** Private Operations ***
- private static string GetMessage(ITaskItem task, ProcessStatusEnum newStatus,
- params ProcessStatusEnum[] expectedStatuses)
- {
- return $"Invalid task state exception. Task: {task.GetType()}[{task.Id}] is in state {task.Status} and cannot be changed to {newStatus}. Expected states: {string.Join(", ", expectedStatuses)}";
- }
- private static string GetMessage(ITaskItem task, params ProcessStatusEnum[] expectedStatuses)
- {
- return $"Invalid task state exception. Task: {task.GetType()}[{task.Id}] is in state {task.Status}. Expected states: {string.Join(", ", expectedStatuses)}";
- }
- #endregion
- }
- }
|