internal void AddGameToShelf(GameEntity game)
        {
            if (this.Games.ToLookup(x => x.GameId).Contains(game.GameId))
            {
                throw new GameAlreadyExistsOnShelfException(game.GameId);
            }

            var gameAddedToShelf = new GameAddedToShelf(this.AggregateId, game.GameId);

            this.RaiseEvent(gameAddedToShelf);
        }
 private void Apply(GameAddedToShelf obj)
 {
     this.Games.Add(new GameEntity(obj.GameId));
 }