コード例 #1
0
        public static SportEvent Parse(dynamic dynamicXml)
        {
            if (dynamicXml == null)
            {
                return(null);
            }

            var builder = new SportEvent
            {
                Competitors     = Team.ParseList(dynamicXml.Competitors?.GetCompetitorList()),
                Id              = dynamicXml.Id,
                Liveodds        = dynamicXml.Liveodds,
                Name            = dynamicXml.Name,
                Parent          = ParentStage.Parse(dynamicXml.Parent),
                Races           = SportEventChild.ParseList(dynamicXml.Races?.GetSportEventList()),
                Scheduled       = dynamicXml.Scheduled <DateTimeOffset?>(),
                ScheduledEnd    = dynamicXml.ScheduledEnd <DateTimeOffset?>(),
                Season          = Responses.Season.Parse(dynamicXml.Season),
                Status          = dynamicXml.Status,
                Tournament      = Responses.Tournament.Parse(dynamicXml.Tournament),
                TournamentRound = MatchRound.Parse(dynamicXml.TournamentRound),
                Type            = dynamicXml.Type
            };

            return(builder);
        }
コード例 #2
0
        public static Fixture Parse(dynamic dynamicXml)
        {
            if (dynamicXml == null)
            {
                return(null);
            }

            var builder = new Fixture
            {
                Competitors        = Team.ParseList(dynamicXml.Competitors?.GetCompetitorList()),
                CoverageInfo       = Responses.CoverageInfo.Parse(dynamicXml.CoverageInfo),
                DelayedInfo        = Responses.DelayedInfo.Parse(dynamicXml.DelayedInfo),
                ExtraInfo          = ParseExtraInfo(dynamicXml.ExtraInfo),
                Id                 = dynamicXml.Id,
                Liveodds           = dynamicXml.Liveodds,
                Name               = dynamicXml.Name,
                NextLiveTime       = dynamicXml.NextLiveTime <DateTimeOffset?>(),
                Parent             = ParentStage.Parse(dynamicXml.Parent),
                ProductInfo        = Responses.ProductInfo.Parse(dynamicXml.ProductInfo),
                Races              = SportEventChild.ParseList(dynamicXml.Races?.GetSportEventList()),
                ReferenceIds       = Responses.ReferenceIds.Parse(dynamicXml.ReferenceIds),
                Scheduled          = dynamicXml.Scheduled <DateTimeOffset?>(),
                ScheduledEnd       = dynamicXml.ScheduledEnd <DateTimeOffset?>(),
                Season             = Responses.Season.Parse(dynamicXml.Season),
                StartTime          = dynamicXml.StartTime <DateTimeOffset>(),
                StartTimeConfirmed = dynamicXml.StartTimeConfirmed <bool?>(),
                Status             = dynamicXml.Status,
                Tournament         = Responses.Tournament.Parse(dynamicXml.Tournament),
                TournamentRound    = MatchRound.Parse(dynamicXml.TournamentRound),
                TvChannels         = TvChannel.ParseList(dynamicXml.TvChannels?.GetTvChannelList()),
                Type               = dynamicXml.Type,
                Venue              = Responses.Venue.Parse(dynamicXml.Venue)
            };

            return(builder);

            Dictionary <string, string> ParseExtraInfo(dynamic extraInfo)
            {
                return(extraInfo == null
                     ? new Dictionary <string, string>()
                     : ((IEnumerable <dynamic>)extraInfo.GetInfoList()).ToDictionary(x => (string)x.Key, x => (string)x.Value));
            }
        }
コード例 #3
0
        public static MatchRound Parse(dynamic dynamicXml)
        {
            if (dynamicXml == null)
            {
                return(null);
            }

            var builder = new MatchRound
            {
                CupRoundMatches     = dynamicXml.CupRoundMatches <int?>(),
                CupRoundMatchNumber = dynamicXml.CupRoundMatchNumber <int?>(),
                Group        = dynamicXml.Group,
                Name         = dynamicXml.Name,
                Number       = dynamicXml.Number <int?>(),
                OtherMatchId = dynamicXml.OtherMatchId,
                Type         = dynamicXml.Type
            };

            return(builder);
        }
コード例 #4
0
        public static TournamentInfo Parse(dynamic dynamicXml)
        {
            if (dynamicXml == null)
            {
                return(null);
            }

            var builder = new TournamentInfo
            {
                Tournament         = Responses.Tournament.Parse(dynamicXml.Tournament),
                Season             = Responses.Season.Parse(dynamicXml.Season),
                Round              = MatchRound.Parse(dynamicXml.Round),
                SeasonCoverageInfo = Responses.SeasonCoverageInfo.Parse(dynamicXml.SeasonCoverageInfo),
                Groups             = TournamentGroup.ParseList(dynamicXml.Groups?.GetGroupList()),
                Competitors        = Team.ParseList(dynamicXml.Competitors?.GetCompetitorList()),
                Children           = Responses.Tournament.ParseList(dynamicXml.Children?.GetTournamentList()),
                CoverageInfo       = Responses.CoverageInfo.Parse(dynamicXml.CoverageInfo),
                GeneratedOn        = dynamicXml.GeneratedAt <DateTimeOffset?>()
            };

            return(builder);
        }