public bool UpdatePaymentMade(PaymentMadeEdit model) { using (var context = new ApplicationDbContext()) { var paymentMadeEntity = context.PaymentsMade.Single(e => e.Id == model.Id && e.UserId == _userId); paymentMadeEntity.Id = model.Id; paymentMadeEntity.CategoryId = context.Categories.SingleOrDefault(c => c.Name == model.CategoryName && c.UserId == _userId).Id; paymentMadeEntity.MonthId = context.Months.SingleOrDefault(m => m.BeginDate.Month == model.PaymentDate.Month && m.BeginDate.Year == model.PaymentDate.Year && m.UserId == _userId) .Id; paymentMadeEntity.Amount = model.Amount; paymentMadeEntity.PaymentDate = model.PaymentDate; return(context.SaveChanges() == 1); } }
// GET: PaymentMade/Edit/{id} public ActionResult Edit(int id) { var service = CreatePaymentMadeService(); var paymentMadeDetail = service.GetPaymentMadeById(id); var categoryService = CreateCategoryService(); var categoryNames = categoryService.GetCategoryNames(); var monthService = CreateMonthService(); var monthId = monthService.GetMonthId(paymentMadeDetail.PaymentDate); var model = new PaymentMadeEdit { Id = paymentMadeDetail.Id, MonthId = monthId, CategoryName = paymentMadeDetail.CategoryName, Amount = paymentMadeDetail.Amount, PaymentDate = paymentMadeDetail.PaymentDate, CategoryEntityNames = categoryNames }; return(View(model)); }
public ActionResult Edit(int id, PaymentMadeEdit model) { if (!ModelState.IsValid) { return(View(model)); } if (model.Id != id) { ModelState.AddModelError("", "Id Mismatch"); return(View(model)); } var service = CreatePaymentMadeService(); if (service.UpdatePaymentMade(model)) { TempData["SaveResult"] = "Your payment was updated."; return(RedirectToAction("Transactions", "Month", new { id = model.MonthId })); } ModelState.AddModelError("", "Your payment could not be updated."); return(View(model)); }