public void AddPlayer(IDictionary<string, object> parameters) { if (ActualNumberOfPlayers >= MaximumNumberOfPlayers) { throw new DomainValidationException("No place available on this game."); } var playerAddedEvent = new PlayerAddedEvent(parameters); var playerName = playerAddedEvent.RehydratedParameters.PlayerName; if (!AddedPlayersToBoardGame.Contains(playerName)) { Apply(playerAddedEvent); } else { throw new DomainValidationException("Player already added to board."); } }
private void OnPlayerAdded(PlayerAddedEvent @event) { ActualNumberOfPlayers++; AddedPlayersToBoardGame.Add(@event.RehydratedParameters.PlayerName); }