Beispiel #1
0
        /// <summary>
        /// 通过Id获取菜单信息进行编辑或修改
        /// </summary>
        public async Task <GetMenuForEditOutput> GetMenuForEditAsync(NullableIdDto <int> input)
        {
            var output = new GetMenuForEditOutput();

            MenuEditDto          menuEditDto;
            List <DictionaryDto> result = AppConsts.StaticPermissions;

            if (input.Id.HasValue)
            {
                var entity = await _menuRepository.GetAsync(input.Id.Value);

                menuEditDto = entity.MapTo <MenuEditDto>();
                if (entity.RequiresAuthentication && !entity.RequiredPermissions.IsNullOrWhiteSpace() && !entity.Url.IsNullOrWhiteSpace())
                {
                    var filterName = $"{entity.RequiredPermissions}";
                    var ps         = await _permissionRepository.GetAllListAsync(c => c.Name.Contains(filterName));

                    result = ps.Select(c => new DictionaryDto()
                    {
                        DisplayName = c.DisplayName,
                        Name        = c.Name.Replace(filterName, string.Empty),
                        IsCheck     = true
                    }).ToList();
                    output.PermissionTypes = result;
                }
            }
            else
            {
                menuEditDto            = new MenuEditDto();
                output.PermissionTypes = result;
            }

            output.Menu = menuEditDto;
            return(output);
        }
Beispiel #2
0
        public async Task <IActionResult> DeleteRole([FromBody] MenuEditDto parm)
        {
            var model = _settingService.GetModelAsync(m => m.Id == parm.id).Result.data;

            model.MenuJson = parm.menu;
            return(Ok(await _settingService.UpdateAsync(model)));
        }
Beispiel #3
0
        /// <summary>
        /// 编辑菜单
        /// </summary>
        public virtual async Task UpdateMenuAsync(MenuEditDto input)
        {
            //TODO:更新前的逻辑判断,是否允许更新

            var entity = await _menuRepository.GetAsync(input.Id.Value);

            input.MapTo(entity);

            await _menuRepository.UpdateAsync(entity);
        }
Beispiel #4
0
        /// <summary>
        /// 新增菜单
        /// </summary>
        public virtual async Task <MenuEditDto> CreateMenuAsync(MenuEditDto input)
        {
            //TODO:新增前的逻辑判断,是否允许新增

            var entity = input.MapTo <Menu>();

            entity = await _menuRepository.InsertAsync(entity);

            return(entity.MapTo <MenuEditDto>());
        }
Beispiel #5
0
        /// <summary>
        /// 编辑菜单
        /// </summary>
        private async Task UpdateMenuAsync(MenuEditDto input)
        {
            if (input.Id != null)
            {
                var entity = await _menuRepository.GetAsync(input.Id.Value);

                input.MapTo(entity);
                await _menuRepository.UpdateAsync(entity);
            }
        }
Beispiel #6
0
        public async Task <ResultEntity> AddOrUpdateAsync(MenuEditDto menu)
        {
            var model  = Mapper.Map <Menu>(menu);
            var result = await _menuManager.AddOrUpdateAsync(model);

            if (result.Success)
            {
                await _unitOfWork.CommitAsync();
            }
            return(result);
        }
Beispiel #7
0
        public async Task UpdateMenuAsync(MenuEditDto input)
        {
            if (!input.Id.HasValue)
            {
                throw new UserFriendlyException("Key不能为空!");
            }

            var entity = await _menuManage.GetAsync(input.Id.Value);

            input.MapTo(entity);

            await _menuManage.EditAsync(entity);
        }
Beispiel #8
0
        public async Task <MenuEditDto> GetMenuForEditAsync(NullableIdDto <int> input)
        {
            MenuEditDto edit;

            if (input.Id.HasValue)
            {
                var entity = await _menuManage.GetAsync(input.Id.Value);

                edit = entity.MapTo <MenuEditDto>();
            }
            else
            {
                edit = new MenuEditDto();
            }

            return(edit);
        }
Beispiel #9
0
        public async Task <IActionResult> Edit(MenuEditDto menu)
        {
            var result = new ResultEntity();

            if (ModelState.IsValid)
            {
                menu.ParentId = menu.ParentId == 0 ? null : menu.ParentId;
                menu.SetCreateOrUpdateInfo(CurrentUser.UserId);
                result = await _menuAppService.AddOrUpdateAsync(menu);

                return(Json(result));
            }
            result.Message = ModelState.Values
                             .FirstOrDefault(a => a.ValidationState == ModelValidationState.Invalid)?.Errors.FirstOrDefault()
                             ?.ErrorMessage;

            return(Json(result));
        }
Beispiel #10
0
        /// <summary>
        /// 通过Id获取菜单信息进行编辑或修改
        /// </summary>
        public async Task <GetMenuForEditOutput> GetMenuForEditAsync(NullableIdDto <long> input)
        {
            var output = new GetMenuForEditOutput();

            MenuEditDto menuEditDto;

            if (input.Id.HasValue)
            {
                var entity = await _menuRepository.GetAsync(input.Id.Value);

                menuEditDto = entity.MapTo <MenuEditDto>();
            }
            else
            {
                menuEditDto = new MenuEditDto();
            }

            output.Menu = menuEditDto;
            return(output);
        }
Beispiel #11
0
        /// <summary>
        /// 新增菜单
        /// </summary>
        private async Task CreateMenuAsync(MenuEditDto input)
        {
            var entity = input.MapTo <Menu>();
            var code   = GenderLevelCode();

            if (!entity.ParentId.HasValue)
            {
                entity.LevelCode = code;
            }
            else
            {
                var parent = await _menuRepository.FirstOrDefaultAsync(c => c.Id == entity.ParentId.Value);

                entity.LevelCode = parent != null ? $"{parent.LevelCode}.{code}" : code;
            }
            if (!input.Id.HasValue)
            {
                await _menuRepository.InsertAsync(entity);
            }
        }
Beispiel #12
0
        public async Task CreateMenuAsync(MenuEditDto input)
        {
            var entity = input.MapTo <Menu>();

            entity.IsMenu   = true;
            entity.HasLevel = false;
            entity.Code     = Guid.NewGuid().ToString();
            var key = await _menuManage.InsertAsync(entity);

            entity.Layer = key + ",";

            if (entity.ParentId != null)
            {
                var parent = await _menuManage.GetAsync(entity.ParentId.Value);

                parent.HasLevel = true;
                await _menuManage.EditAsync(parent);

                entity.Layer = parent.Layer + key + ",";
            }
            await _menuManage.EditAsync(entity);
        }
 public async Task CreateMenuAsync(MenuEditDto input)
 {
     await _menuAppService.CreateMenuAsync(input);
 }
Beispiel #14
0
 public IActionResult EditMenu(MenuEditDto menuEditDto)
 {
     return(Edit <ControllerPermissions, MenuEditDto, MenuReturnDto>(menuEditDto));
 }