public IActionResult Create(GameCreateCommand cmd) { cmd.Id = _gameService.CreateGame(cmd); _gameService.CreatePlayerGames(cmd); _deckService.CreateDeck(cmd.ToChallengerDeck()); _deckService.CreateDeck(cmd.ToTargetDeck()); return(RedirectToAction(nameof(Index))); }
static void Main(string[] args) { // I would use dependency injection, normally, to create the service var deckService = new DeckService(); var deck = deckService.CreateDeck(); var andrewHand = deckService.CreateHandCards(deck, new Player { Name = "Andrew" }); var benHand = deckService.CreateHandCards(deck, new Player { Name = "Ben" }); Console.WriteLine($"{andrewHand.Player.Name}'s Hand:"); foreach (var card in andrewHand.PlayerHand) { Console.WriteLine(card); } Console.WriteLine($"{benHand.Player.Name}'s Hand:"); foreach (var card in benHand.PlayerHand) { Console.WriteLine(card); } Console.WriteLine("Remaining Cards:"); foreach (var element in deck.GameDeck) { Console.WriteLine(element); } }
public async Task <ActionResult> Create(CreateDeckRequest deck) { if (ModelState.IsValid) { await service.CreateDeck(deck); return(RedirectToAction("Index")); } return(View(deck)); }
public void TestCreatingDeck() { using (var context = new AppDbContext(CreateNewContextOptions())) { var service = new DeckService(context); DeckCreateCommand deck = new DeckCreateCommand { GameId = 1, PlayerId = 1, Type = 1 }; service.CreateDeck(deck); Assert.Equal(1, context.Decks.Count()); } }
public Deck UpdateDeck(Guid[] cardIds) { var session = Utils.GetSession(_sessionService, HttpRequest, HttpResponse); if (session == null) { return(null); } if (cardIds == null || cardIds.Length != Deck.DeckSize) { HttpResponse.SetContent($"No cards or not the right amount of cards! The right amount: {Deck.DeckSize}."); HttpResponse.SetStatus(HttpStatus.Bad_Request); return(null); } return(_deckService.CreateDeck(session.UserId, cardIds)); }
public void TestDefaultCardsInDeck() { using (var context = new AppDbContext(CreateNewContextOptions())) { var service = new DeckService(context); DeckCreateCommand deck = new DeckCreateCommand { GameId = 1, PlayerId = 1, Type = 1 }; Card scout = new Card { Name = "Scout", Cost = 0, DefaultQuantity = 8 }; Card viper = new Card { Name = "Viper", Cost = 0, DefaultQuantity = 2 }; context.Cards.Add(scout); context.Cards.Add(viper); service.CreateDeck(deck); var d = service.GetDeck(1); int totalQuantity = d.Cards.Select(x => x.Quantity).Sum(); int scoutQuantity = d.Cards.First().Quantity; int viperQuantity = d.Cards.Last().Quantity;; Assert.Equal(2, d.Cards.Count()); Assert.Equal(10, totalQuantity); Assert.Equal(8, scoutQuantity); Assert.Equal(2, viperQuantity); } }
public async Task <Deck> Create(CreateDeckRequest deck) { return(await _deckService.CreateDeck(deck)); }