コード例 #1
0
ファイル: Select.cs プロジェクト: kwmcrell/ArmedCards
        /// <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>
        /// Select decks base on provided filter
        /// </summary>
        /// <param name="filter">The filter used to select decks</param>
        /// <returns>A filtered list of decks</returns>
        public List <Entities.Deck> Execute(Entities.Filters.Deck.SelectByGameID filter)
        {
            List <Entities.Deck> decks = new List <Entities.Deck>();

            using (DbCommand cmd = _db.GetStoredProcCommand("Deck_SelectByGameID"))
            {
                _db.AddInParameter(cmd, "@GameIDs", DbType.Xml, filter.GameIDs.ConvertCollectionToXML());

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

            return(decks);
        }
コード例 #3
0
 /// <summary>
 /// Select decks base on provided filter
 /// </summary>
 /// <param name="filter">The filter used to select decks</param>
 /// <returns>A filtered list of decks</returns>
 public List <Entities.Deck> Execute(Entities.Filters.Deck.SelectByGameID filter)
 {
     return(_selectDeck.Execute(filter));
 }
コード例 #4
0
ファイル: Select.cs プロジェクト: kwmcrell/ArmedCards
        /// <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;
        }