public ActionResult AccountsBalance()
        {
            //Redirect Based on Business Rules
            PaymentUtils.PrePageLoadRedirectUrlsAccountsBalance();

            AccountsBalanceHelper accountsBalanceRepo = new AccountsBalanceHelper();
            var model = accountsBalanceRepo.GetOwnerAssociationBalance();

            Session["AccountPaymentData"] = model.AccountList;
            return(View(model));
        }
        /// <summary>
        /// Payment Reminder Message
        /// </summary>
        /// <returns>View from </returns>
        // GET: Payments
        public ActionResult PaymentReminder()
        {
            AccountsBalanceHelper accountsBalanceHelper = new AccountsBalanceHelper();
            BlueGreenContext      bg = new BlueGreenContext();

            if (bg?.bxgOwner == null)
            {
                return(Redirect(UrlMapper.Map(SiteSettings.SignInPage.Url)));
            }

            if (bg.IsInstallmentPlan())
            {
                return(RedirectToActionPermanent("AccountsBalance"));
            }

            var model = accountsBalanceHelper.GetPaymentContentFromPaymentConfig(bg);

            return(View(model));
        }
        public ActionResult AccountsBalance(AccountViewModel account)
        {
            AccountsBalanceHelper accountsBalanceHelper = new AccountsBalanceHelper();

            try
            {
                if (!ModelState.IsValid || !accountsBalanceHelper.ValidateAccountData(account))
                {
                    throw new Exception();
                }

                Session.Add("AccountDetails", account);
                //Session["PaymentProjNo"] = account.GroupID;
                //Session["ProjectName"] = account.GroupTitle;
                //Session["TotalDue"] = account.UserPayInfoList.Select(x => x.PaymentAmount).Sum();

                //var accountData = accountsBalanceHelper.GetAccountInfoForProject(account.GroupID);
                //var accList = account.UserPayInfoList.Select<AccountBalanceInfo, AccountDetailsForACH>(x => GetAccountDetailsForACH(x, account.GroupID)).ToList();
                //Session["AccountList"] = accList;
                //Session["accNumList"] = accList.Select(x => x.accountNumber).ToList();
                //Session["PaymentPayments"] = accList.Select(x => x.paymentamount).ToList();
                //Session["ArdaCollections"] = account.UserPayInfoList.Select(x => !x.IsARDAAmount && x.ARDAAmount > 0 ? "Y" : "").ToList();

                var context = new SitecoreContext();
                PaymentsConfiguration getContextItem = context.GetItem <PaymentsConfiguration>(PaymentsConfiguration.PaymentsConfigurationItem);

                var pathInfo = getContextItem?.PaymentsOptionPage?.Url;
                PaymentUtils.RedirectToPage(pathInfo);
                ModelState.Clear();
                return(null);
            }
            catch (Exception ex)
            {
                ModelState.Clear();
                return(AccountsBalance());
            }
        }