public ActionResult Edit(CategoryViewModelForAddEditView category) { try { if (ModelState.IsValid) { categoryService.Edit(category); categoryService.SaveChanges(); return RedirectToAction("Index"); } } catch { ModelState.AddModelError("", "Unable to save changes"); } return View(category); }
/// <summary> /// получение категории со списком категорий (для выбора родительской) , для передачи его в форму добавления/редактирования /// </summary> /// <param name="Id">Id категории для редактирования</param> /// <returns></returns> public CategoryViewModelForAddEditView GetCategoryWithCategorys(int? Id) { CategoryViewModelForAddEditView categoryView = new CategoryViewModelForAddEditView(); if (Id == null) { //для возможности не выбирать категорию Category noCategory = new Category { CategoryId = 0, Name = "------------Отсутствует----------", Active = true, CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now }; var listCategorys = categoryRepository.Get().ToList<Category>(); listCategorys.Add(noCategory); categoryView.Categorys = new SelectList(listCategorys, "CategoryId", "Name", 0); } else { var category = categoryRepository.Get(Id.Value); if (category != null) { categoryView = ConvertToCategoryViewModelForAddEditView(category); //для возможности не выбирать категорию Category noCategory = new Category { CategoryId = 0, Name = "------------Отсутствует----------", Active = true, CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now }; var listCategorys = categoryRepository.Get().ToList<Category>(); listCategorys.Add(noCategory); listCategorys.Remove(category); categoryView.Categorys = new SelectList(listCategorys, "CategoryId", "Name", 0); } } return categoryView; }