/// <summary>
 /// 分配菜单功能
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public async Task <OperationResponse> AllocationMenuFunctionAsync(MenuFunctionInputDto input)
 {
     input.NotNull(nameof(input));
     return(await _menuFunctionRepository.UnitOfWork.UseTranAsync(async() =>
     {
         await _menuFunctionRepository.DeleteBatchAsync(x => x.MenuId == input.Id);
         await _menuFunctionRepository.InsertAsync(input.FuncIds.Select(x => new MenuFunctionEntity
         {
             MenuId = input.Id,
             FunctionId = x
         }).ToArray());
         return new OperationResponse(ResultMessage.AllocationSucces, OperationEnumType.Success);
     }));
 }
        //private MenuFunction[] ToMenuFunctions(MenuFunctionInputDto menuFunctionInputDto)
        //{
        //    menuFunctionInputDto.NotNull(nameof(menuFunctionInputDto));
        //    menuFunctionInputDto.FunctionIds.NotNull("FunctionIds");
        //    return menuFunctionInputDto.FunctionIds.Select(f => new MenuFunction
        //    {

        //        FunctionId = f,
        //        MenuId = menuFunctionInputDto.MenuId
        //    }).ToArray();
        //}

        /// <summary>
        /// 批量删除功能菜单
        /// </summary>
        /// <param name="menuFunctionInputDto">输入DTO</param>
        /// <returns></returns>
        public async Task <OperationResponse> BatchDeleteMenuFunctionAsync(MenuFunctionInputDto menuFunctionInputDto)
        {
            menuFunctionInputDto.NotNull(nameof(menuFunctionInputDto));

            menuFunctionInputDto.FunctionIds.NotNull("FunctionIds");
            var functionIds = menuFunctionInputDto.FunctionIds;
            var menuId      = menuFunctionInputDto.MenuId;

            return(await _unitOfWork.UseTranAsync(async() =>
            {
                var count = await _menuFunctionRepository.DeleteBatchAsync(o => o.MenuId == menuId && functionIds.Contains(o.FunctionId));
                if (count <= 0)
                {
                    return new OperationResponse(OperationResponseType.NoChanged.ToDescription(), OperationResponseType.NoChanged);
                }
                return OperationResponse.Ok($"{count}个菜单功能删除成功!!!!");
            }));
        }
 public async Task <AjaxResult> BatchDeleteMenuFunctionAsync([FromBody] MenuFunctionInputDto menuFunctionInputDto)
 {
     return((await _menuFunctionServices.BatchDeleteMenuFunctionAsync(menuFunctionInputDto)).ToAjaxResult());
 }
Example #4
0
 public async Task <AjaxResult> AllocationMenuFunctionAsync(MenuFunctionInputDto input)
 {
     return((await _menuFunctionContract.AllocationMenuFunctionAsync(input)).ToAjaxResult());
 }