public ActionResult Edit(CategoryModel model) { if(ModelState.IsValid) { long id = _service.SaveCategory(model); return RedirectToAction("view", "category", new { id = id }); } EditCategoryViewModel view = new EditCategoryViewModel { Category = model }; return View(view); }
public long SaveCategory(CategoryModel model) { CategoryRepository cRepo = new CategoryRepository(_dal); Category category = new Category { id = model.Id, name = model.Name.Escape().Trim() }; if(category.id == 0) { try { _dal.BeginTransaction(); long ret = cRepo.Insert(category); if (ret == 0) throw new Exception("Category was not inserted."); long id = cRepo.GetLastInsertId(); _dal.CommitTransaction(); return id; } catch(Exception ex) { _dal.RollbackTransaction(); log.Error(ex); throw; } } else { try { _dal.BeginTransaction(); long ret = cRepo.Update(category); if (ret == 0) throw new Exception("Category was not updated."); _dal.CommitTransaction(); return model.Id; } catch(Exception ex) { _dal.RollbackTransaction(); log.Error(ex); throw; } } }