Пример #1
0
 public void AddTest()
 {
     var model = new SysMenu
         {
             SysId = "cf9d52cc-0500-4829-9611-fd0056961234",
             MenuParentId = null,
             MenuOrder = 1,
             MenuName = "文件",
             MenuLink = "文件菜单链接1",
             MenuIcon = "文件菜单图标1",
             IsVisible = 1,
             IsLeaf = 0,
             RecordStatus = string.Format("创建时间:{0},创建人:{1}", DateTime.Now.ToString(CultureInfo.InvariantCulture), "jim")
         };
     Console.WriteLine(repository.Add(model));
 }
Пример #2
0
        /// <summary>
        /// 递归构建层次结构menu树结构
        /// </summary>
        /// <param name="menu"></param>
        /// <param name="allButtons"></param>
        /// <param name="result"></param>
        /// <returns></returns>
        private EasyUiTreeResult BuildTreeByLoop(SysMenu menu, IEnumerable<SysButton> allButtons, EasyUiTreeResult result)
        {
            if (menu.Children == null)
            {
                return GetButtonsByMenu(allButtons, menu);
            }

            List<EasyUiTreeResult> ts = new List<EasyUiTreeResult>();
            foreach (var m in menu.Children)
            {
                EasyUiTreeResult t = new EasyUiTreeResult()
                    {
                        id = m.SysId,
                        text = m.MenuName,
                        link = m.MenuLink,
                        recordStatus = m.RecordStatus,
                        @checked = m.isCheck,
                        visible = m.IsVisible != null && ((PrivilegeOperation)(m.IsVisible.Value)) == PrivilegeOperation.Enable ? "启用" : "禁用"

                    };
                ts.Add(BuildTreeByLoop(m, allButtons, t));
            }
            result.children = ts.ToArray();

            return result;
        }
Пример #3
0
        public JsonResult UpdateMenu(SysMenu menu)
        {
            if (!ModelState.IsValid) Json(false);

            if (menu.SysId == menu.MenuParentId) return Json(true);

            menu.RecordStatus = UpdateRecordMsg;

            if (menuService.MenuRepository.Update(menu) > 0)
            {
              /*  Logger.LogMsg(
                  LogLevel.Info,
                  string.Format("修改菜单:{0} 成功", menu.MenuName),
                  UserData.SysId,
                  UserData.UserName,
                  "RestApi->UpdateMenu", suggest: Util.DumpProperties(menu));*/
                return Json(true);
            }

               /* Logger.LogMsg(
                LogLevel.Error,
                string.Format("修改菜单:{0} 失败", menu.MenuName),
                UserData.SysId,
                UserData.UserName,
                "RestApi->UpdateMenu",
                "RestApi",
                "如果不报错是数据问题",
                suggest: Util.DumpProperties(menu));*/

            return Json(false);
        }
Пример #4
0
        public JsonResult AddMenu(SysMenu menu, bool creatButton, bool editButton, bool deletButton)
        {
            if (!ModelState.IsValid) Json(false);

            menu.RecordStatus = CreateRecordMsg;

            if (!string.IsNullOrEmpty(menu.MenuParentId) && menu.MenuParentId.Trim().Length > 0)
            {
                menu.SysId = Util.NewId();

                if (menuService.MenuRepository.AddOrModifyTrans(
                    menu,
                    buttonService.InitialAddModifyDelBtn(
                        menu.SysId,
                        CreateRecordMsg,
                        creatButton,
                        editButton,
                        deletButton),
                    menuService.MenuRepository.Add,
                    buttonService.ButtonRepository.Add) > 0)
                {
                   /* Logger.LogMsg(
                        LogLevel.Info,
                        string.Format(
                            "添加菜单:{0},creatButton:{1},editButton:{2},deletButton:{3} 成功",
                            menu.MenuName,
                            creatButton,
                            editButton,
                            deletButton),
                        UserData.SysId,
                        UserData.UserName,
                        "RestApi->AddMenu",
                        suggest: Util.DumpProperties(menu));*/

                    return Json(true);
                }
            }
            else
            {
                if (menuService.MenuRepository.Add(menu) > 0)
                {
                    /*Logger.LogMsg(
                        LogLevel.Info,
                        string.Format("添加菜单:{0} 成功", menu.MenuName),
                        UserData.SysId,
                        UserData.UserName,
                        "RestApi->AddMenu",
                        suggest: Util.DumpProperties(menu));*/
                    return Json(true);
                }
            }

               /* Logger.LogMsg(
                LogLevel.Error,
                string.Format(
                    "添加菜单:{0},creatButton:{1},editButton:{2},deletButton:{3} 失败",
                    menu.MenuName,
                    creatButton,
                    editButton,
                    deletButton),
                UserData.SysId,
                UserData.UserName,
                "RestApi->AddMenu",
                suggest: Util.DumpProperties(menu));*/

            return Json(false);
        }
