Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. private IEnumerable<CrapsBet> GetCrapsBets(XElement playCheckEvent, List<XElement> otherEventsInElement)
  2. {
  3. var crapsBets = new List<CrapsBet>();
  4. var betsIn = playCheckEvent.Element("In").Element("Craps").Element("Table").Elements();
  5. var betsOut = playCheckEvent.Element("Out").Element("Craps").Element("Table").Elements();
  6. //Current event count
  7. var rollNumber = Convert.ToInt32(playCheckEvent.Element("In").Element("Craps").Attribute("rollNumber").Value);
  8.  
  9. foreach (var betPlayedOn in betsOut)
  10. {
  11. //Check if bet has been given new position
  12. if (betPlayedOn.Attribute("newName") == null)
  13. {
  14. crapsBets.Add(new CrapsBet(betPlayedOn.Attribute("name").Value, betPlayedOn.Attribute("position").Value,
  15. decimal.Divide(Convert.ToDecimal(betPlayedOn.Attribute("payoutInCents").Value), 100)));
  16. }
  17. else
  18. {
  19. crapsBets.Add(new CrapsBet(betPlayedOn.Attribute("name").Value, betPlayedOn.Attribute("position").Value,
  20. decimal.Divide(Convert.ToDecimal(betPlayedOn.Attribute("payoutInCents").Value), 100),
  21. betPlayedOn.Attribute("newName").Value, betPlayedOn.Attribute("newPosition").Value));
  22. }
  23.  
  24. }
  25.  
  26. foreach (var t in crapsBets)
  27. {
  28. foreach (var bet in betsIn)
  29. {
  30. if (t.BetName == bet.Attribute("name").Value &&
  31. t.Position == bet.Attribute("position").Value)
  32. {
  33. t.Wager = decimal.Divide(Convert.ToDecimal(bet.Attribute("wagerInCents").Value), 100);
  34. }
  35. }
  36. if (t.Wager != 0) continue;
  37. //If wager amount is 0, the bet wager was taken from previous roll bet. Take the bet amount from previous bet.
  38. //Bet amount could be multiple betting rounds back
  39. for (var i = rollNumber - 2; i >= 0; i--)
  40. {
  41. var prevEventInBets = XElement.Parse(otherEventsInElement[i].ToString()).Element("In").Element("Craps").Element("Table").Elements();
  42. foreach (var prevBet in prevEventInBets)
  43. {
  44. if (t.BetName == prevBet.Attribute("name").Value &&
  45. t.Position == prevBet.Attribute("position").Value)
  46. {
  47. t.Wager = decimal.Divide(Convert.ToDecimal(prevBet.Attribute("wagerInCents").Value),
  48. 100);
  49. break;
  50. }
  51. if (t.Wager != 0) break;
  52. }
  53. }
  54. }
  55. return crapsBets;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement