Ejemplo n.º 1
0
        /// <summary>
        /// Selects a game based on supplied filter
        /// </summary>
        /// <param name="filter">Filter used to select game</param>
        /// <returns>A game that satisfy the supplied filter</returns>
        public Entities.Game Execute(Entities.Filters.Game.Select filter)
        {
            Entities.Game game = _selectGame.Execute(filter);

            Entities.Filters.GamePlayer.Select playerFilter = new Entities.Filters.GamePlayer.Select();
            playerFilter.GameID      = filter.GameID;
            playerFilter.SelectCards = filter.DataToSelect.HasFlag(Entities.Enums.Game.Select.GamePlayerCards);

            List <Entities.GamePlayer> allPlayers = _selectGamePlayerREPO.Execute(playerFilter);

            game.Players    = allPlayers.Where(x => x.PlayerType == Entities.Enums.GamePlayerType.Player).ToList();
            game.Spectators = allPlayers.Where(x => x.PlayerType == Entities.Enums.GamePlayerType.Spectator).ToList();

            Entities.Filters.Deck.SelectByGameID deckFilter = new Entities.Filters.Deck.SelectByGameID();
            deckFilter.GameIDs.Add(game.GameID);

            game.GameDecks = _selectDeck.Execute(deckFilter);

            if (filter.DataToSelect.HasFlag(Entities.Enums.Game.Select.Rounds))
            {
                game.Rounds.Add(_selectGameRound.Execute(game.GameID, true));
            }

            return(game);
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            Entities.Models.Game.CreateGame model = new Entities.Models.Game.CreateGame();

            model.AvailableDecks = _selectDeck.Execute(new Entities.Filters.Deck.Select {
            });

            model.AvailableDecks.RemoveAll(x => x.DeckID == 1);

            return(View("~/Views/CreateGame/CreateGame.cshtml", model));
        }