Example #1
0
        public async Task <ApiResult> ModifyAsync(MenuModifyInput menuModifyInput)
        {
            var menuModel = await GetModelAsync(d => d.NameCode.Equals(menuModifyInput.NameCode) && d.Id != menuModifyInput.Id);

            if (menuModel?.Id > 0)
            {
                throw new FriendlyException("已经存在该权限码了");
            }
            string parentIdList = ""; int layer = 0;

            if (menuModifyInput.ParentId > 0)
            {
                // 说明有父级  根据父级,查询对应的模型
                var model = await GetModelAsync(d => d.Id == menuModifyInput.ParentId);

                if (model.Id > 0)
                {
                    parentIdList = model.ParentIdList + menuModifyInput.Id + ",";
                    layer        = model.Layer + 1;
                }
            }
            else
            {
                parentIdList = "," + menuModifyInput.Id + ",";
                layer        = 1;
            }
            await UpdateAsync(d => new Menu()
            {
                Name         = menuModifyInput.Name,
                Url          = menuModifyInput.Url,
                ModifyTime   = menuModifyInput.ModifyTime,
                HttpMethod   = menuModifyInput.HttpMethod,
                Status       = menuModifyInput.Status,
                ParentId     = menuModifyInput.ParentId,
                Icon         = menuModifyInput.Icon,
                Sort         = menuModifyInput.Sort,
                BtnCodeIds   = menuModifyInput.BtnCodeIds,
                Layer        = layer,
                ParentIdList = parentIdList
            }, d => d.Id == menuModifyInput.Id);

            return(new ApiResult());
        }
 public async Task <ApiResult> Modify([FromBody] MenuModifyInput menuModifyInput)
 {
     return(await _menuService.ModifyAsync(menuModifyInput));
 }