public async Task <PagingResponse> GetUsersWithPagingAsync(GetUsersReq getUsersReq) { try { int currentPage = getUsersReq.CurrentPage; int pageSize = getUsersReq.PageSize; List <UserDetailVM> result = null; result = _uow.GetRepository <User>().GetAll() .Select(u => new UserDetailVM { FullName = u.FullName, Email = u.Email, Phone = u.Phone }).ToList(); var resultPg = PagingHelper <UserDetailVM> .GetPagingList(result, currentPage, pageSize); await Task.FromResult(resultPg); return(resultPg); } catch (Exception ex) { _logger.LogError(ex.InnerException.Message.ToString()); throw ex; } }
/// <summary> /// 获取用户列表 /// </summary> /// <param name="request"></param> /// <param name="context"></param> /// <returns></returns> public override async Task <UserList> GetUsers(GetUsersReq request, ServerCallContext context) { if (request is null) { throw new ArgumentNullException(nameof(request)); } if (context is null) { throw new ArgumentNullException(nameof(context)); } IQueryable <ApplicationUser> query = applicationDbContext.Users; if (!string.IsNullOrEmpty(request.Query)) { query = query.Where(e => e.Name.Contains(request.Query, StringComparison.OrdinalIgnoreCase) || e.UserName.Contains(request.Query, StringComparison.OrdinalIgnoreCase) || e.Email.Contains(request.Query, StringComparison.OrdinalIgnoreCase) || e.PhoneNumber.Contains(request.Query, StringComparison.OrdinalIgnoreCase)); } var total = await query.CountAsync().ConfigureAwait(false); var users = (await query .Skip((int)request.Skip) .Take((int)request.Task) .AsNoTracking() .ToListAsync().ConfigureAwait(false)); UserList userList = new UserList(); userList.Total = (uint)total; userList.Users.AddRange(mapper.Map <RepeatedField <UserReply> >(users)); return(userList); }
public ActionResult GetUsersWithPagingAsync(Int32 pageSize, Int32 currentPage) { try { GetUsersReq getUsersReq = new GetUsersReq { PageSize = pageSize, CurrentPage = currentPage }; var result = _userLogic.GetUsersWithPagingAsync(getUsersReq); return(Ok(new BaseResponse(result.Result.Data, result.Result.Paging))); } catch (Exception ex) { return(Ok(this.BaseResponseApiErrorResult(ex))); } }