/*---------- ---------- ---------- ---------- ----------*/ // Deck related // Creating decks, getting decks, deleting & modifying decks // public async Task <Deck> CreateDeck(Guid playerId) { var filter = Builders <Player> .Filter.Eq(player => player.Id, playerId); var deckCreation = new CardMethods(); var deck = deckCreation.CreateADeck(); deck.Id = Guid.NewGuid(); var pushDeck = Builders <Player> .Update.Push(player => player.DecksOwned, deck); FindOneAndUpdateOptions <Player> options = new FindOneAndUpdateOptions <Player>() { ReturnDocument = ReturnDocument.After }; Player player = await _playerCollection.FindOneAndUpdateAsync(filter, pushDeck, options); return(deck); }