예제 #1
0
        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()));
        }
예제 #2
0
        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));
        }