public async Task <IEnumerable <Game> > SearchGames(SearchObjectGames searchObject)
 {
     return(await _dbContext.Games
            .Where(g => g.Name.Contains(searchObject.Name) ||
                   g.Developer.Name.Contains(searchObject.Developer) ||
                   g.Publisher.Name.Contains(searchObject.Publisher))
            .Include(g => g.Developer)
            .Include(g => g.Publisher)
            .Take(10)
            .ToListAsync());
 }
        public async Task <IEnumerable <Game> > SearchGames(SearchObjectGames searchObject, int userId)
        {
            var result = await this._gameRepository.SearchGames(searchObject);

            foreach (Game game in result)
            {
                game.IsFavouritedByUser = await _commonBusinessLogic.CheckIfFavourited(game.Id, userId);
            }

            return(result);
        }
        public async Task <IActionResult> Search(SearchObjectGames searchObject)
        {
            try
            {
                IEnumerable <GameViewModel> model;
                var user = (UserApi)ControllerContext.HttpContext.Items["UserAPI"];
                model = await _gamesService.SearchGames(searchObject, user != null?user.Id : 0);

                return(Ok(model));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public async Task <IActionResult> Index(string platform, int?pageNumber)
        {
            var genres = await this._commonService.GetAllGenres();

            List <SelectListItem> ddlItems     = _mapper.Map <IEnumerable <Genre>, List <SelectListItem> >(genres);
            SearchObjectGames     searchObject = new SearchObjectGames();

            searchObject.Genres = ddlItems;
            int pageSize = 10;
            IEnumerable <GameViewModel> model;

            model = await _gamesService.GetAllGames(pageNumber, pageSize, 0, false);

            return(View(PaginatedList <GameViewModel, SearchObjectGames> .Create(model, pageNumber ?? 1, pageSize, searchObject)));
        }
        public async Task <IActionResult> SearchGames(SearchObjectGames searchObject)
        {
            int pageSize   = 10;
            int pageNumber = 1;
            var genres     = await this._commonService.GetAllGenres();

            List <SelectListItem> ddlItems = new List <SelectListItem>();

            foreach (var genreItem in genres)
            {
                SelectListItem item = new SelectListItem(genreItem.Name, genreItem.Key.ToString());
                ddlItems.Add(item);
            }
            searchObject.Genres = ddlItems;
            IEnumerable <GameViewModel> model;

            model = await _gamesService.SearchGames(searchObject, 0);

            return(View("~/Views/Games/Index.cshtml", PaginatedList <GameViewModel, SearchObjectGames> .Create(model, pageNumber, pageSize, searchObject)));
        }
Example #6
0
        public async Task <IEnumerable <GameViewModel> > SearchGames(SearchObjectGames searchObject, int userId)
        {
            var result = await this._businessLogicGames.SearchGames(searchObject, userId);

            return(_mapper.Map <IEnumerable <Game>, IEnumerable <GameViewModel> >(result));
        }