/// <summary>
        /// 查询所属角色所有用户
        /// </summary>
        /// <param name="input">查询条件</param>
        public async void GetUserRole(UserRoleInput input)
        {
            // 全部
            var result = from a in ABP_User.GetAll()
                         join r in ABP_UserRole.GetAll().Where(w => w.RoleId == input.RoleId) on a.Id equals r.UserId into g1
                         from g in g1.DefaultIfEmpty()
                         select new UserRole {
                UserId = a.Id, RoleId = g.RoleId, UserName = a.UserName
            };

            // 全部
            if (input.type == 1)
            {
            }
            // 是角色
            else if (input.type == 2)
            {
                result = result.Where(w => w.RoleId == input.RoleId);
            }
            // 不是角色
            else if (input.type == 3)
            {
                result = result.Where(w => w.RoleId == null);
            }

            input.UserName = input.UserName ?? "";
            // 开始查询
            result = result.Where(w => w.UserName.StartsWith(input.UserName));
            //
            var count = result.Count();
            var data  = await result.OrderBy(o => o.RoleId).PageBy(input)
                        .ToListAsync();

            var resultList = new PagedResultDto <UserRole>(count, data);
        }
示例#2
0
        public async Task <IHttpActionResult> removeRole([FromBody] UserRoleInput add)
        {
            #region /// 检查输入信息正确性
            if (!ModelState.IsValid)
            {
                return(BadRequest(this.GetModelStateError(ModelState)));
            }
            #endregion
            // 调用服务创建用户
            var result = await userService.RemoveRoleAsync(add.UserName, add.DepartmentName, add.RoleName);

            // 根据服务返回值确定返回
            if (result.ResultType == Common.OperationResultType.Success)
            {
                return(Ok(true));
            }
            return(BadRequest(result.Message));
        }
示例#3
0
        public async Task <IActionResult> Add(UserRoleInput input)
        {
            string[] roles = { "Admin" };
            var      token = HttpContext.Request.Headers["Authorization"].Last().Split(" ").Last();

            if (RoleService.CheckRoles(token, roles, _userManager))
            {
                if (RoleService.GetAllRoles().Contains(input.Role))
                {
                    var repo = new UserDetailsRepository();
                    var user = _userManager.FindByIdAsync(input.UserId).Result;
                    await _userManager.AddToRoleAsync(user, input.Role);

                    return(Ok());
                }

                return(BadRequest("Unexisting role"));
            }

            return(Unauthorized("Only Admin have access to this controller."));
        }