public static OddsChangeEventStatus Parse(dynamic dynamicXml) { if (dynamicXml == null) { return(null); } var builder = new OddsChangeEventStatus { Claims = ParseClaims(), Clock = OddsChangeClock.Parse(dynamicXml.Clock), MatchStatus = dynamicXml.MatchStatus <int>(), PeriodScores = OddsChangePeriodScore.ParseList(dynamicXml.PeriodScores?.GetPeriodScoreList()), Results = OddsChangeResult.ParseList(dynamicXml.Results?.GetResultList()), Statistics = OddsChangeStatistics.Parse(dynamicXml.Statistics), Status = dynamicXml.Status <GameEventStatus>(), AwayScore = dynamicXml.AwayScore <double?>(), HomeScore = dynamicXml.HomeScore <double?>(), AwayGameScore = dynamicXml.AwayGamescore <double?>(), HomeGameScore = dynamicXml.HomeGamescore <double?>(), AwayPenaltyScore = dynamicXml.AwayPenaltyScore <double?>(), HomePenaltyScore = dynamicXml.HomePenaltyScore <double?>(), CurrentServer = dynamicXml.CurrentServer <byte?>(), }; return(builder); Dictionary <string, string> ParseClaims() { return(((IDictionary <string, string>)dynamicXml.GetAttributes()) .Where(x => x.Key != "status" && x.Key != "match_status") .ToDictionary(k => k.Key, v => v.Value)); } }
public static OddsChange Parse(dynamic dynamicXml) { if (dynamicXml == null) { return(null); } var builder = new OddsChange { BetStopReason = dynamicXml.Odds?.BetStopReason <OddsChangeBetStopReason?>(), BettingStatus = dynamicXml.Odds?.BettingStatus <OddsChangeBettingStatus?>(), EventId = dynamicXml.EventId, SportEventStatus = OddsChangeEventStatus.Parse(dynamicXml.SportEventStatus), Markets = OddsChangeMarket.ParseList(dynamicXml.Odds?.GetMarketList()), OddsChangeReason = dynamicXml.OddsChangeReason <OddsChangeReason>(), Product = dynamicXml.Product <ProductType>(), RequestId = dynamicXml.RequestId <int?>(), Timestamp = dynamicXml.Timestamp <long>() }; return(builder); }