Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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));
        }