Пример #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);
        }
Пример #2
0
        /// <summary>
        /// Selects game players base on supplied filter
        /// </summary>
        /// <param name="filter">Filter used to select game players</param>
        /// <returns>A list of game players that satisfy the supplied filter</returns>
        public List <Entities.GamePlayer> Execute(Entities.Filters.GamePlayer.Select filter)
        {
            List <Entities.GamePlayer> players = _selectGamePlayers.Execute(filter);

            if (filter.SelectCards)
            {
                SelectCards(filter, players);
            }

            return(players);
        }
Пример #3
0
        private void SelectCards(Entities.Filters.GamePlayer.Select filter, List <Entities.GamePlayer> players)
        {
            List <Entities.GamePlayerCard> playerCards =
                _selectGamePlayerCards.Execute(filter.GameID, null);

            foreach (Entities.GamePlayer player in players)
            {
                if (player.PlayerType == Entities.Enums.GamePlayerType.Player)
                {
                    player.Hand = playerCards.Where(x => x.UserId == player.User.UserId).ToList();
                }
            }
        }
Пример #4
0
        /// <summary>
        /// Selects game players base on supplied filter
        /// </summary>
        /// <param name="filter">Filter used to select game players</param>
        /// <returns>A list of game players that satisfy the supplied filter</returns>
        public List <Entities.GamePlayer> Execute(Entities.Filters.GamePlayer.Select filter)
        {
            List <Entities.GamePlayer> gamePlayers = new List <Entities.GamePlayer>();

            using (DbCommand cmd = _db.GetStoredProcCommand("GamePlayer_Select"))
            {
                _db.AddInParameter(cmd, "@GameID", DbType.Int32, filter.GameID);
                if (filter.PlayerType.HasValue)
                {
                    _db.AddInParameter(cmd, "@Type", DbType.Int32, filter.PlayerType);
                }

                using (IDataReader idr = _db.ExecuteReader(cmd))
                {
                    while (idr.Read())
                    {
                        gamePlayers.Add(new Entities.GamePlayer(idr));
                    }
                }
            }

            return(gamePlayers);
        }
Пример #5
0
        /// <summary>
        /// Selects game players base on supplied filter
        /// </summary>
        /// <param name="filter">Filter used to select game players</param>
        /// <returns>A list of game players that satisfy the supplied filter</returns>
        public List <Entities.GamePlayer> Execute(Entities.Filters.GamePlayer.Select filter)
        {
            List <Entities.GamePlayer> players = _selectGamePlayers.Execute(filter);

            return(players);
        }
Пример #6
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;
        }