public async Task <IActionResult> Edit(int id, SupportedBankVM supportedBank)
        {
            if (!ModelState.IsValid)
            {
                return(View(supportedBank));
            }

            try
            {
                if (supportedBank.Password != _adminPassword)
                {
                    supportedBank.HasPassword = false;
                    supportedBank.Error       = "Enter valid admin password";
                    return(View(supportedBank));
                }
                await _supportedBankService.UpdateSupportedBankAsync(id,
                                                                     supportedBank.Name);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e)
            {
                return(View("~/Views/Shared/Error.cshtml", new ErrorViewModel(e.Message)));
            }
        }
        public IActionResult Create(string password)
        {
            SupportedBankVM supportedBankVM = new SupportedBankVM();

            supportedBankVM.HasPassword = password == _adminPassword;
            supportedBankVM.Password    = password;
            supportedBankVM.Error       = supportedBankVM.HasPassword ? "" : "Enter valid admin password";

            return(View(supportedBankVM));
        }
        // GET: supportedBanks/Delete/5
        public async Task <IActionResult> Delete(string password, int?id)
        {
            if (id == null)
            {
                return(View("~/Views/Shared/Error.cshtml", new ErrorViewModel("Id not found")));
            }

            SupportedBankDTO supportedBankDTO = await _supportedBankService.GetSupportedBankByIdAsync(id.Value);

            SupportedBankVM supportedBankVM = new SupportedBankVM(supportedBankDTO);

            supportedBankVM.HasPassword = password == _adminPassword;
            supportedBankVM.Password    = password;
            supportedBankVM.Error       = supportedBankVM.HasPassword ? "" : "Enter valid admin password";
            return(View(supportedBankVM));
        }
        public async Task <IActionResult> Create(SupportedBankVM supportedBank)
        {
            try
            {
                if (supportedBank.Password != _adminPassword)
                {
                    return(RedirectToAction(nameof(Index)));
                }
                await _supportedBankService.CreateSupportedBankAsync(supportedBank.Name);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e)
            {
                return(View("~/Views/Shared/Error.cshtml", new ErrorViewModel(e.Message)));
            }
        }
        // GET: supportedBanks/Edit/5
        public async Task <IActionResult> Edit(string password, int?id)
        {
            try
            {
                SupportedBankDTO supportedBankDTO = await _supportedBankService.GetSupportedBankByIdAsync(id.Value);

                SupportedBankVM supportedBankVM = new SupportedBankVM(supportedBankDTO);
                supportedBankVM.HasPassword = password == _adminPassword;
                supportedBankVM.Password    = password;
                supportedBankVM.Error       = supportedBankVM.HasPassword ? "" : "Enter valid admin password";

                return(View(supportedBankVM));
            }
            catch (Exception e)
            {
                return(View("~/Views/Shared/Error.cshtml", new ErrorViewModel(e.Message)));
            }
        }