public PaginatedDataResponseDto <List <UserProfileEntity> > GetAll(UserProfilesRequestDto data) { var query = this.DbContext.UserProfiles //.Include(x => x.Role) .Include(x => x.Settings) .AsQueryable(); if (data.Enabled != null) { query = query.Where(x => x.Settings.Enabled == data.Enabled); } if (!String.IsNullOrEmpty(data.SearchText)) { string search = data.SearchText.ToLower(); query = query.Where(x => x.Name.ToLower().Contains(search) || x.Email.ToLower().Contains(search)); } int totalCount = query.Count(); query = query .OrderByDescending(x => x.CreatedOnUtc) .Skip(data.PageSize.Value * data.Page.Value) .Take(data.PageSize.Value); var items = query.ToList(); var result = new PaginatedDataResponseDto <List <UserProfileEntity> >() { RequestParams = data, ResponseParams = new PaginatedDataResponseParamsDto { TotalCount = totalCount, Pages = (int)Math.Ceiling((double)totalCount / (double)data.PageSize.Value) }, Data = items }; return(result); }
public IActionResult GetAll([FromQuery] UserProfilesRequestDto data) { var result = this.UnitOfWork.UserProfileRepository.GetAll(data); return(this.JsonResponse(result)); }