Ejemplo n.º 1
0
        private NbaGameDto CreateGameDtoWithoutPlayers(NbaShortGame nbaShortGame)
        {
            Guid     gameId        = nbaShortGame.GameId;
            DateTime startDateTime = nbaShortGame.StartDateTime;
            Guid     homeTeamId    = nbaShortGame.HomeTeamId;
            Guid     awayTeamId    = nbaShortGame.AwayTeamId;

            TeamDto homeTeam = GetTeam(homeTeamId);
            TeamDto awayTeam = GetTeam(awayTeamId);

            List <PlayerDto> homePlayerList = GetPlayers(homeTeamId);
            List <PlayerDto> awayPlayerList = GetPlayers(awayTeamId);

            homeTeam.PlayerList = homePlayerList;
            awayTeam.PlayerList = awayPlayerList;

            NbaGameDto nbaGameDto = new NbaGameDto
            {
                GameId        = gameId,
                StartDateTime = startDateTime,
                HomeTeam      = homeTeam,
                AwayTeam      = awayTeam
            };

            return(nbaGameDto);
        }
Ejemplo n.º 2
0
        public List <NbaGameDto> GetGames(int numberGameDays, bool loadPlayers)
        {
            lock (_lockObject)
            {
                List <NbaShortGame> nbaShortGameList = new List <NbaShortGame>();
                List <NbaGameDto>   nbaGameList      = new List <NbaGameDto>();

                using (NpgsqlConnection npgsqlConnection = new NpgsqlConnection(ConnectionString))
                {
                    npgsqlConnection.Open();
                    const string sqlCommandText = "select * from nba.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(nbaGameList);
                            }

                            while (npgsqlDataReader.Read())
                            {
                                Guid     gameId        = npgsqlDataReader.GetGuid("game_id");
                                DateTime startDateTime = npgsqlDataReader.GetDateTime("start_time");
                                Guid     homeTeamId    = npgsqlDataReader.GetGuid("home_id");
                                Guid     awayTeamId    = npgsqlDataReader.GetGuid("away_id");

                                NbaShortGame nbaShortGame = new NbaShortGame
                                {
                                    GameId        = gameId,
                                    StartDateTime = startDateTime,
                                    HomeTeamId    = homeTeamId,
                                    AwayTeamId    = awayTeamId
                                };

                                nbaShortGameList.Add(nbaShortGame);
                            }
                        }
                    }
                }

                foreach (NbaShortGame nbaShortGame in nbaShortGameList)
                {
                    NbaGameDto nbaGame = CreateGameDto(nbaShortGame, loadPlayers);
                    nbaGameList.Add(nbaGame);
                }

                return(nbaGameList);
            }
        }
Ejemplo n.º 3
0
        private NbaGameDto CreateGameDto(NbaShortGame nbaShortGame, bool loadPlayers)
        {
            if (loadPlayers)
            {
                return(CreateGameDtoWithPlayers(nbaShortGame));
            }

            return(CreateGameDtoWithoutPlayers(nbaShortGame));
        }