private PinData ConvertOddEventToPinData(OddEvent oddEvent) { OddPeriod oddPeriod = oddEvent.Periods[0]; PinData data = new PinData(); data.DateAdded = DateTime.Now.AddHours(2); data.HomeScore = oddEvent.HomeScore; data.AwayScore = oddEvent.AwayScore; data.Totals = new List <PinTotal>(); data.HandiCaps = new List <PinHdp>(); data.EventId = oddEvent.EventId; data.StartTime = oddEvent.StartTime; data.HomeTeam = oddEvent.HomeTeam; data.AwayTeam = oddEvent.AwayTeam; if (oddPeriod.MoneyLine != null) { data.Home = oddPeriod.MoneyLine.Home.ToString(); data.Away = oddPeriod.MoneyLine.Away.ToString(); data.Draw = oddPeriod.MoneyLine.Draw.ToString(); } if (oddPeriod.Totals != null && oddPeriod.Totals.Count > 0) { foreach (Total total in oddPeriod.Totals) { data.Totals.Add(new PinTotal() { Points = total.Points.ToString(), Over = total.Over.ToString(), Under = total.Under.ToString() }); } } if (oddPeriod.Spreads != null && oddPeriod.Spreads.Count > 0) { foreach (OddsSpread spread in oddPeriod.Spreads) { data.HandiCaps.Add(new PinHdp() { Hdp = spread.Hdp.ToString(), Home = spread.Home.ToString(), Away = spread.Away.ToString() }); } } return(data); }
/// <summary> /// Инициализирует имеющиеся гандикапы для события /// </summary> /// <param name="oddEvent"></param> private void SetHandicapsForEvent(OddEvent oddEvent) { OddPeriod oddPeriod = oddEvent.Periods[0]; List <OddsSpread> spreads = oddPeriod.Spreads; oddPeriod.Handicaps = new List <Handicap>(); foreach (OddsSpread spread in spreads) { if (spread.Hdp <= 3.5M && spread.Hdp >= -3.5M) { Handicap handicap = new Handicap() { HDPHOME = spread.Hdp, HDPAWAY = spread.Hdp * (-1), HOME = spread.Home, AWAY = spread.Away }; oddPeriod.Handicaps.Add(handicap); } } }
/// <summary> /// Метод определяющий имеет ли пинакл событие хотя-бы один половинчатый тотал и гандикап для fulltime /// </summary> /// <param name="oddEvent">пинакл событие</param> /// <returns></returns> private bool IsEventIntresting2(OddEvent oddEvent) { bool consistTotal = false; bool consistHandicap = false; OddPeriod oddPeriod = oddEvent.Periods[0]; List <Total> totals = oddPeriod.Totals; List <OddsSpread> spreads = oddPeriod.Spreads; if (totals == null || spreads == null || totals.Count == 0 || spreads.Count == 0) { return(false); } foreach (Total total in totals) { if (total.Points % 1 == 0.5M && total.Points <= 6.5M && total.Points >= 0.5M) { consistTotal = true; } } foreach (OddsSpread spread in spreads) { if (Math.Abs(spread.Hdp % 1) == 0.5M && spread.Hdp <= 3.5M && spread.Hdp >= -3.5M) { consistHandicap = true; } } if (consistTotal == true && consistHandicap == true) { return(true); } else { return(false); } }
public PinacclePrices ConvertPinnacleEventToDatabasePrices(OddEvent oddEvent) { eventDiscs.Clear(); this.pinaccle = new PinacclePrices(); this.pinaccle.IsLive = oddEvent.IsLive; this.pinaccle.DateAdded = oddEvent.DateAdded; this.pinaccle.EventId = oddEvent.EventId.ToString(); this.properties = this.pinaccle.GetType().GetProperties(); this.pinaccle.HomeTeam = oddEvent.HomeTeam; this.pinaccle.AwayTeam = oddEvent.AwayTeam; this.pinaccle.StartTime = oddEvent.StartTime; OddPeriod oddPeriod = oddEvent.Periods[0]; MoneyLine moneyLine = oddPeriod.MoneyLine; List <Handicap> handicaps = oddPeriod.Handicaps; List <Total> totals = oddPeriod.Totals; DoubleChance doubleChance = oddPeriod.DoubleChance; if (oddPeriod.TeamTotal != null) { Total homeTotal = oddPeriod.TeamTotal.Home; Total awayTeamTotal = oddPeriod.TeamTotal.Away; if (homeTotal != null) { this.SetHomeTeamTotalPricesTodatabase(homeTotal); } if (awayTeamTotal != null) { this.SetAwayTeamTotalPricesToDatabase(awayTeamTotal); } } this.SetMoneyLinePricesToDatabase(moneyLine); //this.SetDoubleChanceToDatabasePrices(doubleChance); this.SetTotalPricesToDatabase(totals); //this.SetHomeTeamTotalPricesTodatabase(homeTotal); //this.SetAwayTeamTotalPricesToDatabase(awayTeamTotal); this.SetHandicapPricesToDatabase(handicaps); //var result = MathClass.GetStatsForMarket(this.eventDiscs); //this.pinaccle.EventDiscMax = result.maxDisc; //this.pinaccle.EventDiscAverage = result.averageDisc; //this.pinaccle.EventMediana = MathClass.GetMedForMarket(this.eventDiscs); return(this.pinaccle); }