Exemplo n.º 1
0
        private void createNewArbitrage(Game game,
                                        GameSiteRatio homeRatio,
                                        GameSiteRatio drawRatio,
                                        GameSiteRatio awayRatio,
                                        double probability)
        {
            Arbitrage arbitrage = new Arbitrage();

            arbitrage.GameId = game.Id;

            arbitrage.HomeRatio       = homeRatio.HomeRatio;
            arbitrage.HomeRatioSiteId = homeRatio.SiteId;
            arbitrage.DrawRatio       = drawRatio.DrawRatio;
            arbitrage.DrawRatioSiteId = drawRatio.SiteId;
            arbitrage.AwayRatio       = awayRatio.AwayRatio;
            arbitrage.AwayRatioSiteId = awayRatio.SiteId;

            arbitrage.HomeBetPercent = calcBetPercent(homeRatio.HomeRatio, probability);
            arbitrage.DrawBetPercent = calcBetPercent(drawRatio.DrawRatio, probability);
            arbitrage.AwayBetPercent = calcBetPercent(awayRatio.AwayRatio, probability);
            arbitrage.ProfitPercent  = (1 / probability) - 1;

            arbitrage.IsActive = true;
            arbitrage.FindTime = DateTime.Now;

            activeArbitrages.Add(game.Id, arbitrage);
            arbitrageDBManager.Add(arbitrage); // Add to DB
        }
Exemplo n.º 2
0
        private static void UpdateOrAddRatio(Game game, int siteId, double ratio1, double ratioX, double ratio2)
        {
            var manager    = new GameSiteRatiosManager();
            var siteRatios = game.GameSiteRatios;
            var siteRatio  = siteRatios.FirstOrDefault(r => r.SiteId == siteId);

            if (siteRatio == null)
            {
                siteRatio = new GameSiteRatio()
                {
                    GameId         = game.Id,
                    SiteId         = siteId,
                    HomeRatio      = ratio1,
                    DrawRatio      = ratioX,
                    AwayRatio      = ratio2,
                    LastUpdateTime = DateTime.Now
                };
                manager.Add(siteRatio);
            }
            else
            {
                siteRatio.HomeRatio = ratio1;
                siteRatio.DrawRatio = ratioX;
                siteRatio.AwayRatio = ratio2;
                manager.Update(siteRatio);
            }
        }