コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
                }
            }
        }
コード例 #3
0
        /// <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);
            }
        }
コード例 #4
0
        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);
        }