Пример #1
0
        /// <summary>
        /// 设置角色菜单
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <SetRoleMenuOutput> SetRoleMenu(SetRoleMenuInput input)
        {
            // 用户角色操作
            List <RoleMenuInfo> roleMenuList = new List <RoleMenuInfo>();

            foreach (var id in input.MenuIdList)
            {
                // 防止重复数据
                if (!roleMenuList.Exists(it => it.MenuId == id))
                {
                    roleMenuList.Add(new RoleMenuInfo
                    {
                        MenuId = id,
                        RoleId = input.RoleId
                    });
                }
            }
            // 删除用户当前角色
            await _dbContext.Deleteable <RoleMenuInfo>().Where(f => f.RoleId == input.RoleId).ExecuteCommandAsync();

            // 添加用户角色
            if (roleMenuList.Count > 0)
            {
                await _dbContext.Insertable(roleMenuList).ExecuteCommandAsync();
            }

            return(new SetRoleMenuOutput {
            });
        }
        public async Task <ApiResult> SetMenuAsync(SetRoleMenuInput setRoleMenuInput)
        {
            var allUserMenus = await GetListAsync(d => d.IsPass);

            // allUserRoles.Where(d => d.UserId == setUserRoleInput.UserId && setUserRoleInput.RoleIds.Contains(d.RoleId));
            List <R_Role_Menu> list = new List <R_Role_Menu>();

            foreach (var item in setRoleMenuInput.MenuIds)
            {
                var model = allUserMenus.Where(d => d.RoleId == setRoleMenuInput.RoleId && d.MenuId == item);
                if (model == null)
                {
                    var r_User_Menu = new R_Role_Menu()
                    {
                        RoleId = setRoleMenuInput.RoleId, MenuId = item, IsPass = true, CreateTime = DateTime.Now
                    };
                    list.Add(r_User_Menu);
                    //add
                }
            }
            await AddListAsync(list);

            return(new ApiResult());
        }
Пример #3
0
 public async Task <ApiResult> SetMenu(SetRoleMenuInput setRoleMenuInput)
 {
     return(await _r_Role_MenuService.SetMenuAsync(setRoleMenuInput));
 }
Пример #4
0
 public async Task <SetRoleMenuOutput> SetRoleMenu(SetRoleMenuInput input)
 {
     return(await _roleBusiness.SetRoleMenu(input));
 }