public ActionResult _MakePayment(int id)
        {
            var vm = new MakePaymentVM();

            var cust = _customerService.GetCustomer(id);

            if (!DoesCustomerHaveAccounts(id))
            {
                vm.IsError      = true;
                vm.ErrorMessage = "Payments can only be collected on Customers with existing Accounts";
            }
            else
            {
                var rolledTransactions =
                    _paymentService.GetRolledTransactions(id).Where(s => s.Amount != 0).OrderBy(s => s.BillCycle.Date);
                vm = new MakePaymentVM
                {
                    CustomerId = id,
                    PreferredPaymentSourceId = cust.PreferredPaymentSourceId,
                    Balance            = _transactionsService.GetBalanceForCustomer(id),
                    RolledTransactions =
                        AutoMapperSetup.MapList <PaymentService.RolledTransaction, RolledTransactionVM>(
                            rolledTransactions).ToList(),
                    CreditedAccountId = cust.CustomerAccounts.Min(c => c.CustomerAccountId),
                    CustomerAccounts  = cust.CustomerAccounts
                };
            }
            return(PartialView(vm));
        }