コード例 #1
0
        public async Task SearchGamesAsync(GameSearchOption gameSearchOption)
        {
            IsSearchRunning = true;
            OnStateChanged?.Invoke();

            GameSearchResults = await _http.PostJsonAsync <PagedResult <Game> >("api/search", gameSearchOption);

            IsSearchRunning = false;
            OnStateChanged?.Invoke();
        }
コード例 #2
0
        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));
        }