public override IEnumerable <IEvent> ExpectedEvents()
        {
            yield return(new RebuyAddedEvent()
            {
                GameId = _gameId, PlayerId = _playerId2, RebuyAmount = 10
            });

            yield return(new PayoutsCalculatedEvent()
            {
                GameId = _gameId, First = AnyInt(), Second = AnyInt(), Third = AnyInt()
            });

            yield return(new GameUncompletedEvent()
            {
                GameId = _gameId
            });

            var completedEvent = new GameCompletedEvent()
            {
                GameId = _gameId, First = AnyInt(), Second = AnyInt(), Third = AnyInt()
            };

            completedEvent.Placings.Add(_playerId1, 1);
            completedEvent.Placings.Add(_playerId2, 2);
            completedEvent.Placings.Add(_playerId3, 3);

            yield return(completedEvent);
        }
        public void Handle(GameCompletedEvent e)
        {
            foreach (var p in e.Placings)
            {
                var player = QueryDataStore.GetData <PlayerLookupDto>().Single(x => x.PlayerId == p.Key);
                var dto    = QueryDataStore.GetData <GetGamePlayersDto>().Single(x => x.GameId == e.GameId && x.PlayerId == player.PlayerId);

                dto.Placing = p.Value;

                if (dto.Placing == 1)
                {
                    dto.Winnings = e.First;
                }

                if (dto.Placing == 2)
                {
                    dto.Winnings = e.Second;
                }

                if (dto.Placing == 3)
                {
                    dto.Winnings = e.Third;
                }

                QueryDataStore.Update(dto);
            }
        }
        public override IEnumerable <IEvent> ExpectedEvents()
        {
            yield return(new PlayerRemovedFromGameEvent()
            {
                GameId = _gameId, PlayerId = _playerId2
            });

            yield return(new PayoutsCalculatedEvent()
            {
                GameId = _gameId, First = AnyInt(), Second = AnyInt(), Third = AnyInt()
            });

            yield return(new GameUncompletedEvent()
            {
                GameId = _gameId
            });

            var completedEvent = new GameCompletedEvent()
            {
                GameId = _gameId, First = AnyInt(), Second = AnyInt(), Third = AnyInt()
            };

            completedEvent.Placings.Add(_playerId1, 1);
            completedEvent.Placings.Add(_playerId3, 2);
            completedEvent.Placings.Add(_playerId4, 3);
            completedEvent.Placings.Add(_playerId5, 4);

            yield return(completedEvent);
        }
Example #4
0
        public override IEnumerable <IEvent> ExpectedEvents()
        {
            yield return(new PlayerKnockedOutEvent()
            {
                GameId = _gameId, PlayerId = _playerId2
            });

            yield return(new PlayerKnockedOutEvent()
            {
                GameId = _gameId, PlayerId = _playerId1
            });

            var completedEvent = new GameCompletedEvent()
            {
                GameId = _gameId, First = 60, Second = 30, Third = 0
            };

            completedEvent.Placings.Add(_playerId1, 1);
            completedEvent.Placings.Add(_playerId2, 2);
            completedEvent.Placings.Add(_playerId3, 3);
            completedEvent.Placings.Add(_playerId4, 4);
            completedEvent.Placings.Add(_playerId5, 5);

            yield return(completedEvent);
        }
Example #5
0
        public void Handle(GameCompletedEvent e)
        {
            var dto = QueryDataStore.GetData <GameLookupDto>().Single(x => x.GameId == e.GameId);

            dto.Completed = true;
            QueryDataStore.Update(dto);
        }
 public void Handle(GameCompletedEvent e)
 {
     foreach (var player in e.Placings)
     {
         var dto = QueryDataStore.GetData <GetPlayersDto>().Single(p => p.PlayerId == player.Key);
         dto.GamesPlayed++;
         QueryDataStore.Update(dto);
     }
 }
Example #7
0
        public static void Execute(List <ServerPlayerModel> eventReceivers)
        {
            GameCompletedEvent gameCompletedEvent = new GameCompletedEvent();

            for (int i = 0; i < eventReceivers.Count; i++)
            {
                if (eventReceivers[i].ClientConnection.Connected)
                {
                    eventReceivers[i].ClientConnection.SendEvent(gameCompletedEvent.EventData, gameCompletedEvent.SendParameters);
                }
            }
        }
