コード例 #1
0
        public ActionResult MenuPageEdit(int menuid, int pageid)
        {
            WebSysMenuPage MenuPage = sysMenuManager.GetMenuPageById(menuid, pageid);

            ViewBag.MenuPage = MenuPage;
            return(View("~/WebManager/Views/WebSystem/MenuPageEdit.cshtml"));
        }
コード例 #2
0
        public AjaxResult <Object> SaveMenuPage(WebSysMenuPage model)
        {
            if (model == null)
            {
                return(new AjaxResult <Object>("数据无效"));
            }
            if (string.IsNullOrEmpty(model.PageName))
            {
                return(new AjaxResult <Object>("请输入页面名称"));
            }
            if (string.IsNullOrEmpty(model.PageViewname))
            {
                return(new AjaxResult <Object>("请输入显示名称"));
            }
            if (model.PageUrl == null)
            {
                model.PageUrl = "";
            }
            DateTime dtNow = DateTime.Now;
            var      ent   = db.WebSysMenuPage.FirstOrDefault(m => m.PageId == model.PageId);
            int      r     = 0;

            if (ent == null)
            {
                ent            = Newtonsoft.Json.JsonConvert.DeserializeObject <WebSysMenuPage>(Newtonsoft.Json.JsonConvert.SerializeObject(model));
                ent.MainStatus = 0;
                ent.CreateTime = dtNow;
                ent.UpdateTime = dtNow;
                db.WebSysMenuPage.Add(ent);
                r += db.SaveChanges();
            }
            else
            {
                ent.PageName      = model.PageName;
                ent.PageBtnname   = model.PageBtnname;
                ent.PageParamters = model.PageParamters;
                ent.PageStatus    = model.PageStatus;
                ent.PageType      = model.PageType;
                ent.PageUrl       = model.PageUrl;
                ent.PageViewname  = model.PageViewname;
                ent.UpdateTime    = dtNow;
                r += db.SaveChanges();
            }
            if (r <= 0)
            {
                return(new AjaxResult <Object>("更新失败"));
            }
            return(new AjaxResult <Object>("更新成功!", 0));
        }
コード例 #3
0
        public int MakeMenu2(List <MenuItemAttribute> allMenus)
        {
            int r = 0;

            //先进行排序
            allMenus = allMenus.OrderBy(m => m.IsMain).ToList();

            using (TransactionScope trans = new TransactionScope())
            {
                var           DBTopMenu   = db.WebSysMenu.Where(m => m.MenuPid == 0).ToList();
                List <string> ModuleNames = allMenus.Select(m => m.ModuleName).Distinct().ToList();
                foreach (var item in ModuleNames)
                {
                    var dbModule = DBTopMenu.FirstOrDefault(m => m.MenuName == item);
                    if (dbModule == null)
                    {
                        dbModule = new WebSysMenu()
                        {
                            CreateTime    = DateTime.Now,
                            IndexCode     = "",
                            MenuIcon      = "cogs",
                            MenuItempages = "",
                            MenuName      = item,
                            MenuPid       = 0,
                            MenuSort      = 0,
                            MenuStatus    = 1,
                            MenuUrl       = "",
                            UpdateTime    = DateTime.Now,
                        };
                        db.WebSysMenu.Add(dbModule);
                        r += db.SaveChanges();
                        dbModule.IndexCode = dbModule.MenuId.ToString("00000");
                        r += db.SaveChanges();
                    }
                }
                var DBAllMenus = db.WebSysMenu.ToList();
                var DBAllPages = db.WebSysMenuPage.ToList();
                foreach (var item in allMenus)
                {
                    var topMenu = DBAllMenus.Where(m => m.MenuName == item.ModuleName).FirstOrDefault();
                    var dbMenu  = DBAllMenus.FirstOrDefault(m => m.MenuUrl == item.Url);
                    if (dbMenu == null)
                    {
                        dbMenu = new WebSysMenu()
                        {
                            CreateTime    = DateTime.Now,
                            IndexCode     = "",
                            MenuIcon      = "",
                            MenuItempages = "",
                            MenuName      = item.IsMain == 1 ? item.MainName : item.SubName,
                            MenuPid       = topMenu.MenuId,
                            MenuSort      = 0,
                            MenuStatus    = 1,
                            MenuUrl       = item.Url,
                            UpdateTime    = DateTime.Now,
                        };
                        db.WebSysMenu.Add(dbMenu);
                    }
                    else
                    {
                        dbMenu.MenuName   = item.MainName;
                        dbMenu.MenuPid    = topMenu.MenuId;
                        dbMenu.UpdateTime = DateTime.Now;
                    }
                    r += db.SaveChanges();
                    dbMenu.IndexCode = topMenu.IndexCode + dbMenu.MenuId.ToString("00000");
                    r += db.SaveChanges();

                    foreach (var itemSub in item.SubPages)
                    {
                        var    itemPage    = DBAllPages.Where(m => m.PageUrl == itemSub.Url).FirstOrDefault();
                        string itemSubName = itemSub.IsMain == 1 ? itemSub.MainName : itemSub.SubName;
                        if (itemPage == null)
                        {
                            itemPage = new WebSysMenuPage()
                            {
                                CreateTime    = DateTime.Now,
                                MainStatus    = itemSub.IsMain == 1 ? 1 : 0,
                                MenuId        = dbMenu.MenuId,
                                PageBtnname   = itemSubName,
                                PageName      = itemSubName,
                                PageParamters = "",
                                PageStatus    = 1,
                                PageType      = itemSub.ReturnType == "JsonResult" ? 2 : 1,
                                PageUrl       = itemSub.Url,
                                PageViewname  = itemSubName,
                                UpdateTime    = DateTime.Now,
                            };
                            db.WebSysMenuPage.Add(itemPage);
                        }
                        else
                        {
                            itemPage.CreateTime   = DateTime.Now;
                            itemPage.MainStatus   = itemSub.IsMain == 1 ? 1 : 0;
                            itemPage.MenuId       = dbMenu.MenuId;
                            itemPage.PageBtnname  = itemSubName;
                            itemPage.PageName     = itemSubName;
                            itemPage.PageType     = itemSub.ReturnType == "JsonResult" ? 2 : 1;
                            itemPage.PageViewname = itemSubName;
                            itemPage.UpdateTime   = DateTime.Now;
                        }
                        r += db.SaveChanges();
                    }
                }
                trans.Complete();
                return(r);
            }
        }
