96 lines
3.9 KiB
C#
96 lines
3.9 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|