public async Task <PagedResultDto <PlaqueChangeListDto> > GetPlaqueChange(GetPlaqueChangeInput input) { var query = GetFilteredQuery(input); var userCount = await query.CountAsync(); var plaqueChanges = await query .OrderBy(input.Sorting) .PageBy(input) .ToListAsync(); var plaqueChangesListDto = ObjectMapper.Map <List <PlaqueChangeListDto> >(plaqueChanges); return(new PagedResultDto <PlaqueChangeListDto>( userCount, plaqueChangesListDto )); }
private IQueryable <PlaqueChange> GetFilteredQuery(GetPlaqueChangeInput input) { long tempSearch = Convert.ToInt64(input.Filter); var query = QueryableExtensions.WhereIf( _plaqueChangeRepository.GetAll() .Include(x => x.Plaque) .ThenInclude(x => x.Livestock) .ThenInclude(x => x.Herd) .Include(x => x.PreState) .Include(x => x.NewState) .Include(x => x.Officer), !input.Filter.IsNullOrWhiteSpace(), u => u.Plaque.Code.ToString().Contains(input.Filter) || u.Plaque.Livestock.Herd.HerdName.Contains(input.Filter) || u.PreState.Name.Contains(input.Filter) || u.NewState.Name.Contains(input.Filter) || u.Officer.Name.Contains(input.Filter) || u.Officer.Family.Contains(input.Filter)); return(query); }