public async Task <IActionResult> AddButtonAsync([FromBody] AddButtonRequestDto request)
        {
            var buttonBiz = new ButtonBiz();
            var entity    = await buttonBiz.AnyByCodeAsync(request.ButtonCode, request.MenuGuid);

            if (entity)
            {
                return(Failed(ErrorCode.UserData, "code重复"));
            }
            var result = await buttonBiz.InsertAsync(new ButtonModel
            {
                CreatedBy     = UserID,
                LastUpdatedBy = UserID,
                Enable        = request.Enable,
                ButtonGuid    = Guid.NewGuid().ToString("N"),
                ButtonName    = request.ButtonName,
                OrgGuid       = string.Empty,
                Sort          = request.Sort,
                MenuGuid      = request.MenuGuid,
                ButtonCode    = request.ButtonCode
            });

            if (!result)
            {
                return(Failed(ErrorCode.UserData, "修改失败"));
            }
            return(Success());
        }
        public async Task <IActionResult> GetButtonListAsync(string menuGuid)
        {
            var buttonBiz  = new ButtonBiz();
            var entityList = await buttonBiz.GetListAsync(menuGuid, enable : true);

            var resopnse = entityList.OrderByDescending(a => a.Sort).ThenBy(a => a.CreatedBy).Select(a => a.ToDto <GetButtonItemDto>());

            return(Success(resopnse));
        }
        public async Task <IActionResult> DeleteButtonAsync([FromBody] DeleteRequestDto request)
        {
            var buttonBiz = new ButtonBiz();
            var result    = await buttonBiz.DeleteAsync(request.Guid);

            if (!result)
            {
                return(Failed(ErrorCode.UserData, "删除失败"));
            }
            return(Success());
        }
Beispiel #4
0
        public async Task <IActionResult> GetLoginUserInfoAsync()
        {
            var account = await new ManagerAccountBiz().GetAsync(UserID);

            if (account == null)
            {
                return(Failed(ErrorCode.UserData, "找不到数据"));
            }
            var accessory = await new AccessoryBiz().GetAsync(account?.PortraitGuid);
            var response  = account.ToDto <GetLoginUserInfoResponseDto>();

            response.PortraitUrl = $"{accessory?.BasePath}{accessory?.RelativePath}";

            response.Roles = (await new AccountRoleBiz().GetListAsync(UserID)).ToArray();
            var roleRights = await new GrantRoleBiz().GetRoleRightAsync(response.Roles);
            //response.Menus = .Select(a => a.ToDto<MenuItemDto>()).ToArray();
            var menuBiz = new MenuBiz();
            IEnumerable <MenuModel> menus;

            if (account.IsSuper)
            {
                menus = await menuBiz.GetListAsync();
            }
            else
            {
                menus = await menuBiz.GetByGuidsAsync(roleRights.ToArray());
            }
            var buttonBiz = new ButtonBiz();
            IEnumerable <ButtonModel> buttons;

            if (account.IsSuper)
            {
                buttons = await buttonBiz.GetListAsync();
            }
            else
            {
                buttons = await buttonBiz.GetByGuidsAsync(roleRights.ToArray());
            }
            menus          = menus.OrderByDescending(a => a.Sort).ThenBy(a => a.CreatedBy);
            response.Menus = menus.GetTree(null, a => a.ParentGuid, a => a.MenuGuid, a => new MenuItemDto
            {
                MenuGuid   = a.MenuGuid,
                MenuName   = a.MenuName,
                Sort       = a.Sort,
                MenuClass  = a.MenuClass,
                MenuCode   = a.MenuCode,
                MenuUrl    = a.MenuUrl,
                ParentGuid = a.ParentGuid,
                Enable     = a.Enable,
                Buttons    = buttons.Where(s => s.MenuGuid == a.MenuGuid).Select(s => s.ButtonCode).ToArray()
            });

            return(Success(response));
        }
        public async Task <IActionResult> DisableEnableButtonAsync([FromBody] DisableEnableRequestDto request)
        {
            var buttonBiz = new ButtonBiz();
            var entity    = await buttonBiz.GetAsync(request.Guid);

            if (entity == null)
            {
                return(Failed(ErrorCode.UserData, "找不到数据"));
            }
            entity.LastUpdatedBy   = UserID;
            entity.LastUpdatedDate = DateTime.Now;
            entity.Enable          = request.Enable;
            var result = await buttonBiz.UpdateAsync(entity);

            if (!result)
            {
                return(Failed(ErrorCode.UserData, "修改失败"));
            }
            return(Success());
        }
        public async Task <IActionResult> GetMenuTree2Async([FromBody] GetMenuListRequestDto request)
        {
            var menuBiz    = new MenuBiz();
            var entityList = await menuBiz.GetListAsync();

            if (!string.IsNullOrWhiteSpace(request.Name))
            {
                entityList = entityList.Where(a => a.MenuName.Contains(request.Name));
            }
            entityList = entityList.OrderByDescending(a => a.Sort).ThenBy(a => a.CreatedBy);
            var buttonBiz  = new ButtonBiz();
            var buttonList = await buttonBiz.GetListAsync(enable : true);

            entityList = entityList.Union(buttonList.Select(a => new MenuModel
            {
                Enable     = true,
                MenuGuid   = a.ButtonGuid,
                MenuName   = a.ButtonName,
                Sort       = a.Sort,
                MenuClass  = null,
                MenuCode   = a.ButtonCode,
                MenuUrl    = null,
                ParentGuid = a.MenuGuid,
            }));

            var response = entityList.GetTree(null, a => a.ParentGuid, a => a.MenuGuid, a => new GetMenuTreeDto
            {
                Enable     = a.Enable,
                MenuGuid   = a.MenuGuid,
                MenuName   = a.MenuName,
                Sort       = a.Sort,
                MenuClass  = a.MenuClass,
                MenuCode   = a.MenuCode,
                MenuUrl    = a.MenuUrl,
                ParentGuid = a.ParentGuid,
            });

            return(Success(response));
        }