Esempio n. 1
0
        private WnbaGameDto CreateGame(WnbaShortGame wnbaShortGame)
        {
            Guid     gameId        = wnbaShortGame.GameId;
            DateTime startDateTime = wnbaShortGame.StartDateTime;
            Guid     homeTeamId    = wnbaShortGame.HomeTeamId;
            Guid     awayTeamId    = wnbaShortGame.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;

            WnbaGameDto wnbaGameDto = new WnbaGameDto
            {
                GameId        = gameId,
                StartDateTime = startDateTime,
                HomeTeam      = homeTeam,
                AwayTeam      = awayTeam
            };

            return(wnbaGameDto);
        }
Esempio n. 2
0
        public List <WnbaGameDto> GetGames(int numberGameDays, bool loadPlayers)
        {
            lock (_lockObject)
            {
                List <WnbaShortGame> wnbaShortGameList = new List <WnbaShortGame>();
                List <WnbaGameDto>   wnbaGameList      = new List <WnbaGameDto>();

                using (NpgsqlConnection npgsqlConnection = new NpgsqlConnection(ConnectionString))
                {
                    npgsqlConnection.Open();
                    const string sqlCommandText = "select * from wnba.get_games(@number_game_days)";

                    using (NpgsqlCommand npgsqlCommand = new NpgsqlCommand(sqlCommandText, npgsqlConnection))
                    {
                        npgsqlCommand.CommandType = CommandType.Text;

                        NpgsqlParameter npgsqlParameter1 = new NpgsqlParameter("number_game_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(wnbaGameList);
                            }

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

                                WnbaShortGame wnbaShortGame = new WnbaShortGame
                                {
                                    GameId        = gameId,
                                    StartDateTime = startDateTime,
                                    HomeTeamId    = homeTeamId,
                                    AwayTeamId    = awayTeamId
                                };

                                wnbaShortGameList.Add(wnbaShortGame);
                            }
                        }
                    }
                }

                foreach (WnbaShortGame wnbaShortGame in wnbaShortGameList)
                {
                    WnbaGameDto wnbaGame = CreateGame(wnbaShortGame);
                    wnbaGameList.Add(wnbaGame);
                }

                return(wnbaGameList);
            }
        }
        public static WnbaGame CreateWnbaGameFromWnbaGameDto(WnbaGameDto wnbaGameDto, bool loadPlayers, Container dependencyInjectionContainer)
        {
            WnbaGame wnbaGame = dependencyInjectionContainer.GetInstance <WnbaGame>();

            wnbaGame.GameId        = wnbaGameDto.GameId;
            wnbaGame.StartDateTime = wnbaGameDto.StartDateTime;
            wnbaGame.Started       = wnbaGameDto.Started;
            wnbaGame.HomeTeam      = CreateTeamFromTeamDto(wnbaGameDto.HomeTeam, loadPlayers);
            wnbaGame.AwayTeam      = CreateTeamFromTeamDto(wnbaGameDto.AwayTeam, loadPlayers);

            AssignPlayerNumbers(wnbaGame.HomeTeam.PlayerList, wnbaGame.AwayTeam.PlayerList);

            return(wnbaGame);
        }