Files
monorepo/LCU.API.Operations.IncentiveAPI/LCU.Library.Internal.IncentiveApiModels/Entities/ActivityStateDetail.cs
T
2026-03-17 09:53:09 -05:00

47 lines
1.8 KiB
C#

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<ActivityStateDetail> ActivityStateDetails = new List<ActivityStateDetail>()
{
Created,
Accepted,
Rejected,
Transferred,
ManualReview,
PendingReferral,
PendingTransfer
};
public static readonly List<ActivityStateDetail> ActivityStatesEligibleForTransfer = new List<ActivityStateDetail>()
{
Accepted,
ManualReview,
PendingReferral
};
public static ActivityStateDetail DetailsForActivityState(ActivityState state)
{
return ActivityStateDetails.Find(x => x.State == state);
}
}
}