Пример #5
0
        /// <summary>
        /// 根据menu获取menu下所有button
        /// </summary>
        /// <param name="allButtons"></param>
        /// <param name="menu"></param>
        /// <returns></returns>
        private EasyUiTreeResult GetButtonsByMenu(IEnumerable<SysButton> allButtons, SysMenu menu)
        {
            var bts = allButtons.Where(x => x.MenuId == menu.SysId);
            bts = bts.Where(x => x.IsVisible == (long)PrivilegeOperation.Enable);

            List<EasyUiTreeResult> buttons = new List<EasyUiTreeResult>();
            if (bts.Any())
            {
                #region 如果此菜单下有可用按钮,判断添加按钮可用或者不可用

                if (menu.Buttons != null)
                {
                    foreach (SysButton button in menu.Buttons)
                    {
                        if (button.IsVisible == (long)PrivilegeOperation.Enable)
                        {
                            EasyUiTreeResult buttonc = new EasyUiTreeResult()
                            {
                                id = button.SysId,
                                text = button.BtnName,
                                iconCls = button.BtnIcon,
                                @checked = true,
                                link = button.BtnFunction,
                                order = button.BtnOrder,
                                recordStatus = button.RecordStatus,
                            };

                            buttons.Add(buttonc);
                        }

                        bts = bts.Where(x => x.SysId != button.SysId);
                    }

                    foreach (SysButton button in bts)
                    {

                        EasyUiTreeResult buttonc = new EasyUiTreeResult()
                        {
                            id = button.SysId,
                            text = button.BtnName,
                            iconCls = button.BtnIcon,
                            @checked = false,
                            link = button.BtnFunction,
                            order = button.BtnOrder,
                            recordStatus = button.RecordStatus,
                        };
                        buttons.Add(buttonc);

                    }
                }
                #endregion

                #region 如果此菜单无有权限按钮,添加全部按钮

                else
                {
                    foreach (SysButton button in bts)
                    {
                        EasyUiTreeResult buttonc = new EasyUiTreeResult()
                        {
                            id = button.SysId,
                            text = button.BtnName,
                            iconCls = button.BtnIcon,
                            @checked = false,
                            link = button.BtnFunction,
                            order = button.BtnOrder,
                            recordStatus = button.RecordStatus
                        };
                        buttons.Add(buttonc);
                    }
                }

                #endregion
            }

            EasyUiTreeResult treeResult = new EasyUiTreeResult()
            {
                id = menu.SysId,
                text = menu.MenuName,
                link = menu.MenuLink,
                iconCls = menu.MenuIcon,
                @checked = menu.isCheck,
                children = new EasyUiTreeResult[0],
                visible = menu.IsVisible != null && ((PrivilegeOperation)(menu.IsVisible.Value)) == PrivilegeOperation.Enable ? "启用" : "禁用",
                buttons = buttons.ToArray()
            };

            return treeResult;
        }