private MlbGameDto CreateGameDto(MlbShortGame mlbShortGame, bool loadPlayers) { if (loadPlayers) { return(CreateGameDtoWithPlayers(mlbShortGame)); } return(CreateGameDtoWithoutPlayers(mlbShortGame)); }
private MlbGameDto CreateGameDtoWithoutPlayers(MlbShortGame mlbShortGame) { Guid gameId = mlbShortGame.GameId; DateTime startDateTime = mlbShortGame.StartDateTime; Guid homeTeamId = mlbShortGame.HomeTeamId; Guid awayTeamId = mlbShortGame.AwayTeamId; Guid? homePitcherId = mlbShortGame.HomePitcherId; Guid? awayPitcherId = mlbShortGame.AwayPitcherId; TeamDto homeTeamDto = GetTeam(homeTeamId); TeamDto awayTeamDto = GetTeam(awayTeamId); PlayerDto homePitcherDto; PlayerDto awayPitcherDto; if (homePitcherId != null) { homePitcherDto = GetPlayer(homePitcherId.Value); } else { homePitcherDto = null; Logger.Info("CreateGameDtoWithoutPlayers(): homePitcher is null"); } if (awayPitcherId != null) { awayPitcherDto = GetPlayer(awayPitcherId.Value); } else { awayPitcherDto = null; Logger.Info("CreateGameDtoWithoutPlayers(): awayPitcher is null"); } MlbGameDto mlbGame = new MlbGameDto { GameId = gameId, StartDateTime = startDateTime, HomeTeam = homeTeamDto, AwayTeam = awayTeamDto, HomePitcher = homePitcherDto, AwayPitcher = awayPitcherDto }; return(mlbGame); }
private MlbGameDto CreateGameDtoWithPlayers(MlbShortGame mlbShortGame) { Guid gameId = mlbShortGame.GameId; DateTime startDateTime = mlbShortGame.StartDateTime; Guid homeTeamId = mlbShortGame.HomeTeamId; Guid awayTeamId = mlbShortGame.AwayTeamId; Guid? homePitcherId = mlbShortGame.HomePitcherId; Guid? awayPitcherId = mlbShortGame.AwayPitcherId; TeamDto homeTeamDto = GetTeam(homeTeamId); TeamDto awayTeamDto = GetTeam(awayTeamId); List <PlayerDto> homePlayerDtoList = GetPlayers(homeTeamId); List <PlayerDto> awayPlayerDtoList = GetPlayers(awayTeamId); if (homePlayerDtoList == null || homePlayerDtoList.Count == 0) { Logger.Info("CreateGameDtoWithPlayers(): homePlayerDtoList is null or empty"); } if (awayPlayerDtoList == null || awayPlayerDtoList.Count == 0) { Logger.Info("CreateGameDtoWithPlayers(): awayPlayerDtoList is null or empty"); } homeTeamDto.PlayerList = homePlayerDtoList; awayTeamDto.PlayerList = awayPlayerDtoList; PlayerDto homePitcher; PlayerDto awayPitcher; if (homePitcherId != null) { homePitcher = homeTeamDto.PlayerList?.Find(p => p.PlayerId == homePitcherId); } else { homePitcher = null; Logger.Info("CreateGameDtoWithPlayers(): homePitcher is null"); } if (awayPitcherId != null) { awayPitcher = homeTeamDto.PlayerList?.Find(p => p.PlayerId == awayPitcherId); } else { awayPitcher = null; Logger.Info("CreateGameDtoWithPlayers(): awayPitcher is null"); } MlbGameDto mlbGameDto = new MlbGameDto { GameId = gameId, StartDateTime = startDateTime, HomeTeam = homeTeamDto, AwayTeam = awayTeamDto, HomePitcher = homePitcher, AwayPitcher = awayPitcher }; return(mlbGameDto); }
public List <MlbGameDto> GetGames(int numberGameDays, bool loadPlayers) { lock (_lockObject) { List <MlbShortGame> mlbShortGameList = new List <MlbShortGame>(); List <MlbGameDto> mlbGameList = new List <MlbGameDto>(); using (NpgsqlConnection npgsqlConnection = new NpgsqlConnection(ConnectionString)) { npgsqlConnection.Open(); const string sqlCommandText = "select * from mlb.get_games(@number_games_days)"; using (NpgsqlCommand npgsqlCommand = new NpgsqlCommand(sqlCommandText, npgsqlConnection)) { npgsqlCommand.CommandType = CommandType.Text; NpgsqlParameter npgsqlParameter1 = new NpgsqlParameter("number_games_days", numberGameDays); npgsqlCommand.Parameters.Add(npgsqlParameter1); using (NpgsqlDataReader npgsqlDataReader = npgsqlCommand.ExecuteReader()) { if (!npgsqlDataReader.HasRows) { const string message = "GetGames() has no rows"; Logger.Info(message); return(mlbGameList); } while (npgsqlDataReader.Read()) { Guid gameId = npgsqlDataReader.GetGuid("game_id"); // DateTime startDateTime = npgsqlDataReader.GetDateTime("schedule"); DateTime startDateTime = npgsqlDataReader.GetDateTime("start_time"); Guid homeTeamId = npgsqlDataReader.GetGuid("home_id"); Guid awayTeamId = npgsqlDataReader.GetGuid("away_id"); Guid? homePitcherId = npgsqlDataReader.GetNullableGuid("home_pitcher_id"); Guid? awayPitcherId = npgsqlDataReader.GetNullableGuid("away_pitcher_id"); MlbShortGame mlbShortGame = new MlbShortGame { GameId = gameId, StartDateTime = startDateTime, HomeTeamId = homeTeamId, AwayTeamId = awayTeamId, HomePitcherId = homePitcherId, AwayPitcherId = awayPitcherId }; mlbShortGameList.Add(mlbShortGame); } } } } foreach (MlbShortGame mlbShortGame in mlbShortGameList) { MlbGameDto mlbGame = CreateGameDto(mlbShortGame, loadPlayers); mlbGameList.Add(mlbGame); } return(mlbGameList); } }