87 lines
3.2 KiB
C#
87 lines
3.2 KiB
C#
using LCU.Library.Internal.IncentiveApiModels.Entities;
|
|
using LCU.Library.Internal.IncentiveApiModels.Enums;
|
|
|
|
namespace LCU.API.Internal.Operations.IncentiveApi.Models.Action;
|
|
|
|
public class ActionCreditCardPersonalRow : IActionFileObject
|
|
{
|
|
public string BookedDate { get; set; }
|
|
public string MemberFirstName { get; set; }
|
|
public string MemberLastName { get; set; }
|
|
public string AppID { get; set; }
|
|
public string Principal { get; set; }
|
|
public string ProdDetailFirstName { get; set; }
|
|
public string ProdDetailLastName { get; set; }
|
|
public string ProdDetailEmail { get; set; }
|
|
public string ProdDetailEmployeeNum { get; set; }
|
|
public string IncentiveEarnedEmail { get; set; }
|
|
public string ProductShortName { get; set; }
|
|
|
|
public Activity CreateActivity(AppUser appUser)
|
|
{
|
|
var homeDept = appUser.FindHomeDepartment();
|
|
return new Activity()
|
|
{
|
|
Product = Product.CreditCard,
|
|
Type = ActivityType.Sale,
|
|
State = ActivityState.Accepted,
|
|
SourceSystem = SystemType.Action,
|
|
SourceCreated = DateTime.Parse(BookedDate),
|
|
Accepted = DateTime.Parse(BookedDate).Date.AddHours(12),
|
|
SourceId = AppID,
|
|
Detail = new ActivityDetail()
|
|
{
|
|
MemberName = MemberFirstName + " " + MemberLastName,
|
|
AccountBalance = IActionFileObject.ParseMoneyDouble(Principal),
|
|
AccountStatus = ProductShortName
|
|
},
|
|
AppUserId = appUser.Id,
|
|
EmployeeEmail = appUser.AdEmail,
|
|
EmployeeId = appUser.EmployeeId,
|
|
DepartmentId = homeDept.DepartmentId
|
|
};
|
|
}
|
|
|
|
public DeadActivity CreateDeadActivity(DeadActivityReason reasonCode, string note, string employeeEmail = null, string employeeId = null)
|
|
{
|
|
return new DeadActivity(AppID, SystemType.Action, reasonCode, note)
|
|
{
|
|
Product = Product.CreditCard,
|
|
Type = ActivityType.Sale,
|
|
State = ActivityState.Accepted,
|
|
SourceSystem = SystemType.Action,
|
|
SourceCreated = DateTime.Parse(BookedDate),
|
|
Accepted = DateTime.Parse(BookedDate).Date.AddHours(12),
|
|
SourceId = AppID,
|
|
DeadDetail = new DeadActivityDetail()
|
|
{
|
|
MemberName = MemberFirstName + " " + MemberLastName,
|
|
AccountBalance = IActionFileObject.ParseMoneyDouble(Principal),
|
|
AccountStatus = ProductShortName
|
|
},
|
|
EmployeeEmail = employeeEmail,
|
|
EmployeeId = employeeId,
|
|
};
|
|
}
|
|
|
|
public string GetEmployeeEmail()
|
|
{
|
|
return string.IsNullOrWhiteSpace(IncentiveEarnedEmail) ? null : IncentiveEarnedEmail.Trim();
|
|
}
|
|
|
|
public string GetLoanOfficerEmail()
|
|
{
|
|
return string.IsNullOrWhiteSpace(ProdDetailEmail) ? null : ProdDetailEmail.Trim();
|
|
}
|
|
|
|
public string GetLoanOfficerEmailByName()
|
|
{
|
|
if (string.IsNullOrWhiteSpace(ProdDetailFirstName) || string.IsNullOrWhiteSpace(ProdDetailLastName))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return $"{ProdDetailFirstName.Trim()}{ProdDetailLastName.Trim()}@landmarkcu.com";
|
|
}
|
|
}
|