public async Task <IActionResult> GetAll([FromQuery] ChampionPaginationParamsDto championParamsDto) { //var mappedEntities = mapper.Map<IEnumerable<ChampionViewModel>>(await repository.GetAll()); // return mappedEntities; var championPaged = await repository.GetAll(championParamsDto); if (championPaged == null) { return((IActionResult)NotFound()); } Response.AddPagination(championPaged.CurrentPage, championPaged.PageSize, championPaged.TotalCount, championPaged.AllPages); return(Ok(championPaged.AsEnumerable())); }
public async Task <IActionResult> GetAllChampionCsv([FromQuery] ChampionPaginationParamsDto championParamsDto) { var championPaged = await repository.GetAll(championParamsDto); if (championPaged == null) { return((IActionResult)NotFound()); } var championPagedCsvString = CsvConverter.ToCsv(championPaged); var championPagedCsv = System.Text.Encoding.UTF8.GetBytes(championPagedCsvString); string fileName = "champions.csv"; return(File(championPagedCsv, "text/csv", fileName)); }
public async Task <PagedList <ChampionEntity> > GetAll(ChampionPaginationParamsDto championParamsDto) { //return await context.Champions.ToListAsync(); var champions = context.Champions.AsQueryable(); // Filtr if (!String.IsNullOrEmpty(championParamsDto.FirstName)) { champions = champions.Where(x => x.FirstName == championParamsDto.FirstName); } if (!String.IsNullOrEmpty(championParamsDto.DefaultPosition)) { champions = champions.Where(x => x.DefaultPosition == championParamsDto.DefaultPosition); } switch (championParamsDto.OrderBy) { case "firstName": champions = champions.OrderBy(x => x.FirstName); break; case "firstNameDescending": champions = champions.OrderByDescending(x => x.FirstName); break; case "defaultPosition": champions = champions.OrderByDescending(x => x.DefaultPosition); break; case "defaultPositionDescending": champions = champions.OrderByDescending(x => x.DefaultPosition); break; } return(await PagedList <ChampionEntity> .CreateAsync(champions, championParamsDto.PageNumber, championParamsDto.PageSize)); }