This commit is contained in:
Zeeshaun
2026-03-17 09:53:09 -05:00
parent cdcba54aa4
commit 1a0702a79a
590 changed files with 62058 additions and 0 deletions
@@ -0,0 +1,95 @@
using System;
using LCU.Library.Internal.IncentiveApiModels.Enums;
using LCU.Library.Internal.IncentiveApiModels.Common;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace LCU.Library.Internal.IncentiveApiModels.Entities
{
public class DeadActivity : Auditable, IViewTransformable<DeadActivity>
{
public int Id { get; set; }
public Guid AppUserId { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public DeadActivityReason Reason { get; set; }
public string ReasonNote { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public Product? Product { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public ActivityType? Type { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public SystemType? SourceSystem { get; set; }
public string? SourceId { get; set; }
public DateTime? SourceCreated { get; set; }
public DeadActivityDetail DeadDetail { get; set; }
public int? DepartmentId { get; set; }
public string? EmployeeId { get; set; }
public string? EmployeeEmail { get; set; }
public DateTime? Accepted { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public ActivityState? State { get; set; }
public int? LivingActivityId { get; set; }
public DeadActivity(Activity activity, DeadActivityReason reason, string note)
{
Accepted = activity.Accepted;
AppUserId = activity.AppUserId;
DeadDetail = new DeadActivityDetail
{
AccountBalance = activity.Detail.AccountBalance,
AccountNewBalance = activity.Detail.AccountNewBalance,
AccountNumber = activity.Detail.AccountNumber,
AccountStatus = activity.Detail.AccountStatus,
AgreementNumber = activity.Detail.AgreementNumber,
BranchOrgName = activity.Detail.BranchOrgName,
BranchOrgNbr = activity.Detail.BranchOrgNbr,
DnaPersonNbr = activity.Detail.DnaPersonNbr,
DebtProtectionAddDate = activity.Detail.DebtProtectionAddDate,
DebtProtectionRemoveDate = activity.Detail.DebtProtectionRemoveDate,
GapInsuranceAddDate = activity.Detail.GapInsuranceAddDate,
GapInsuranceRemoveDate = activity.Detail.GapInsuranceRemoveDate,
IsDebtProtectionEligible = activity.Detail.IsDebtProtectionEligible,
IsGapInsuranceEligible = activity.Detail.IsGapInsuranceEligible,
MemberName = activity.Detail.MemberName,
StationName = activity.Detail.StationName,
SubAccountNumber = activity.Detail.SubAccountNumber,
SubjectOrgNbr = activity.Detail.SubjectOrgNbr,
SubjectPersonNbr = activity.Detail.SubjectPersonNbr
};
DepartmentId = activity.DepartmentId < 0 ? null : activity.DepartmentId;
EmployeeId = activity.EmployeeId;
EmployeeEmail = activity.EmployeeEmail;
Product = activity.Product;
Reason = reason;
ReasonNote = note;
SourceCreated = activity.SourceCreated;
SourceId = activity.SourceId;
SourceSystem = activity.SourceSystem;
State = activity.State;
Type = activity.Type;
}
public DeadActivity(string sourceId, SystemType systemType, DeadActivityReason reason, string note)
{
Reason = reason;
ReasonNote = note;
SourceId = sourceId;
SourceSystem = systemType;
DeadDetail = new DeadActivityDetail()
{
DeadActivity = this
};
}
private DeadActivity()
{
}
public DeadActivity TransformForView()
{
DeadDetail?.TransformForView();
return this;
}
}
}