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

60 lines
2.3 KiB
C#

using System;
using LCU.Library.Internal.IncentiveApiModels.Enums;
using LCU.Library.Internal.IncentiveApiModels.Common;
using Newtonsoft.Json;
namespace LCU.Library.Internal.IncentiveApiModels.Entities
{
public class DeadActivityDetail : IViewTransformable<DeadActivityDetail>
{
public int Id { get; set; }
public string? DnaPersonNbr { get; set; }
public string? AccountNumber { get; set; }
public string? SubAccountNumber { get; set; }
public string? AccountStatus { get; set; }
public string? AgreementNumber { get; set; }
public string? SubjectPersonNbr { get; set; }
public string? SubjectOrgNbr { get; set; }
public string? MemberName { get; set; }
public string? StationName { get; set; }
public string? BranchOrgNbr { get; set; }
public string? BranchOrgName { get; set; }
public double? AccountBalance { get; set; }
public double? AccountNewBalance { get; set; }
public int DeadActivityRef { get; set; }
[JsonIgnore]
public DeadActivity DeadActivity { get; set; }
public DateTime? DebtProtectionAddDate { get; set; }
public DateTime? DebtProtectionRemoveDate { get; set; }
public bool? IsDebtProtectionEligible { get; set; }
public bool IsGapInsuranceEligible { get; set; }
public DateTime? GapInsuranceAddDate { get; set; }
public DateTime? GapInsuranceRemoveDate { get; set; }
public DeadActivityDetail TransformForView()
{
if (DeadActivity == null || DeadActivity.Product == null || DeadActivity.Type == null)
{
return this;
}
if ((DeadActivity?.Product == Product.CreditCard || DeadActivity?.Product == Product.CreditCardBalanceTransfer)
&& DeadActivity?.Type == ActivityType.Referral)
{
AccountNumber = GetAccountNumber();
}
return this;
}
private string GetAccountNumber()
{
if (string.IsNullOrEmpty(AccountNumber) || AccountNumber.Length <= 4) return AccountNumber;
var lastDigits = AccountNumber.Substring(AccountNumber.Length - 4, 4);
var maskDigits = new string('X', AccountNumber.Length - 4);
return string.Concat(maskDigits, lastDigits);
}
}
}