public async Task <IActionResult> PutMenu([FromRoute] int id, [FromBody] MenuIM menu) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != menu.Id) { return(BadRequest()); } var model = await _context.Menus.FindAsync(id); model = _mapper.Map(menu, model); _context.Entry(model).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MenuExists(id)) { return(NotFound()); } else { throw; } } return(Ok()); }
public ActionResult EditMenu(int id) { Menu vMenu = _menuService.GetById(id); MenuIM dto = _mapper.Map <MenuIM>(vMenu); return(PartialView("_MenuEdit", dto)); }
public ActionResult CreateMenu(int categoryId, int parentId) { var vMenu = new Menu(); MenuIM newDto = _mapper.Map <MenuIM>(vMenu); newDto.CategoryId = (int)categoryId; newDto.ParentId = parentId; return(PartialView("_MenuCreate", newDto)); }
public async Task <ActionResult> EditMenu(int id) { Menu vMenu = await _context.Menus.FindAsync(id); //_menuService.GetById(id); MenuIM dto = _mapper.Map <MenuIM>(vMenu); return(PartialView("_MenuEdit", dto)); }
public async Task <IActionResult> PostMenu([FromBody] MenuIM menu) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var model = _mapper.Map <Menu>(menu); _context.Menus.Add(model); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <JsonResult> EditMenu(MenuIM menu) { if (ModelState.IsValid) { Menu vMenu = _mapper.Map <Menu>(menu); Menu orgMenu = await _context.Menus.FindAsync(vMenu.Id); orgMenu.Title = vMenu.Title; orgMenu.MenuType = vMenu.MenuType; orgMenu.Active = vMenu.Active; orgMenu.Action = vMenu.Action; orgMenu.Area = vMenu.Area; orgMenu.CategoryId = vMenu.CategoryId; orgMenu.Controller = vMenu.Controller; orgMenu.Iconfont = vMenu.Iconfont; orgMenu.ParentId = vMenu.ParentId; orgMenu.Url = vMenu.Url; orgMenu.UpdatedBy = User.Identity.Name; orgMenu.UpdatedDate = DateTime.Now; _menuService.Update(orgMenu); var cacheKey = "MENU"; _cache.Invalidate(cacheKey); // _menuService.ResetSort(orgMenu.CategoryId); // var menus = _menuService.GetLevelMenusByCategoryId(vMenu.CategoryId); AR.Id = vMenu.CategoryId; //// using a Model //string html = view.Render("Emails/Test", new Product("Apple")); //// using a Dictionary<string, object> //var viewData = new Dictionary<string, object>(); //viewData["Name"] = "123456"; //string html = view.Render("Emails/Test", viewData); //AR.Data = await _viewRenderService.RenderToStringAsync("_MenuList", menus); AR.SetSuccess("已成功保存菜单"); return(Json(AR)); } AR.Setfailure("编辑菜单失败"); return(Json(AR)); }
public JsonResult EditMenu(MenuIM menu) { if (ModelState.IsValid) { Menu vMenu = _mapper.Map <Menu>(menu); Menu orgMenu = _menuService.GetById(vMenu.Id); orgMenu.Title = vMenu.Title; orgMenu.MenuType = vMenu.MenuType; orgMenu.Active = vMenu.Active; orgMenu.Action = vMenu.Action; orgMenu.Area = vMenu.Area; orgMenu.CategoryId = vMenu.CategoryId; orgMenu.Controller = vMenu.Controller; orgMenu.Iconfont = vMenu.Iconfont; orgMenu.ParentId = vMenu.ParentId; orgMenu.Url = vMenu.Url; orgMenu.UpdatedBy = Site.CurrentUserName; orgMenu.UpdatedDate = DateTime.Now; _menuService.Update(orgMenu); // _menuService.ResetSort(orgMenu.CategoryId); _cacheService.Invalidate("Menu"); var menus = _menuService.GetMenusByCategoryId(vMenu.CategoryId); AR.Id = vMenu.CategoryId; AR.Data = RenderPartialViewToString("_MenuList", menus); AR.SetSuccess("已成功保存菜单"); return(Json(AR, JsonRequestBehavior.DenyGet)); } AR.Setfailure("编辑菜单失败"); return(Json(AR, JsonRequestBehavior.DenyGet)); }
public JsonResult CreateMenu(MenuIM menu) { if (ModelState.IsValid) { var vMenu = _mapper.Map <Menu>(menu); var parentMenu = _menuService.GetById(vMenu.ParentId.Value); vMenu.LayoutLevel = parentMenu.LayoutLevel + 1; vMenu.CreatedBy = Site.CurrentUserName; vMenu.CreatedDate = DateTime.Now; //自动添加通用操作 if (vMenu.CategoryId == SettingsManager.Menu.BackMenuCId && vMenu.MenuType == MenuType.PAGE) { vMenu.ChildMenus.Add(new Menu { Title = "添加", Controller = vMenu.Controller, Action = "Add", Area = vMenu.Area, MenuType = MenuType.ACTION, CategoryId = vMenu.CategoryId, LayoutLevel = vMenu.LayoutLevel + 1, CreatedBy = Site.CurrentUserName, CreatedDate = DateTime.Now, }); vMenu.ChildMenus.Add(new Menu { Title = "编辑", Controller = vMenu.Controller, Action = "Edit", Area = vMenu.Area, MenuType = MenuType.ACTION, CategoryId = vMenu.CategoryId, LayoutLevel = vMenu.LayoutLevel + 1, CreatedBy = Site.CurrentUserName, CreatedDate = DateTime.Now, }); vMenu.ChildMenus.Add(new Menu { Title = "显示/隐藏", Controller = vMenu.Controller, Action = "IsActive", Area = vMenu.Area, MenuType = MenuType.ACTION, CategoryId = vMenu.CategoryId, LayoutLevel = vMenu.LayoutLevel + 1, CreatedBy = Site.CurrentUserName, CreatedDate = DateTime.Now, }); vMenu.ChildMenus.Add(new Menu { Title = "删除", Controller = vMenu.Controller, Action = "Delete", Area = vMenu.Area, MenuType = MenuType.ACTION, CategoryId = vMenu.CategoryId, LayoutLevel = vMenu.LayoutLevel + 1, CreatedBy = Site.CurrentUserName, CreatedDate = DateTime.Now, }); vMenu.ChildMenus.Add(new Menu { Title = "分页设置", Controller = vMenu.Controller, Action = "PageSizeSet", Area = vMenu.Area, MenuType = MenuType.ACTION, CategoryId = vMenu.CategoryId, LayoutLevel = vMenu.LayoutLevel + 1, // ParentId = result, CreatedBy = Site.CurrentUserName, CreatedDate = DateTime.Now, }); } var result = _menuService.Create(vMenu); //_menuService.CreateAndSort(vMenu); _menuService.ResetSort(menu.CategoryId); var menus = _menuService.GetLevelMenusByCategoryId(vMenu.CategoryId); AR.Id = menu.CategoryId; //AR.Data = ViewComponent("MenuList", new { categoryId = menu.CategoryId }); //await _viewRenderService.RenderToStringAsync("Admin/Menu/_MenuList", menus); AR.SetSuccess("已成功新增菜单"); return(Json(AR)); } AR.Setfailure("编辑菜单失败"); return(Json(AR)); // return RedirectToAction("Index"); }
public async Task <JsonResult> CreateMenu(MenuIM menu) { if (ModelState.IsValid) { var vMenu = _mapper.Map <Menu>(menu); if (vMenu.ParentId > 0) { var parentMenu = await _context.Menus.FindAsync(vMenu.ParentId.Value); vMenu.LayoutLevel = parentMenu.LayoutLevel + 1; } else { vMenu.LayoutLevel = 0; vMenu.ParentId = null; } vMenu.CreatedBy = User.Identity.Name; vMenu.CreatedDate = DateTime.Now; //自动添加通用操作 if (vMenu.CategoryId == SettingsManager.Menu.BackMenuCId && vMenu.MenuType == (short)MenuType.PAGE) { vMenu.InverseParent.Add(new Menu { Title = "编辑", Controller = vMenu.Controller, Action = "Edit", Area = vMenu.Area, MenuType = (short)MenuType.PAGE, CategoryId = vMenu.CategoryId, LayoutLevel = vMenu.LayoutLevel + 1, CreatedBy = User.Identity.Name, CreatedDate = DateTime.Now, }); vMenu.InverseParent.Add(new Menu { Title = "显示/隐藏", Controller = vMenu.Controller, Action = "IsLock", Area = vMenu.Area, MenuType = (short)MenuType.ACTION, CategoryId = vMenu.CategoryId, LayoutLevel = vMenu.LayoutLevel + 1, CreatedBy = User.Identity.Name, CreatedDate = DateTime.Now, }); vMenu.InverseParent.Add(new Menu { Title = "删除", Controller = vMenu.Controller, Action = "Delete", Area = vMenu.Area, MenuType = (short)MenuType.ACTION, CategoryId = vMenu.CategoryId, LayoutLevel = vMenu.LayoutLevel + 1, CreatedBy = User.Identity.Name, CreatedDate = DateTime.Now, }); vMenu.InverseParent.Add(new Menu { Title = "批量删除", Controller = vMenu.Controller, Action = "DeleteMulti", Area = vMenu.Area, MenuType = (short)MenuType.ACTION, CategoryId = vMenu.CategoryId, LayoutLevel = vMenu.LayoutLevel + 1, CreatedBy = User.Identity.Name, CreatedDate = DateTime.Now, }); vMenu.InverseParent.Add(new Menu { Title = "拷贝", Controller = vMenu.Controller, Action = "Copy", Area = vMenu.Area, MenuType = (short)MenuType.ACTION, CategoryId = vMenu.CategoryId, LayoutLevel = vMenu.LayoutLevel + 1, CreatedBy = User.Identity.Name, CreatedDate = DateTime.Now, }); } var result = _context.Add(vMenu); await _context.SaveChangesAsync(); //_menuService.Create(vMenu); //_menuService.CreateAndSort(vMenu); // _menuService.ResetSort(menu.CategoryId); // var menus = _menuService.GetLevelMenusByCategoryId(vMenu.CategoryId); AR.Id = menu.CategoryId; //AR.Data = ViewComponent("MenuList", new { categoryId = menu.CategoryId }); //await _viewRenderService.RenderToStringAsync("Admin/Menu/_MenuList", menus); var cacheKey = "MENU"; _cache.Invalidate(cacheKey); AR.SetSuccess("已成功新增菜单"); return(Json(AR)); } AR.Setfailure("编辑菜单失败"); return(Json(AR)); // return RedirectToAction("Index"); }