public async Task SearchGamesAsync(GameSearchOption gameSearchOption) { IsSearchRunning = true; OnStateChanged?.Invoke(); GameSearchResults = await _http.PostJsonAsync <PagedResult <Game> >("api/search", gameSearchOption); IsSearchRunning = false; OnStateChanged?.Invoke(); }
public PagedResult <Game> SearchGames([FromBody] GameSearchOption gameSearchOption) { var query = _unitOfWork.GamesRepository .GetQuery( x => x.ShortDescription.ToLower().Contains(gameSearchOption.SearchText.ToLower()), orderBy: x => x.OrderBy(z => z.ShortDescription), includeProperties: "System" ); int psize = 20, pNumber = gameSearchOption.PageNumber; if (gameSearchOption.PageSize.HasValue) { psize = gameSearchOption.PageSize.Value; } var count = query.Count(); var games = query.Skip((pNumber - 1) * psize).Take(psize).AsEnumerable(); return(new PagedResult <Game>(games, pNumber, psize, count)); }