/// <summary> /// Froms the category edit model. /// </summary> /// <param name="model">The model.</param> /// <returns>New Category</returns> public static Category CategoryEditModelToCategory(CategoryEditModel model) { var category = new Category { CategoryId = model.CategoryId, Title = model.Title, Username = model.Username }; return category; }
/// <summary> /// Categories to category edit model. /// </summary> /// <param name="category">The category.</param> /// <param name="userName">Name of the user.</param> /// <returns>A CategoryEditModel</returns> public static CategoryEditModel CategoryToCategoryEditModel(Category category, string userName) { CategoryEditModel model = new CategoryEditModel { CategoryId = category.CategoryId, Title = category.Title, Username = userName }; return model; }
public async Task<ActionResult> EditCategory(CategoryEditModel model) { var category = ForumMapping.CategoryEditModelToCategory(model); category.Username = User.Identity.Name; if (ModelState.IsValid) { if (model.New) { var nameAlreadyExists = await db.Categories.AnyAsync(c => c.Title == model.Title); if (nameAlreadyExists) { ModelState.AddModelError("Title", "A Category with that name already exists"); return View(model); } db.Categories.Add(category); } else { db.Entry(category).State = EntityState.Modified; } await db.SaveChangesAsync(); return RedirectToAction("Index", new { categoryId = model.CategoryId }); } else { if (model.Title == null || model.Title.Length <= 0) { ModelState.AddModelError("", "Please enter a Title."); } return View(model); } }