Пример #1
0
        public static Game GetGame(string czGameId, Guid eventId, Guid drawId)
        {
            string gameJson = Request.GetGameJson(czGameId);

            Api.GameObject apiGame   = Api.GetGameObject(gameJson);
            Team           team1     = GetTeam(apiGame, true);
            Team           team2     = GetTeam(apiGame, false);
            Linescore      linescore = GetLinescore(apiGame);
            bool           isFinal   = GetIsFinal(apiGame.gameStatus);

            long     drawStartTimeInUnixTimeStamp = long.Parse(apiGame.draw.startsAt);
            DateTime drawStart = DateTimeOffset.FromUnixTimeSeconds(drawStartTimeInUnixTimeStamp).UtcDateTime;


            bool isOverAndFullyParsed = false;

            if (DateTime.Now.AddHours(-6) > drawStart && isFinal)
            {
                isOverAndFullyParsed = true;
            }
            Game game = new Game(team1, team2, linescore, isFinal, eventId, isOverAndFullyParsed, drawId);

            Program.Logger.Log("Getting Game", game);
            return(game);
        }
Пример #2
0
        private static Linescore GetLinescore(Api.GameObject apiGame)
        {
            int numberOfEnds = 10;

            int.TryParse(apiGame.numberOfEnds, out numberOfEnds);

            int lastPlayedEnd = 10;

            int.TryParse(apiGame.lastPlayedEnd, out lastPlayedEnd);

            Linescore linescore   = new Linescore(numberOfEnds);
            bool      team1Hammer = apiGame.homeHammer;

            for (var endNumber = 1; endNumber <= numberOfEnds + 1 && (endNumber - 1) < apiGame.homeScores.Count; endNumber++)
            {
                int team1Score = Utility.ParseIntWithDefault(apiGame.homeScores[endNumber - 1], 0);
                int team2Score = Utility.ParseIntWithDefault(apiGame.awayScores[endNumber - 1], 0);
                if (team1Score > 0 && team2Score > 0)
                {
                    Program.Logger.Log("Found end where both teams score.  Arbitrarily setting team 2's score to 0.");
                    team2Score = 0;
                }
                var end = new End(
                    team1Score,
                    team2Score,
                    team1Hammer,
                    endNumber,
                    (endNumber <= lastPlayedEnd)
                    );
                linescore.AddEnd(end);

                if (team1Score > 0)
                {
                    team1Hammer = false;
                }
                else if (team2Score > 0)
                {
                    team1Hammer = true;
                }
            }
            return(linescore);
        }
Пример #3
0
        public static Team GetTeam(Api.GameObject apiGame, bool isHomeTeam)
        {
            EventType.TeamType teamType = GetTeamTypeFromDivision([email protected]);

            string html            = "";
            string teamDisplayName = "";

            if (isHomeTeam)
            {
                html            = Request.GetHtml(apiGame.homeTeamUrl);
                teamDisplayName = apiGame.homeTeamDisplayName;
            }
            else
            {
                html            = Request.GetHtml(apiGame.awayTeamUrl);
                teamDisplayName = apiGame.awayTeamDisplayName;
            }

            List <Player> players = GetPlayers(html, teamType);
            Team          team    = new Team(teamType, players, teamDisplayName);

            return(team);
        }