Пример #1
0
        public async Task <IActionResult> GetSquads([FromQuery] SquadQuery squadQuery)
        {
            var squads = await _squadService.GetAsync(squadQuery);

            var returnSquads = _mapper.Map <PaginatedList <SquadListDto> >(squads);

            return(Ok(returnSquads));
        }
        public async Task <PaginatedList <Squad> > GetAsync(SquadQuery squadQuery)
        {
            var query = Context.Squads
                        .Include(s => s.Season)
                        .Include(s => s.Club)
                        .AsQueryable();

            if (squadQuery.SeasonId.HasValue)
            {
                query = query.Where(s => s.SeasonId == squadQuery.SeasonId);
            }

            var columnsMap = new Dictionary <string, Expression <Func <Squad, object> > >()
            {
                ["id"]   = s => s.Id,
                ["club"] = s => s.Club.Name
            };

            query = query.Sort(squadQuery, columnsMap);

            return(await PaginatedList <Squad> .CreateAsync(query, squadQuery.PageNumber, squadQuery.PageSize));
        }
 public async Task <PaginatedList <Squad> > GetAsync(SquadQuery squadQuery)
 {
     return(await _squadRepository.GetAsync(squadQuery));
 }