public async Task <ActionResult <BaseResponse> > Get([FromQuery] UserPageRequestViewModel req) { //该组织管理员有权限 var GroupId = User.Claims.FirstOrDefault(a => a.Type == "GroupId").Value; var isAdmin = User.Claims.FirstOrDefault(a => a.Type == "IsAdmin").Value.ToLower() == "true" ? true : false; if (!isAdmin) { return(new UnauthorizedResult()); } var rm = await _us.GetUsersAsync(req, GroupId); return(rm); }
public async Task <BaseResponse> GetUsersAsync(UserPageRequestViewModel req, string GroupId) { var UserQuery = _user.Find(a => a.GroupId == GroupId); if (req.Status.HasValue) { UserQuery = UserQuery.Where(a => a.Status == (UserStatus)req.Status); } if (!string.IsNullOrWhiteSpace(req.Search)) { UserQuery = UserQuery.Where(a => a.UserName == req.Search || a.Account == req.Search); } int count = UserQuery.Count(); string OrderExpression = ""; if (string.IsNullOrEmpty(req.OrderBy)) { OrderExpression = "Id Asc"; //UserQuery = UserQuery.OrderBy(a => a.Id); } else { OrderExpression = string.Format("{0} {1}", req.OrderBy, req.OrderType); } var userList = await UserQuery.OrderBy(OrderExpression).Skip((req.PageNo - 1) * req.PageSize).Take(req.PageSize).ToListAsync(); var dto = _mapper.Map <List <UserData> >(userList); var ret = new BasePageResponse <List <UserData> >() { Count = count, CurrentPage = req.PageNo, PageSize = req.PageSize, Success = true, Message = "获取数据成功", Data = dto, TotalPage = (int)Math.Ceiling((decimal)count / req.PageSize) }; return(ret); }