using System.Collections.Generic; using LCU.Library.Internal.IncentiveApiModels.Enums; namespace LCU.Library.Internal.IncentiveApiModels.Entities { public class ActivityStateDetail { private ActivityStateDetail(ActivityState state) { State = state; } public ActivityState State { get; } public static readonly ActivityStateDetail Created = new ActivityStateDetail(ActivityState.Created); public static readonly ActivityStateDetail Accepted = new ActivityStateDetail(ActivityState.Accepted); public static readonly ActivityStateDetail Rejected = new ActivityStateDetail(ActivityState.Rejected); public static readonly ActivityStateDetail Transferred = new ActivityStateDetail(ActivityState.Transferred); public static readonly ActivityStateDetail ManualReview = new ActivityStateDetail(ActivityState.ManualReview); public static readonly ActivityStateDetail PendingReferral = new ActivityStateDetail(ActivityState.PendingReferral); public static readonly ActivityStateDetail PendingTransfer = new ActivityStateDetail(ActivityState.PendingTransfer); public static readonly List ActivityStateDetails = new List() { Created, Accepted, Rejected, Transferred, ManualReview, PendingReferral, PendingTransfer }; public static readonly List ActivityStatesEligibleForTransfer = new List() { Accepted, ManualReview, PendingReferral }; public static ActivityStateDetail DetailsForActivityState(ActivityState state) { return ActivityStateDetails.Find(x => x.State == state); } } }