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