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))); }
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)); }