/// <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); }
/// <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); }
/// <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)); }
/// <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; }