public static ReadAdvancePayRolloversResponse GetAdvancePayRolloverInfo(string memberAccountNumber, IAdvancePayEntities context) { var response = new ReadAdvancePayRolloversResponse { Payload = new List <AdvancePayRollover>() }; var rolloverRecords = context.Pro_AdvancePay_Rollover.Where(x => x.Acct.ToString() == memberAccountNumber); foreach (var record in rolloverRecords) { var rolloverStatus = GetLoanRolloverStatus(record); // If loan is not qualified for rollover, or processing, or the loan record is missing data, do not add it to the response. if (!rolloverStatus.HasValue || !record.Sfx.HasValue || !record.LoanFee.HasValue || !record.OrigBal.HasValue) { continue; } var rolloverInfo = new AdvancePayRollover { LoanSuffix = record.Sfx.Value, Status = record.Qualify == 1 ? RolloverStatus.Qualified : RolloverStatus.Processing, LoanQualificationDetails = new QualificationDetails { FinanceCharge = record.LoanFee.Value, OriginalLoanAmount = record.OrigBal.Value } }; response.Payload.Add(rolloverInfo); } return(response); }
public static void WriteAdvancePayRolloverRequest(RequestAdvancePayRolloverRequest request, IAdvancePayEntities context) { var rolloverInfo = context.Pro_AdvancePay_Rollover.Single( x => x.Acct.ToString() == request.MemberAccountNumber && x.Sfx == request.LoanAccount); var rolloverRequest = new Pro_AdvancePay_RollOver_Action { Acct = Convert.ToInt32(request.MemberAccountNumber), Sfx = request.LoanAccount, RespCode = rolloverInfo.RespCode, PostResult = "0", NewInserted = "Y" }; context.Pro_AdvancePay_RollOver_Action.Add(rolloverRequest); context.SaveChanges(); }
public static RolloverStatus?GetLoanRolloverStatus(string memberAccountNumber, int loanAccountNumber, IAdvancePayEntities context) { var memberAccountNumberInteger = Convert.ToInt32(memberAccountNumber); var loanInfo = context.Pro_AdvancePay_Rollover.Single(x => x.Acct.Value == memberAccountNumberInteger && x.Sfx.Value == loanAccountNumber); return(GetLoanRolloverStatus(loanInfo)); }