Exemple #1
0
        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());
        }
Exemple #2
0
        public ActionResult EditMenu(int id)
        {
            Menu   vMenu = _menuService.GetById(id);
            MenuIM dto   = _mapper.Map <MenuIM>(vMenu);

            return(PartialView("_MenuEdit", dto));
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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());
        }
Exemple #6
0
        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));
        }
Exemple #8
0
        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");
        }
Exemple #9
0
        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");
        }