public ActionResult CreateMainMenu( MainMenu model) { if (ModelState.IsValid) { model.IsMenu = true; try { if (_categoryService.GetCategory(model.Code) == null) { MainCategory mainCategory = _categoryService.GetMainCategories().Where(m => m.Code == (int)MainCategoryType.Menu).First(); model.ParentCategoryCode = mainCategory.Code; _categoryService.CreateCategory(model); _categoryService.SaveCategory(); return RedirectToAction("Index"); } else { ModelState.AddModelError("Code", ErrorMessages.CATEGORYCODE_EXIST); } } catch(Exception e) { ModelState.AddModelError("", e); } } return View(model); }
public IEnumerable<SubCategory> GetSubMenus(ApplicationUser user, MainMenu mainMenu) { List<SubCategory> subMenus = new List<SubCategory>(); if(null != user.CanAccessCategories) { // get all submenus of mainmenu List<SubCategory> subAllMenus = mainMenu.GetSubMenus().ToList(); // all submenus have grant permission to user List<SubMenu> permissionSubMenus = user.CanAccessCategories.ToList(); foreach (var subMenu in subAllMenus) { if (permissionSubMenus.Contains(subMenu)) { subMenus.Add(subMenu); } } } return subMenus; }