Пример #1
0
        public async Task <IActionResult> MyList(string user)
        {
            IQueryable <string> genreQuery = from G in _context.Gamedb
                                             orderby G.Genre
                                             select G.Genre;
            IQueryable <string> devQuery = from D in _context.Gamedb
                                           orderby D.Developer
                                           select D.Developer;
            var games = from game in _context.Gamedb
                        join usr
                        in _context.gameUserConnection
                        on game.ID
                        equals usr.gameID
                        where usr.userID == user
                        select game;

            var GameSearch = new GameSearchModel
            {
                Genres     = new SelectList(await genreQuery.Distinct().ToListAsync()),
                Developers = new SelectList(await devQuery.Distinct().ToListAsync()),
                Games      = await games.ToListAsync()
            };

            return(View("UserIndex", GameSearch));
        }
Пример #2
0
        public async Task <IActionResult> UserIndex(string Genre, string Developer, string searchString)
        {
            IQueryable <string> genreQuery = from G in _context.Gamedb
                                             orderby G.Genre
                                             select G.Genre;
            IQueryable <string> devQuery = from D in _context.Gamedb
                                           orderby D.Developer
                                           select D.Developer;

            var games = from G in _context.Gamedb
                        select G;

            if (!string.IsNullOrEmpty(searchString))
            {
                games = games.Where(s => s.Name.Contains(searchString));
            }
            if (!string.IsNullOrEmpty(Genre))
            {
                games = games.Where(g => g.Genre == Genre);
            }
            if (!string.IsNullOrEmpty(Developer))
            {
                games = games.Where(d => d.Developer == Developer);
            }

            var GameSearch = new GameSearchModel
            {
                Genres     = new SelectList(await genreQuery.Distinct().ToListAsync()),
                Developers = new SelectList(await devQuery.Distinct().ToListAsync()),
                Games      = await games.ToListAsync()
            };

            return(View(GameSearch));
        }
Пример #3
0
        async Task SearchCheck(GameSearchModel user)
        {
            if (gameSearchModels.Count > 1)
            {
                int plus  = user.Rank;
                int minus = user.Rank - 1;

                GameSearchModel opponent;
                for (int i = 0; i < gameSearchModels.Count; i++)
                {
                    opponent = gameSearchModels.Find(f => f.Rank == plus);
                    if (opponent != null)
                    {
                        await ReturnToGame(user, opponent);

                        continue;
                    }
                    opponent = gameSearchModels.Find(f => f.Rank == minus);
                    if (opponent != null)
                    {
                        await ReturnToGame(user, opponent);

                        continue;
                    }
                    plus++;
                    minus--;
                }
            }
        }
Пример #4
0
        public IActionResult Search(GameSearchModel searchModel)
        {
            if (!string.IsNullOrWhiteSpace(searchModel.Title))
            {
                searchModel.Title = searchModel.Title.Trim();
            }
            if (SessionValueExists("game-query"))
            {
                searchModel.Title = GetStringFromSession("game-query");
            }
            if (SessionValueExists("wish"))
            {
                searchModel.Title = GetFromSession <string>("wish");
            }

            if (Request.Headers["Referrer"].Contains("/Game/Search") && string.IsNullOrWhiteSpace(searchModel.Title))
            {
                ShowStatusMessage(MessageTypeEnum.error, "Please enter search terms.", "Search Error");

                return(View(searchModel));
            }

            if (!string.IsNullOrWhiteSpace(searchModel.Title))
            {
                searchModel.GiantBombResult = _giantBombService.Search(searchModel.Title);
                searchModel.BGGResult       = _bggService.Search(searchModel.Title);
            }

            ViewBag.Title = "Game Search";

            return(View(searchModel));
        }
Пример #5
0
    private IEnumerator search_game(string terms)
    {
        string uri = "http://www.speedrun.com/api/v1/games?name=" + UnityWebRequest.EscapeURL(terms);

        using (UnityWebRequest request = UnityWebRequest.Get(uri))
        {
            request.SetRequestHeader("Content-Type", "application/json");
            yield return(request.SendWebRequest());

            if (request.isNetworkError)
            {
                Debug.Log("Error: " + request.error);
            }
            else
            {
                GameSearchModel game_list = JsonUtility.FromJson <GameSearchModel>(request.downloadHandler.text);

                foreach (Transform child in _game_list_content.transform)
                {
                    GameObject.Destroy(child.gameObject);
                }

                // Loop through user.data, and for each create a new row from a prefab
                foreach (GameData game in game_list.data)
                {
                    GameView game_view = Instantiate(_game_list_content.game_view_prefab, _game_list_content.transform);
                    game_view.set_game(game.id);
                }
            }
        }
    }
Пример #6
0
        public void AbortGameSearch()
        {
            GameSearchModel user = gameSearchModels.Where(w => w.Id == Context.ConnectionId).FirstOrDefault();

            if (user != null)
            {
                gameSearchModels.Remove(user);
            }
        }
Пример #7
0
        async Task ReturnToGame(GameSearchModel user, GameSearchModel enemy)
        {
            Guid         id           = Guid.NewGuid();
            SearchResult searchResult = new SearchResult()
            {
                UserId = id,
                Enemy  = new Enemy()
                {
                    Name          = enemy.Name,
                    ImgAvatarHref = "",
                    Rank          = enemy.Rank
                }
            };
            await Clients.Client(user.Id).SendAsync("MessageGameSearch", searchResult);//to user

            searchResult.Enemy.Name = user.Name;

            await Clients.Client(enemy.Id).SendAsync("MessageGameSearch", searchResult);//to enemy

            //дисконект
        }
Пример #8
0
 private void ResetSearch()
 {
     _searchModel = new GameSearchModel();
 }
Пример #9
0
 private async Task SearchGames(GameSearchModel searchModel)
 {
     await _gameSearchStateManagement.SearchGames(searchModel);
 }