public BAEditFVModel RenderBaFormViewModel(int partnerId) { try { var partner = Context.Partners.SingleOrDefault(x => x.Id == partnerId && !x.Deleted); if (partner == null) { throw new Exception("Bank account not found. "); } var viewModel = new BAEditFVModel { Partners = Context.Partners.Where(x => (x.Id == partnerId || x.ParentId == partnerId) && !x.Deleted).ToList(), Partner = partner, Countries = Context.Countries.ToList(), States = Context.States.Where(x => x.CountryId == 231).ToList(), Cities = Context.Cities.Where(x => x.StateId == 3930).ToList(), Status = StatusType.Status.Active, AccountType = AccountType.TypeName.Checkings }; return(viewModel); } catch (Exception ex) { throw new Exception(ex.Message + "Bank account not found. "); } }
public void SaveBankAccount(BAEditFVModel editViewModel, string action) { try { var current = Table.SingleOrDefault(c => c.AccountNumber == editViewModel.AccountNumber || c.RoutingNumber == editViewModel.RoutingNumber || c.FedTax == editViewModel.FedTax || c.Ssn == editViewModel.Ssn || c.NickName == editViewModel.NickName.Trim()); if (action == "Edit") { var model = Table.SingleOrDefault(c => c.Id == editViewModel.Id && !c.Deleted); if (model == null) { throw new Exception("Bank account not found, check entered values. "); } if (current != null) { if (!current.Deleted && current.Id != editViewModel.Id) { throw new Exception("Bank account already exists. "); } } { Mapper.Map(editViewModel, model); Edit(model); } } else { if (current != null) { if (!current.Deleted) { throw new Exception("Bank account already exists. "); } } var modelNew = Mapper.Map <BAEditFVModel, BankAccount>(editViewModel); Add(modelNew); } } catch (Exception ex) { throw new Exception(ex.Message + "Please check entered values. "); } }
public ActionResult Create(BAEditFVModel bankAccount) { try { if (!ModelState.IsValid) { ViewBag.Error = "Model not valid, please check the entered values. "; return(View(_bAccountRepository.RenderBaFormViewModel(bankAccount.PartnerId))); } _bAccountRepository.SaveBankAccount(bankAccount, "Create"); return(RedirectToAction("Details", "Partners", new { id = bankAccount.PartnerId })); } catch (Exception ex) { ViewBag.Error = ex.Message; return(View(_bAccountRepository.RenderBaFormViewModel(bankAccount.PartnerId))); } }