Exemplo n.º 1
0
        /// <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;
        }
Exemplo n.º 2
0
        /// <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;
        }
Exemplo n.º 3
0
        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);
            }
        }