コード例 #1
0
        public async Task ApplyPaymentToBills(PaySetupx paySetupx)
        {
            List <Bill> bills = (await _billDataService.GetBills())
                                .Where(b => b.UserName == _userName && b.Balance > 0)
                                .ToList();
            decimal amount = paySetupx.PaymentAmount;

            foreach (var bill in bills)
            {
                decimal balance = bill.Balance;
                Bill    Bill    = new Bill();
                Bill = bill;
                if (amount >= balance)
                {
                    amount      -= balance;
                    Bill.Balance = 0;
                    Bill.Closed  = true;
                }
                else
                {
                    Bill.Balance -= amount;
                    amount        = 0;
                }

                await _billDataService.UpdateBill(Bill);
            }
        }
コード例 #2
0
        public async Task UpdatePaymentInfo(PaySetupx paySetupx)
        {
            PaySetup.CreditCardNumber = paySetupx.CreditCardNumber;
            PaySetup.ExpDate          = paySetupx.ExpDate;


            await _paySetupDataService.UpdatePaySetup(PaySetup);
        }
コード例 #3
0
        public async Task ApplyPayment(PaySetupx paySetupx)
        {
            // update credit card info on file
            await UpdatePaymentInfo(paySetupx);

            // create charge record
            await AddCharge(paySetupx);

            // update open balance on bills
            await ApplyPaymentToBills(paySetupx);
        }
コード例 #4
0
 public async Task AddCharge(PaySetupx paySetupx)
 {
     var Charge = new Charge
     {
         UserName         = _userName,
         Date             = DateTime.Now,
         CreditCardNumber = paySetupx.CreditCardNumber,
         ExpDate          = paySetupx.ExpDate,
         PaymentAmount    = paySetupx.PaymentAmount
     };
     await _chargeDataService.AddCharge(Charge);
 }