public ActionResult Create(Core.Models.Category.CategoryItem category) { try { var user = (Core.Models.User.UserItem)(ViewBag.User); if (ModelState.IsValid) { category.Id = Guid.NewGuid(); category.UserId = user.Id; category.Row = 0; Core.Helpers.Category.CategoryHelper.Save(category); TempData["Message"] = Core.Strings.UpdateSuccess; } else { TempData["Error"] = Core.Helpers.BaseHelper.ModelStateErrors(ModelState); } } catch (Exception ex) { TempData["Error"] = ex.Message; } var categories = Core.Helpers.Category.CategoryHelper.GetAllCategoriesForList(); category.Categories = categories; return(View(category)); }
static private Core.Models.Category.CategoryItem Update(Core.Models.Category.CategoryItem category, DataModel.Entities db, DataModel.Category dbCategory) { dbCategory.Name = !string.IsNullOrEmpty(category.Name) && category.Name != dbCategory.Name ? category.Name : dbCategory.Name; dbCategory.Body = !string.IsNullOrEmpty(category.Body) && category.Body != dbCategory.Body ? category.Body : dbCategory.Body; dbCategory.ParentId = category.ParentId != null && category.ParentId != dbCategory.ParentId ? category.ParentId : dbCategory.ParentId; dbCategory.Type = category.Type != dbCategory.Type ? category.Type : dbCategory.Type; dbCategory.Status = category.Status != dbCategory.Status ? category.Status : dbCategory.Status; dbCategory.Language = category.Language != dbCategory.Language ? category.Language : dbCategory.Language; db.SaveChanges(); return(category); }
static private List <Core.Models.Category.CategoryItem> GetAllSubCategories(Core.Models.Category.CategoryItem parent, List <Core.Models.Category.CategoryItem> categories, int row) { row++; var lst = new List <Core.Models.Category.CategoryItem>(); var result = categories.Where(x => x.ParentId == parent.Id).ToList(); foreach (var r in result) { r.Categories = GetAllSubCategories(r, categories, row); lst.Add(r); } return(lst); }
public ActionResult Create() { try { var categories = Core.Helpers.Category.CategoryHelper.GetAllCategoriesForList(); var category = new Core.Models.Category.CategoryItem() { Categories = categories }; return(View(category)); } catch (Exception ex) { TempData["Error"] = ex.Message; } return(View()); }
static private Core.Models.Category.CategoryItem Create(Core.Models.Category.CategoryItem category, DataModel.Entities db) { var newCategory = new DataModel.Category() { Id = category.Id, Name = category.Name, Url = category.Url, Body = category.Body, ParentId = category.ParentId, Row = category.Row, UserId = category.UserId, Language = category.Language, Type = category.Type, Status = category.Status, Created = DateTime.Now }; db.Categories.Add(newCategory); db.SaveChanges(); return(category); }
static public Core.Models.Category.CategoryItem Save(Core.Models.Category.CategoryItem category) { using (var db = new DataModel.Entities()) { var result = (from i in db.Categories where i.Id == category.Id && i.Deleted == null select i).SingleOrDefault(); if (result == null) { var url = Core.Helpers.BaseHelper.ConvertToUrl(category.Name); category.Url = url; var row = 0; while ((from i in db.Categories where i.Url == category.Url select i).SingleOrDefault() != null) { row++; category.Url = $"{url}-{row}"; } return(Create(category, db)); } else { return(Update(category, db, result)); } } }
public ActionResult Update(Core.Models.Category.CategoryItem category) { try { if (ModelState.IsValid) { var cat = Core.Helpers.Category.CategoryHelper.Save(category); TempData["Message"] = Core.Strings.UpdateSuccess; } else { TempData["Message"] = Core.Helpers.BaseHelper.ModelStateErrors(ModelState); } } catch (Exception ex) { TempData["Error"] = ex.Message; } var categories = Core.Helpers.Category.CategoryHelper.GetAllCategoriesForList(); category.Categories = categories; return(View(category)); }
static private List <Core.Models.Category.CategoryItem> GetAllSubCategoriesList(Core.Models.Category.CategoryItem parent, List <Core.Models.Category.CategoryItem> categories, int row) { var lst = new List <Core.Models.Category.CategoryItem>(); row++; var result = categories.Where(x => x.ParentId == parent.Id).ToList(); foreach (var r in result) { var display = ""; for (int i = 0; i < row; i++) { display += "-"; } r.DisplayName = $"{display} {r.Name}"; r.CategoryRow = row; lst.Add(r); lst.AddRange(GetAllSubCategoriesList(r, categories, row)); } return(lst); }