Esempio n. 1
0
        static void Main(string[] args)
        {
            // Creating instance of our dbController
            DbController dbController = new DbController();

            // Adding our method that hold saving to database logic to our invocation list
            SaveBetHandler saveHandler = new SaveBetHandler(dbController.SaveBet);

            // Creating two dummy bets
            IBet singleBet  = new SingleBet();
            IBet singleBet2 = new SingleBet();
            IBet singleBet3 = new SingleBet();
            IBet comboBet   = new ComboBet();

            // Creating delegates that point to appropriate placeBet functionality
            PlaceBetHandler singleBetHandler = new PlaceBetHandler(singleBet.PlaceBet);

            singleBetHandler += new PlaceBetHandler(singleBet2.PlaceBet) + new PlaceBetHandler(singleBet3.PlaceBet);
            PlaceBetHandler comBetHandler = new PlaceBetHandler(comboBet.PlaceBet);


            // Invoking them
            singleBetHandler.Invoke(singleBet, saveHandler);
            comBetHandler.Invoke(comboBet, saveHandler);
        }
        private DateTime?GoToPageAndScrapData(string url, SingleBet matchPartBet, SingleBetResult matchPartResult, IWebDriver driver, MatchPart matchPart)
        {
            var htmlDoc = new HtmlDocument();

            if (string.IsNullOrEmpty(driver.Url) || driver.Url == "data:,")
            {
                driver.Url = url;
            }
            else
            {
                driver.Navigate().GoToUrl(url);
                driver.Navigate().Refresh();
            }

            htmlDoc.LoadHtml(driver.PageSource);

            var detailsCol = htmlDoc.DocumentNode.Descendants().First(n => n.Id == "col-left").ChildNodes.First(n => n.Id == "col-content");

            var matchPartsOddsList = detailsCol.Descendants("ul").First(n => n.HasClass("sub-menu") && n.HasClass("subactive"));

            if ((int)matchPart < matchPartsOddsList.ChildNodes.Count)
            {
                GetOddsAndFillData(detailsCol, matchPartBet, matchPartResult);

                return(GetMatchDate(detailsCol.ChildNodes.FindFirst("p")));
            }

            return(null);
        }
Esempio n. 3
0
        public void Clone_clone_success()
        {
            Bet bet       = new SingleBet(null, 0, null);
            var clonedBet = bet.Clone();

            Assert.AreNotSame(bet, clonedBet);
        }
Esempio n. 4
0
        public void HasWon_setget_true()
        {
            Bet bet = new SingleBet(null, 0, null);

            bet.HasWon = true;
            Assert.AreEqual(true, bet.HasWon);
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            SingleBet singleBet = new SingleBet();
            ComboBet  comboBet  = new ComboBet();

            singleBet.PlaceBet();
            comboBet.PlaceBet();
        }
Esempio n. 6
0
        public void CalculatePayout_SingleBet_Success()
        {
            var  amount = 10;
            Tile tile   = new Tile {
                Color = "red", Value = "1"
            };
            Bet bet       = new SingleBet(null, amount, tile);
            var winAmount = bet.CalculatePayout(tile);

            Assert.AreEqual(360, winAmount);
        }
        private void GetOddsAndFillData(HtmlNode detailsCol, SingleBet matchPart, SingleBetResult matchPartResult)
        {
            matchPart.Result = matchPartResult;
            var odds = GetOddsList(detailsCol).ToList();

            matchPart.Odds = odds.Select(o => new SingleBetOdds
            {
                Hosts  = o.Hosts,
                Draw   = o.Draw,
                Guests = o.Guests
            });
        }
Esempio n. 8
0
        private static void SingleBet(Player player, ref Bet bet)
        {
            System.Console.WriteLine("Enter tile to bet on [00, 0-36]:");
            var value = System.Console.ReadLine();
            var tile  = GetTileByValue(value);

            if (tile != null)
            {
                bet = new SingleBet(player, tile);
            }
            else
            {
                _error = "Invalid tile, please enter valid tile number!";
            }
        }
Esempio n. 9
0
        public void CalculatePayout_SingleBet_Fail()
        {
            var  amount     = 10;
            Tile tileBetted = new Tile {
                Color = "red", Value = "1"
            };
            Bet bet = new SingleBet(null, amount, tileBetted);

            Tile tileWon = new Tile {
                Color = "red", Value = "10"
            };
            var winAmount = bet.CalculatePayout(tileWon);

            Assert.AreEqual(0, winAmount);
        }
Esempio n. 10
0
        static void Main(string[] args)
        {
            DbController dc = new DbController();

            SingleBet sb = new SingleBet();
            ComboBet  cb = new ComboBet();

            // subscribe
            sb.BetPlaced += dc.OnBetPlaced;
            cb.BetPlaced += dc.OnBetPlaced;

            sb.PlaceBet();
            cb.PlaceBet();

            // unsubscribe
            sb.BetPlaced -= dc.OnBetPlaced;
            cb.BetPlaced -= dc.OnBetPlaced;
        }
Esempio n. 11
0
        public static void IssueRefund(int eventID, string playerName, decimal amount)
        {
            var fullEvent = new Event();

            using (var session = RavenDocStore.Store.OpenSession())
            {
                fullEvent = EventService.GetFullEvent(eventID);
            }

            var singleBet = new SingleBet()
            {
                Stake       = amount,
                Odds        = 2.0M,
                FighterName = "REFUND",
                Result      = Result.Win,
                MatchNumber = 999
            };
            var singleBets = new List <SingleBet>();

            singleBets.Add(singleBet);

            var refund = new Bet()
            {
                EventID        = eventID,
                SeasonID       = fullEvent.SeasonID,
                PlayerName     = playerName,
                TimePlaced     = DateTime.Now,
                Stake          = amount,
                Odds           = 2.0M,
                Result         = Result.Win,
                IndividualBets = singleBets
            };

            using (var session = RavenDocStore.Store.OpenSession())
            {
                session.Store(refund);
                session.SaveChanges();
            }
        }
Esempio n. 12
0
        public void HasWon_get_false()
        {
            Bet bet = new SingleBet(null, 0, null);

            Assert.AreEqual(false, bet.HasWon);
        }