public async Task <ActionResult> Index(string genreName, string platformName, int page = 1, GamesSortOrder sortOrder = GamesSortOrder.ByDateAscending) { ICollection <GameCardViewModel> games = new List <GameCardViewModel>(); if (genreName != null) { games = _mapper.Map <ICollection <GameDTO>, ICollection <GameCardViewModel> > (await _gameService.GetGamesByGenreAsync(genreName)); } if (platformName != null) { games = _mapper.Map <ICollection <GameDTO>, ICollection <GameCardViewModel> > (await _gameService.GetGamesByPlatformAsync(platformName)); } if (platformName == null && genreName == null) { games = _mapper.Map <ICollection <GameDTO>, ICollection <GameCardViewModel> > (await _gameService.GetGamesAsync()); } games = SortGames(sortOrder, games); GameCardListViewModel gameCardList = await CreateGameCardList(page, games); return(View(gameCardList)); }
public async Task <GameCardListViewModel> CreateGameCardList(int page, ICollection <GameCardViewModel> games) { int pageSize = 1; var gameCards = games.Skip((page - 1) * pageSize).Take(pageSize); PageInfo pageInfo = new PageInfo { PageNumber = page, PageSize = pageSize, TotalItems = games.Count }; GameCardListViewModel gameCardList = new GameCardListViewModel { PageInfo = pageInfo, GameCards = gameCards.ToList(), FilterCriterias = await GetFilterCriterias() }; return(gameCardList); }