public async Task <IActionResult> RegisterAccount(BankAccountViewModel bankAccount)
        {
            if (!ModelState.IsValid)
            {
                return(View(bankAccount));
            }
            if (!bankAccount.AlertEmail.EndsWith("@gmail.com", StringComparison.OrdinalIgnoreCase))
            {
                ModelState.AddModelError("", "Kindly provide a gmail account for your bank alert email");
                return(View(bankAccount));
            }
            var user = await GetCurrentUser();

            bool IsExists = _bankAccountService.RegisterBankAccountCheckIfExists
                                (bankAccount.AccountNumber, bankAccount.AppUserId);

            if (IsExists)
            {
                ModelState.AddModelError("", "This Account number has already been registered");
                return(View(bankAccount));
            }
            BankAccount account = new BankAccount()
            {
                AccountNumber = bankAccount.AccountNumber,
                AlertEmail    = bankAccount.AlertEmail,
                AppUserId     = bankAccount.AppUserId,
                BankName      = bankAccount.BankName
            };

            _bankAccountService.AddBankAccount(account);
            return(RedirectToAction("GoogleOAuth", "Email", new { accountNumber = account.AccountNumber, userId = account.AppUserId }));
        }
Example #2
0
        public IActionResult AddBankAccountAjax([FromBody] PostBankAccount model)
        {
            if (!_workContext.CurrentCustomer.IsRegistered())
            {
                return(Unauthorized());
            }

            if (!_workContext.CurrentCustomer.IsInCustomerRole(RolesType.Administrators, true) && !_workContext.CurrentCustomer.IsInCustomerRole(RolesType.HaragAdmin, true))
            {
                return(Forbid());
            }

            if (model.Id != 0)
            {
                var response = _bankService.UpdateBankAccount(model);
                return(Json(new { data = response }));
            }

            var result = _bankService.AddBankAccount(model);

            return(Json(new { data = result }));
        }