public async Task <IActionResult> GetMenuModules()
        {
            try
            {
                var menuItmes = await work.GetRepository <Menu>().GetAllAsync();

                var authItems = await work.GetRepository <AuthItem>().GetAllAsync();

                if (menuItmes.Count > 0)
                {
                    List <MenuModuleGroup> menuGroups = new List <MenuModuleGroup>();
                    for (int i = 0; i < menuItmes.Count; i++)
                    {
                        var             m     = menuItmes[i];
                        MenuModuleGroup group = new MenuModuleGroup();
                        group.MenuCode = m.MenuCode;
                        group.MenuName = m.MenuName;
                        for (int j = 0; j < authItems.Count; j++)
                        {
                            var au = authItems[j];
                            if ((m.MenuAuth & au.AuthValue) == au.AuthValue)
                            {
                                group.Modules.Add(new MenuModule()
                                {
                                    Name = au.AuthName, Value = au.AuthValue
                                });
                            }
                        }
                        menuGroups.Add(group);
                    }
                    return(Ok(new ConsumptionResponse()
                    {
                        success = true, dynamicObj = menuGroups
                    }));
                }
                return(Ok(new ConsumptionResponse()
                {
                    success = true,
                }));
            }
            catch (Exception ex)
            {
                logger.LogError(ex, "");
                return(Ok(new ConsumptionResponse()
                {
                    success = false,
                    message = "获取菜单模块列表错误"
                }));
            }
        }
Пример #2
0
        /// <summary>
        /// 获取菜单列表模块
        /// </summary>
        /// <returns></returns>
        public async Task <ApiResponse> GetMenuModuleList()
        {
            try
            {
                var menuItems = await work.GetRepository <Menu>().GetAllAsync();

                var authItems = await work.GetRepository <AuthItem>().GetAllAsync();

                if (menuItems.Count > 0)
                {
                    List <MenuModuleGroup> menuGroups = new List <MenuModuleGroup>();
                    for (int i = 0; i < menuItems.Count; i++)
                    {
                        var             m     = menuItems[i];
                        MenuModuleGroup group = new MenuModuleGroup();
                        group.MenuCode = m.MenuCode;
                        group.MenuName = m.MenuName;
                        group.Modules  = new ObservableCollection <MenuModule>();
                        for (int j = 0; j < authItems.Count; j++)
                        {
                            var au = authItems[j];
                            if ((m.MenuAuth & au.AuthValue) == au.AuthValue)
                            {
                                group.Modules.Add(new MenuModule()
                                {
                                    Name  = au.AuthName,
                                    Value = au.AuthValue
                                });
                            }
                        }
                        menuGroups.Add(group);
                    }
                    return(new ApiResponse(200, menuGroups));
                }
                return(new ApiResponse(200, ""));
            }
            catch (Exception ex)
            {
                logger.LogError(ex, "");
                return(new ApiResponse(201, ""));
            }
        }