コード例 #4
0
        private WebSysMenu SaveMenu(WebSysMenu entity, out int r)
        {
            r = 0;
            DateTime dtNow = DateTime.Now;
            var      old   = db.WebSysMenu.FirstOrDefault(m => m.MenuId == entity.MenuId);

            if (old == null)
            {
                old            = Newtonsoft.Json.JsonConvert.DeserializeObject <WebSysMenu>(Newtonsoft.Json.JsonConvert.SerializeObject(entity));
                old.CreateTime = dtNow;
                old.UpdateTime = dtNow;
                db.WebSysMenu.Add(old);
                r += db.SaveChanges();
            }
            else
            {
                old.MenuName      = entity.MenuName;
                old.MenuPid       = entity.MenuPid;
                old.MenuIcon      = entity.MenuIcon;
                old.MenuUrl       = entity.MenuUrl;
                old.MenuStatus    = entity.MenuStatus;
                old.MenuItempages = "";
                old.UpdateTime    = dtNow;
                old.MenuSort      = entity.MenuSort;
                r += db.SaveChanges();
            }
            string pIndexCode = "";

            if (entity.MenuPid != 0)
            {
                var pMenu = db.WebSysMenu.FirstOrDefault(m => m.MenuId == old.MenuPid);
                if (pMenu != null)
                {
                    pIndexCode = pMenu.IndexCode;
                }
            }
            old.IndexCode = pIndexCode + old.MenuId.ToString("00000");
            if (!string.IsNullOrWhiteSpace(entity.IndexCode))
            {
                old.IndexCode = entity.IndexCode;
            }
            r += db.SaveChanges();
            if (old.MenuPid != 0)
            {
                var menuPage = db.WebSysMenuPage.FirstOrDefault(m => m.MainStatus == 1 && m.MenuId == old.MenuId);
                if (menuPage == null)
                {
                    menuPage = new WebSysMenuPage()
                    {
                        CreateTime    = dtNow,
                        MainStatus    = 1,
                        MenuId        = old.MenuId,
                        PageBtnname   = old.MenuName,
                        PageName      = old.MenuName,
                        PageParamters = "",
                        PageStatus    = 1,
                        PageType      = 1,
                        PageUrl       = old.MenuUrl,
                        PageViewname  = old.MenuName,
                        UpdateTime    = dtNow,
                    };
                    db.WebSysMenuPage.Add(menuPage);
                    r += db.SaveChanges();
                }
                else
                {
                    menuPage.PageName     = old.MenuName;
                    menuPage.PageViewname = old.MenuName;
                    menuPage.PageUrl      = old.MenuUrl;
                    menuPage.UpdateTime   = dtNow;
                    r += db.SaveChanges();
                }
            }
            return(old);
        }
コード例 #5
0
        public JsonResult SaveMenuPage(WebSysMenuPage model)
        {
            var r = sysMenuManager.SaveMenuPage(model);

            return(Json(r));
        }