public async Task <long> CreateGame(long playerId, int amountOfBots)
        {
            var game = new Game();

            game.Id = await _gameRepository.Create(game);

            List <Player> players = await CreatePlayerList(playerId, amountOfBots);

            var gamePlayers = new List <GamePlayer>();

            foreach (Player player in players)
            {
                GamePlayer gamePlayer = CustomMapper.GetGamePlayer(player, game.Id);
                gamePlayers.Add(gamePlayer);
            }

            await _gamePlayerRepository.CreateMany(gamePlayers, ToStringHelper.GetTableName(typeof(GamePlayer)));

            List <Log> logs = LogHelper.GetCreationGameLogs(gamePlayers, game);
            await _logRepository.CreateMany(logs, ToStringHelper.GetTableName(typeof(Log)));

            long gameId = game.Id;

            return(gameId);
        }
Beispiel #2
0
 /// <summary>
 /// Generate toString implementation using object properties and fields.
 /// </summary>
 /// <param name="source">this</param>
 /// <param name="skipNulls">true if null properties should be excluded, false by default</param>
 /// <returns>toString</returns>
 public static string MembersToString(this object source, bool skipNulls = false)
 {
     Preconditions.IsNotNull(source, () => new ArgumentNullException("source"));
     return(ToStringHelper.Of(source)
            .AddMembers()
            .SkipNulls(skipNulls)
            .ToString());
 }