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); }
public void Clone_clone_success() { Bet bet = new SingleBet(null, 0, null); var clonedBet = bet.Clone(); Assert.AreNotSame(bet, clonedBet); }
public void HasWon_setget_true() { Bet bet = new SingleBet(null, 0, null); bet.HasWon = true; Assert.AreEqual(true, bet.HasWon); }
static void Main(string[] args) { SingleBet singleBet = new SingleBet(); ComboBet comboBet = new ComboBet(); singleBet.PlaceBet(); comboBet.PlaceBet(); }
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 }); }
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!"; } }
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); }
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; }
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(); } }
public void HasWon_get_false() { Bet bet = new SingleBet(null, 0, null); Assert.AreEqual(false, bet.HasWon); }