public ActionResult CreateAccount(BankAccountViewModel bankAccountViewModel) { if (ModelState.IsValid) { // Maybe use mapper here like this // Product product = Mapper.Map<ProductViewModel, Product>(productViewModel); BankAccount bankAccount = new BankAccount { Name = bankAccountViewModel.Name, Balance = bankAccountViewModel.Balance, Funds = new List<Fund>() }; // Note that EF automatically updates the object with the new ID after db insert. repo.InsertBankAccount(bankAccount); Fund whatsleft = new Fund { Name = "What's Left", Balance = bankAccountViewModel.Balance, BankAccountId = bankAccount.BankAccountId }; bankAccount.Funds.Add(whatsleft); repo.UpdateBankAccount(bankAccount); return RedirectToAction("Index"); } else { return View(bankAccountViewModel); } }
public ActionResult Create(CreateViewModel model) { if (ModelState.IsValid) { BankAccount bankAccount = new BankAccount { Name = model.Name, Balance = model.Balance }; bankAccountRepository.InsertBankAccount(bankAccount); Fund fund = new Fund { Name = "What's Left", Balance = bankAccount.Balance, BankAccountId = bankAccount.BankAccountId }; fundRepository.InsertFund(fund); return RedirectToAction("Index"); } else { return View(model); } }
public void UpdateBankAccount(BankAccount bankAccount) { BankAccount account = context.Accounts.Where(b => b.BankAccountId == bankAccount.BankAccountId).FirstOrDefault(); account.Name = bankAccount.Name; account.Balance = bankAccount.Balance; account.Funds = bankAccount.Funds; context.SaveChanges(); }
public EditViewModel(BankAccount account) { Id = account.BankAccountId; Name = account.Name; Balance = account.Balance; }
public void InsertBankAccount(BankAccount bankAccount) { context.Accounts.Add(bankAccount); context.SaveChanges(); }
public ActionResult Details(BankAccountViewModel model) { if (ModelState.IsValid) { BankAccount bankAccount = new BankAccount { BankAccountId = model.BankAccountId, Balance = model.Balance, Name = model.Name }; bankAccountRepository.UpdateBankAccount(bankAccount); User user = new User { UserId = model.UserId, NextPayDay = model.NextPayDay }; userRepository.UpdateUser(user); return RedirectToAction("Details", new { accountId = model.BankAccountId }); } else { return View(model); } }