Example #8
0
        public void Handle(GameCompletedEvent e)
        {
            var winnerId = e.Placings.Single(p => p.Value == 1).Key;
            var winner   = QueryDataStore.GetData <PlayerLookupDto>().Single(p => p.PlayerId == winnerId);
            var game     = QueryDataStore.GetData <GetGamesListDto>().Single(g => g.GameId == e.GameId);

            var dto = new GetGamesListDto()
            {
                DtoId     = game.DtoId,
                GameId    = e.GameId,
                GameDate  = game.GameDate,
                Winner    = winner.PlayerName,
                Winnings  = e.First,
                Completed = true,
            };

            QueryDataStore.Update(dto);
        }
        public override IEnumerable <IEvent> Given()
        {
            yield return(new GameCreatedEvent()
            {
                GameId = _gameId, GameDate = DateTime.Now
            });

            yield return(new PlayerCreatedEvent()
            {
                PlayerId = _playerId1, PlayerName = "Homer Simpson"
            });

            yield return(new PlayerCreatedEvent()
            {
                PlayerId = _playerId2, PlayerName = "Bart Simpson"
            });

            yield return(new PlayerCreatedEvent()
            {
                PlayerId = _playerId3, PlayerName = "Rick Sanchez"
            });

            yield return(new PlayerAddedToGameEvent()
            {
                GameId = _gameId, PlayerId = _playerId1, BuyinAmount = 20
            });

            yield return(new PlayerAddedToGameEvent()
            {
                GameId = _gameId, PlayerId = _playerId2, BuyinAmount = 20
            });

            yield return(new PlayerAddedToGameEvent()
            {
                GameId = _gameId, PlayerId = _playerId3, BuyinAmount = 20
            });

            yield return(new PlayerKnockedOutEvent()
            {
                GameId = _gameId, PlayerId = _playerId3
            });

            yield return(new PlayerKnockedOutEvent()
            {
                GameId = _gameId, PlayerId = _playerId2
            });

            yield return(new PlayerKnockedOutEvent()
            {
                GameId = _gameId, PlayerId = _playerId1
            });

            var completedEvent = new GameCompletedEvent()
            {
                GameId = _gameId
            };

            completedEvent.Placings.Add(_playerId1, 1);
            completedEvent.Placings.Add(_playerId2, 2);
            completedEvent.Placings.Add(_playerId3, 3);
            yield return(completedEvent);
        }
Example #10
0
        public override IEnumerable <IEvent> Given()
        {
            yield return(new GameCreatedEvent()
            {
                AggregateId = _gameId, GameDate = _gameDate
            });

            yield return(new PlayerCreatedEvent()
            {
                PlayerId = _playerId1, PlayerName = _winner
            });

            yield return(new PlayerCreatedEvent()
            {
                PlayerId = _playerId2, PlayerName = "Bart Simpson"
            });

            yield return(new PlayerCreatedEvent()
            {
                PlayerId = _playerId3, PlayerName = "Rick Sanchez"
            });

            yield return(new PlayerAddedToGameEvent()
            {
                GameId = _gameId, PlayerId = _playerId1
            });

            yield return(new PlayerAddedToGameEvent()
            {
                GameId = _gameId, PlayerId = _playerId2
            });

            yield return(new PlayerAddedToGameEvent()
            {
                GameId = _gameId, PlayerId = _playerId3
            });

            yield return(new PlayerKnockedOutEvent()
            {
                GameId = _gameId, PlayerId = _playerId3
            });

            yield return(new PlayerKnockedOutEvent()
            {
                GameId = _gameId, PlayerId = _playerId2
            });

            yield return(new PlayerKnockedOutEvent()
            {
                GameId = _gameId, PlayerId = _playerId1
            });

            var completedEvent = new GameCompletedEvent()
            {
                GameId = _gameId, First = 30
            };

            completedEvent.Placings.Add(_playerId1, 1);
            completedEvent.Placings.Add(_playerId2, 2);
            completedEvent.Placings.Add(_playerId3, 3);
            yield return(completedEvent);
        }