Пример #1
0
        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
                       ));
        }
Пример #2
0
        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);
        }