public async Task <IActionResult> Add([Bind("Name,Life,Type,Variable,Cost,AccountNumber,Creditor,expenseTypes")] ExpenseAddVm expenseVm) { if (ModelState.IsValid) { string data = HttpContext.Session.GetString("User"); UserSessionModel userSession = JsonConvert.DeserializeObject <UserSessionModel>(data); var fk = await _context.tbl_users.Where(u => u.Id == userSession.Id).FirstOrDefaultAsync(); Expense newExpense = new Expense { FK = fk, Name = expenseVm.Name, AccountNumber = expenseVm.AccountNumber, Life = expenseVm.Life, Type = expenseVm.Type, Variable = expenseVm.Variable, Cost = expenseVm.Cost, Creditor = expenseVm.Creditor }; _context.Add(newExpense); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(expenseVm)); }
// GET: Expense/Add public IActionResult Add() { if (IsLoggedIn()) { ExpenseAddVm expenseAddVm = new ExpenseAddVm(); return(View(expenseAddVm)); } return(RedirectToAction("Login", "User")); }
// GET: Expense/Edit/5 public async Task <IActionResult> Edit(long?id) { if (IsLoggedIn()) { Expense currentExpense = await _context.tbl_expenses.Where(e => e.Id == id).FirstOrDefaultAsync(); ExpenseAddVm expenseAddVm = new ExpenseAddVm { Name = currentExpense.Name, Life = currentExpense.Life, Type = currentExpense.Type, Variable = currentExpense.Variable, Cost = currentExpense.Cost, AccountNumber = currentExpense.AccountNumber, Creditor = currentExpense.Creditor }; return(View(expenseAddVm)); } return(RedirectToAction("Login", "User")); }
public async Task <IActionResult> Edit(long id, [Bind("Name,Life,Type,Variable,Cost,AccountNumber,Creditor,expenseTypes")] ExpenseAddVm expenseVm) { if (ModelState.IsValid) { Expense updatedExpense = await _context.tbl_expenses.Where(e => e.Id == id).FirstOrDefaultAsync(); // Copy over properties updatedExpense.Name = expenseVm.Name; updatedExpense.Life = expenseVm.Life; updatedExpense.Type = expenseVm.Type; updatedExpense.Variable = expenseVm.Variable; updatedExpense.Cost = expenseVm.Cost; updatedExpense.AccountNumber = expenseVm.AccountNumber; updatedExpense.Creditor = expenseVm.Creditor; try { _context.Update(updatedExpense); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ExpenseExists(updatedExpense.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(expenseVm)); }