private IQueryable <ADUser> GetFilterUsersQuery(FilterUsersDto filter) { return(_userRepository.GetAll() .Include(x => x.GEDistrict) .Include(x => x.GECommune) .Include(x => x.GEStateProvince) .SearchByFields( filter.SearchTerm, x => x.ADUserOrganizationName, x => x.ADUserAcronymName, x => x.ADUserRepresentative, x => x.ADUserPhone, x => x.ADUserIdentityCard, x => x.ADUserEmail) .WhereIf(!filter.Type.IsNullOrWhiteSpace(), x => x.ADUserType == filter.Type) .WhereIf(filter.StateProvinceID.HasValue, x => x.FK_GEStateProvinceID == filter.StateProvinceID) .WhereIf(filter.DistrictID.HasValue, x => x.FK_GEDistrictID == filter.DistrictID) .WhereIf(filter.CommuneID.HasValue, x => x.FK_GECommuneID == filter.CommuneID) .WhereIf(!filter.Status.IsNullOrWhiteSpace(), x => x.ADUserStatus == filter.Status)); }
public async Task <IPagedResultDto <ShortUserDto> > FilterUsersAsync(PagingAndSortingRequestDto pagingAndSortingRequestDto, FilterUsersDto filter) { var query = GetFilterUsersQuery(filter); return(await query.ApplySorting(pagingAndSortingRequestDto).GetPagedResultAsync(pagingAndSortingRequestDto.Page, pagingAndSortingRequestDto.PageSize, x => x.ToShortUserDto())); }
public async Task <IPagedResultDto <UserDto> > FilterUsersAsync(PagedResultRequestDto pagedResultRequest, FilterUsersDto filter) { return(await _userRepository .GetAll() .SearchByFields(filter.SearchTerm, x => x.UserName) .OrderBy(x => x.CreateDate) .GetPagedResultAsync(pagedResultRequest.Page, pagedResultRequest.PageSize, x => _mapper.Map <UserDto>(x))); }