public Gamble(List <Property> properties, World world) : base(properties, world) { foreach (Property property in properties) { switch (property.Name) { case "site_id": Site = world.GetSite(Convert.ToInt32(property.Value)); break; case "subregion_id": Region = world.GetRegion(Convert.ToInt32(property.Value)); break; case "feature_layer_id": UndergroundRegion = world.GetUndergroundRegion(Convert.ToInt32(property.Value)); break; case "old_account": OldAccount = Convert.ToInt32(property.Value); break; case "new_account": NewAccount = Convert.ToInt32(property.Value); break; case "gambler_hfid": Gambler = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "structure_id": StructureId = Convert.ToInt32(property.Value); break; } } if (Site != null) { Structure = Site.Structures.FirstOrDefault(structure => structure.Id == StructureId); } Site.AddEvent(this); Region.AddEvent(this); UndergroundRegion.AddEvent(this); Gambler.AddEvent(this); Structure.AddEvent(this); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new Gambler { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,FirstName,LastName,FullName,Nationality,Earnings,ProfilePicture,CoverPhoto")] Gambler gambler) { if (id != gambler.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(gambler); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!GamblerExists(gambler.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(gambler)); }
protected void btnSingleChoice_Click(object sender, EventArgs e) { try { var guid = CasinoItem.GetCasinoItemGuidByMatch(CurrentMatch, CasinoType.SingleChoice); if (guid.HasValue) { if (CasinoItem.GetCasinoItem(guid.Value).CloseTime < DateTime.Now) { throw new Exception("已超出投注截止时间"); } //Gambler in Lower could not bet above the SingleBetLimit of DefaultLeague (Contest) var m = new Match(CurrentMatch); if (m.LeagueGuid.Equals(ConfigGlobal.DefaultLeagueID)) { if (Gambler.GetGamblerTotalBetByUserId(userid, m.LeagueGuid) < ConfigGlobal.TotalBetStandard) { var alreadyMatchBet = Bet.GetUserMatchTotalBet(userid, CurrentMatch); float currentMatchBet; if (!string.IsNullOrEmpty(tbBet.Text.Trim()) && float.TryParse(tbBet.Text.Trim(), out currentMatchBet)) { if (ConfigGlobal.SingleBetLimit > 0 && alreadyMatchBet + currentMatchBet > ConfigGlobal.SingleBetLimit) { throw new Exception( $"下半赛区博彩玩家单场投注不能超过{ConfigGlobal.SingleBetLimit.ToString("f2")}博彩币"); } } } } //get selected option var item = (SingleChoice)CasinoItem.GetCasinoItem(guid.Value); var seletedOption = item.Options.Find(option => option.OptionValue == rblSingleChoice.SelectedValue); var bet = new Bet { BetAmount = Convert.ToSingle(tbBet.Text.Trim()), BetRate = seletedOption.OptionRate, CasinoItemGuid = guid.Value, UserID = userid, UserName = username }; bet.Insert(seletedOption.OptionValue); ClientScript.RegisterClientScriptBlock(typeof(string), "succeed", "alert('投注成功'); window.location.href = window.location.href;", true); } } catch (Exception ex) { ClientScript.RegisterClientScriptBlock(typeof(string), "failed", $"alert('{ex.Message}')", true); } }
public async Task <IActionResult> Gambler(GamblerBindingModel gamblerBindingModel) { ViewData[StaticConstants.Message] = gamblerBindingModel.message; ViewData[StaticConstants.Error] = gamblerBindingModel.error; var currentGambler = await new GamblerQueryHandler().HandleAsync(new GamblerQuery { Name = gamblerBindingModel.name }); IEnumerable <Gambler> gamblers = await new GamblerQueryHandler().HandleAsync(new GamblerQuery()); Gambler gambler = currentGambler.ToList().FirstOrDefault(); if (gambler == null) { return(RedirectToAction(StaticConstants.GamblersAll, new { error = StaticConstants.GamblerDontExistError })); } var messagesSendByGambler = await new MessageQueryHandler().HandleAsync(new MessageQuery()); var messagesSend = messagesSendByGambler.Where(m => m.FromGamblerId == gambler.Id).ToList(); ViewData[StaticConstants.MessagesSend] = messagesSend; var messagesReceivedByGambler = await new MessageQueryHandler().HandleAsync(new MessageQuery()); var messagesReceived = messagesReceivedByGambler.Where(m => m.ToGamblerId == gambler.Id).ToList(); ViewData[StaticConstants.MessagesReceived] = messagesReceived; return(View(model: gambler)); }
private void AllRB_CheckedChanged(object sender, EventArgs e) { RadioButton fakeRB = new RadioButton(); fakeRB = (RadioButton)sender; if (fakeRB.Checked) { //look for the name of the person that has been selected to place their bets switch (fakeRB.Text) { case "Karen": CurrentGambler = new Karen(); break; case "Becky": CurrentGambler = new Becky(); break; case "Brad": CurrentGambler = new Brad(); break; case "Jordan": CurrentGambler = new Jordan(); break; } GamblerNum = Factory.SetGamblerNumber(CurrentGambler.GamblerName); //set the UpDown maximum value and starting value to the balance of the gambler that is selected and set the combobox to null to ensure they remember to choose a party cbxParty.SelectedItem = null; udBet.Maximum = (decimal)myGambler[GamblerNum].Balance; udBet.Value = (decimal)myGambler[GamblerNum].Balance; lblMax.Text = ("$" + Convert.ToString(myGambler[GamblerNum].Balance)); } }
public void GetDescription_WhenBetIsGreaterThanZero_Integration_ReturnsPlacedBetString() { /* TODO Get feedback on the best way to test a class that is only instantiated through another class. * A bet is created when a Gambler instantiates it. Does that mean I should test the Bet class * by first creating a Gambler object that calls the Bet method, or do I just test the methods * directly from the Bet class without any Gambler object? I'm assuming to test it like the way * it's implemented, which in this case means I should create a Gambler object first. * */ //Arrange string gamblersName = "Gabby"; int gamblersCash = 50; RadioButton gamblersRadioButton = new RadioButton(); Label gamblersLabel = new Label(); Gambler bettor = new Gambler() { Name = gamblersName, Cash = gamblersCash, MyRadioButton = gamblersRadioButton, MyLabel = gamblersLabel }; string expectedDescription = "Gabby bets 20 bucks on squirrel #1"; //Act bool betIsLessThanGamblersCash = bettor.PlaceBet(20, 1); string actualDescription = bettor.MyLabel.Text; //Assert Assert.AreEqual(expectedDescription, actualDescription); }
public async Task <IActionResult> UserInfo() { AppUser curruser = await userManager.GetUserAsync(User); string userDetails = curruser.UserName; string role = "Admin"; if (curruser.GamblerId != null) { Gambler gambler = await _context.Gambler.FindAsync(curruser.GamblerId); userDetails = gambler.FullName + ", " + gambler.Nationality; role = "Gambler"; } UserInfoViewModel userInfoViewModel = new UserInfoViewModel { UserDetails = userDetails, Role = role, Id = curruser.Id, PasswordHash = curruser.PasswordHash, Email = curruser.Email }; return(View(userInfoViewModel)); }
protected void Page_Load(object sender, EventArgs e) { if (UserId <= 0) { pnlMyCasino.Visible = false; } else { pnlMyCasino.Visible = true; var g = new Gambler(UserId); if (g != null) { var strRp = g.RPBonus.HasValue ? $"(RP: {g.RPBonus.Value}) " : string.Empty; var strRank = g.ContestRank.HasValue ? $"(Rank: {g.ContestRank.Value}) " : string.Empty; ltrlMyGamblerInfo.Text = $"<li class=\"LiTitle\">博彩币:<em style=\"font-size: 12px; margin: 0 2px\">{g.Cash.ToString("N2")}</em>{(string.IsNullOrEmpty(strRp) && string.IsNullOrEmpty(strRank) ? string.Empty : $"<br /><em style=\"font-size: 12px; margin: 0 2px\" title=\"博彩获得RP | 当前赛季总排名\">{strRp}{strRank}</em>")}</li>"; } } #region HideCasinoSysNotice if (string.IsNullOrEmpty(ConfigGlobal.SysNotice)) { pnlNotice.Visible = false; } #endregion }
public void Create(List <SerializableType> returnList) { var message = returnList[0] as ResponseMessage; var response = (Response)Enum.Parse(typeof(Response), message.Response); if (response != Response.Succed) { return; } var roomName = message.Message; var playerName = Network.Instance.ClientPlayer.Name; Network.Instance.ClientPlayer.LobbyName = roomName; Network.Instance.ClientPlayer.Team = Team.Red; GameFlow.Instance.IsGameCreator = true; var users = new List <SerializableType>(); var user = new Gambler() { Name = playerName, Slot = 0, Id = Network.Instance.ClientPlayer.Id }; users.Add(user); _helper.ExecuteOnMainThread.Enqueue(() => { _helper.ShowRoom(roomName, users); }); }
public void ClearBet_GamblersBetIsCleared() { //Arrange string gamblersName = "Michelle"; Bet gamblersBet = null; int gamblersCash = 25; Gambler bettor = new Gambler() { Name = gamblersName, MyBet = gamblersBet, Cash = gamblersCash, }; int gamblerBetAmount = 25; int squirrel = 1; bettor.MyBet = new Bet() { Amount = gamblerBetAmount, Squirrel = squirrel, Bettor = bettor }; Bet expectedBet = null; //Act bettor.ClearBet(); Bet actualBet = bettor.MyBet; //Assert Assert.AreEqual(expectedBet, actualBet); }
public void CollectBet_WhenGamblerLoses() { //Arrange string gamblersName = "Cloud"; int gamblersCash = 25; Bet gamblersBet = null; RadioButton gamblersRadioButton = new RadioButton(); Label gamblersLabel = new Label(); Gambler bettor = new Gambler() { Name = gamblersName, Cash = gamblersCash, MyBet = gamblersBet, MyRadioButton = gamblersRadioButton, MyLabel = gamblersLabel }; int betAmount = 20; int chosenSquirrel = 1; bettor.MyBet = new Bet() { Amount = betAmount, Squirrel = chosenSquirrel, Bettor = bettor }; int expectedCash = 5; //Act bettor.Collect(2); int actualCash = bettor.Cash; //Assert Assert.AreEqual(expectedCash, actualCash); }
public void UpdateLabels_GamblerHasCashAndDoesntPlaceBet() { //Arrange string gamblersName = "Adam"; Bet gamblersBet = null; int gamblersCash = 50; RadioButton gamblersRadioButton = new RadioButton(); Label gamblersLabel = new Label(); Gambler bettor = new Gambler() { Name = gamblersName, MyBet = gamblersBet, Cash = gamblersCash, MyRadioButton = gamblersRadioButton, MyLabel = gamblersLabel }; string expectedRdoText = "Adam has 50 bucks"; string expectedLblText = "Adam hasn't placed a bet"; //Act bettor.UpdateLabels(); string actualRdoText = bettor.MyRadioButton.Text; string actualLblText = bettor.MyLabel.Text; //Assert Assert.AreEqual(expectedRdoText, actualRdoText); Assert.AreEqual(expectedLblText, actualLblText); }
public void GetDescription_WhenBetIsEqualToZero_Integration_ReturnsNoPlacedBetString() { //Arrange string gamblersName = "G-Man"; int gamblersCash = 50; RadioButton gamblersRadioButton = new RadioButton(); Label gamblersLabel = new Label(); Gambler bettor = new Gambler() { Name = gamblersName, Cash = gamblersCash, MyRadioButton = gamblersRadioButton, MyLabel = gamblersLabel }; string expectedDescription = "G-Man hasn't placed a bet"; //Act bool betIsLessThanGamblersCash = bettor.PlaceBet(0, 1); string actualDescription = bettor.MyLabel.Text; //Assert Assert.AreEqual(expectedDescription, actualDescription); }
public void Payout_WhenThereIsNotAWinner_Integration_ReturnsNegativeAmount() { //Arrange string gamblersName = "Otis"; int gamblersCash = 25; RadioButton gamblersRadioButton = new RadioButton(); Label gamblersLabel = new Label(); Gambler bettor = new Gambler() { Name = gamblersName, Cash = gamblersCash, MyRadioButton = gamblersRadioButton, MyLabel = gamblersLabel }; int betAmount = 20; int chosenSquirrel = 1; bettor.MyBet = new Bet() { Amount = betAmount, Squirrel = chosenSquirrel, Bettor = bettor }; int expectedCash = 5; //Act bettor.Collect(2); int actualCash = bettor.Cash; //Assert Assert.AreEqual(expectedCash, actualCash); }
protected void gvGambler_RowUpdating(object sender, GridViewUpdateEventArgs e) { var tbCash = gvGambler.Rows[gvGambler.EditIndex].FindControl("tbCash") as TextBox; var tbWin = gvGambler.Rows[gvGambler.EditIndex].FindControl("tbWin") as TextBox; var tbLose = gvGambler.Rows[gvGambler.EditIndex].FindControl("tbLose") as TextBox; var key = gvGambler.DataKeys[gvGambler.EditIndex]; if (key != null) { var gambler = new Gambler((int)key.Value); if (tbCash != null && tbWin != null && tbLose != null) { try { gambler.Cash = Convert.ToSingle(tbCash.Text); gambler.Win = Convert.ToInt16(tbWin.Text); gambler.Lose = Convert.ToInt16(tbLose.Text); gambler.Update(); ClientScript.RegisterClientScriptBlock(typeof(string), "success", "alert('修改玩家信息成功');", true); } catch { ClientScript.RegisterClientScriptBlock(typeof(string), "failed", "alert('修改玩家信息失败');", true); } } } gvGambler.EditIndex = -1; BindData(); }
protected void Page_Load(object sender, EventArgs e) { if (_userId != -1) { phAnonymous.Visible = false; phAthenticated.Visible = true; ltrlUserName.Text = _userName; linkLogout.NavigateUrl = $"{linkLogout.NavigateUrl}{_userKey}"; } else { phAnonymous.Visible = true; phAthenticated.Visible = false; } ltrlTitle.Text = $"<a href=\"/index.aspx\">{"阿森纳中国官方球迷会"}</a> » <a href=\"default.aspx\">{ConfigGlobal.PluginDisplayName}</a> » <strong>{Page.Title}</strong>"; ltrlGamblerCount.Text = Gambler.GetGamblerCount().ToString(); ltrlGameCount.Text = (CasinoItem.GetMatchCasinoItemCount() + CasinoItem.GetOtherCasinoItemCount()).ToString(); var defaultBanker = new Banker(Banker.DefaultBankerID); ltrlDefaultBanker.Text = defaultBanker.Cash.ToString("N2"); }
public static void Main(string[] args) { var gamer = new Gambler(new SafeStrategy()); while (gamer.Money > 10) { gamer.MakeMove(); } Console.WriteLine("Changing strategy to risky one..."); gamer.SetStrategy(new RiskyStrategy()); gamer.MakeMove(); /* * Making a move... * Result: -2 * Current money: 13 * Making a move... * Result: -2 * Current money: 11 * Making a move... * Result: -2 * Current money: 9 * Changing strategy to risky one... * Making a move... * Result: 30 * Current money: 39 */ }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += Gambler.ToLink(link, pov, this); // same ranges like in "trade" event var balance = NewAccount - OldAccount; if (balance >= 5000) { eventString += " made a fortune"; } else if (balance >= 1000) { eventString += " did well"; } else if (balance <= -1000) { eventString += " did poorly"; } else if (balance <= -5000) { eventString += " lost a fortune"; } else { eventString += " broke even"; } eventString += " gambling"; if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } if (Structure != null) { eventString += " at "; eventString += Structure.ToLink(link, pov, this); } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public void Not_Enough_Cash_Message() { // Arrange var guy = new Gambler(); // Act var actual = guy.PlaceBet(1, 1); // Assert Assert.AreEqual(false, actual); }
protected void Page_Load(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Request.QueryString["UserID"])) { BtnBet.Visible = false; BtnViewBet.Visible = true; BtnViewBonus.Visible = true; BtnViewBet.OnClientClick = $"window.location.href='MyBetLog.aspx?userid={UserId}'; return false;"; BtnViewBonus.OnClientClick = $"window.location.href='MyBonusLog.aspx?userid={UserId}'; return false;"; } else { BtnBet.Visible = true; BtnViewBet.Visible = false; BtnViewBonus.Visible = false; } if (UserId > 0) { var currentGamlber = new Gambler(UserId); ltrlTotalBet.Text = currentGamlber.TotalBet.ToString("N2"); ltrlWin.Text = currentGamlber.Win.ToString(); ltrlLose.Text = currentGamlber.Lose.ToString(); ltrlEarning.Text = Bet.GetUserTotalWinCash(UserId).ToString("N2"); ltrlCash.Text = currentGamlber.Cash.ToString("N2"); ltrlQSB.Text = Users.GetUserExtCredits(UserId, 2).ToString("N2"); ltrlRP.Text = Users.GetUserExtCredits(UserId, 4).ToString("f0"); //UserInfo userInfo = AdminUsers.GetUserInfo(UserID); var myAvatar = Avatars.GetAvatarUrl(UserId, AvatarSize.Small); //if (userInfo.Avatar == string.Empty) //{ // imgAvatar.ImageUrl = "/images/common/noavatar_small.gif"; //} //else if (userInfo.Avatar.ToLower().IndexOf(@"/") == 0) //{ // imgAvatar.ImageUrl = userInfo.Avatar; //} //else if (userInfo.Avatar.ToLower().IndexOf("http") >= 0) //{ // imgAvatar.ImageUrl = userInfo.Avatar; //} //else //{ // imgAvatar.ImageUrl = string.Format("/{0}", userInfo.Avatar); //} imgAvatar.ImageUrl = myAvatar; imgAvatar.AlternateText = UserName; hlUserName.Text = UserName; } }
public void Logout() { var parameters = new List<SerializableType>(); var authetification = new Gambler() { Name = Network.Instance.ClientPlayer.Name, Id = Network.Instance.ClientPlayer.Id }; parameters.Add(authetification); var remoteMethod = new RemoteInvokeMethod(Command.Logout, parameters); BeginSendPackage(remoteMethod); }
public async Task <IActionResult> Ticket(CreateTicketBindingModel createTicketBindingModel) { //get competitor ID IEnumerable <Competitor> competitors = await new CompetitorQueryHandler().HandleAsync(new CompetitorQuery { Name = createTicketBindingModel.competitor }); Competitor competitor = competitors.Where(c => c.Name == createTicketBindingModel.competitor) .ToList() .FirstOrDefault(); if (competitor == null) { return(RedirectToAction(StaticConstants.Competition, StaticConstants.ApiCompetitions, new { name = createTicketBindingModel.competitionName, error = StaticConstants.TicketNotCreatedCreatorNullError })); } Guid competitorId = competitor.Id; //get gambler ID var currentGambler = await new GamblerQueryHandler().HandleAsync(new GamblerQuery { Name = createTicketBindingModel.gambler }); Gambler gambler = currentGambler.Where(c => c.Name == createTicketBindingModel.gambler) .ToList() .FirstOrDefault(); if (gambler == null) { return(RedirectToAction(StaticConstants.Competition, StaticConstants.ApiCompetitions, new { name = createTicketBindingModel.competitionName, error = StaticConstants.TicketNotCreatedGamblerNullError })); } Guid gamblerId = gambler.Id; //Create BuyTicketCommand command BuyTicketCommand command = new BuyTicketCommand { Id = Guid.NewGuid(), CompetitionId = Guid.Parse(createTicketBindingModel.competitionId), CompetitorId = competitorId, GamblerId = gamblerId, IsPaymentReceived = createTicketBindingModel.paymentReceived }; var handler = new BuyTicketHandler(); await handler.HandleAsync(command); return(RedirectToAction(StaticConstants.Ticket, new { id = command.Id, message = StaticConstants.TicketBoughtSuccessMessage })); }
/// <summary> /// Добавляет игрока /// </summary> /// <param name="_gambler"></param> /// <returns></returns> public static bool AddGambler(Gambler _gambler) { try { Gamblers.Add(_gambler);//добавляем игрока в коллекцию return(true); } catch (Exception) { return(false); } }
static void Main(string[] args) { //Character character = new Warrior(100, 15, 1, 67); //character.PrintHealth(); //virtual zeby uzyc metod z warriora //character.PrintAttack(); //nie wirtual zeby uzyc z character //character.PrintMana(); //Warrior warrior = new Warrior(100, 10, 5, 15); //warrior.PrintHealth(); //nawet bez wirtual uzyje character //warrior.PrintAttack(); //warrior.PrintMana(); Character warrior = new Warrior(500, 70, 0, 65); Character rouge = new Rouge(400, 70, 0, 65); Character mage = new Mage(300, 30, 3000, 10); Character ranger = new Ranger(400, 60, 300, 30); Paladin paladin = new Paladin(700, 70, 100, 30, 50); Berserker berserker = new Berserker(700, 70, 0, 55); Assassin assassin = new Assassin(600, 80, 0, 79); Gambler gambler = new Gambler(600, 50, 0, 40, 3); Archmage archmage = new Archmage(500, 30, 5000, 60); Bloodmage bloodmage = new Bloodmage(500, 30, 2000, 60); Sniper sniper = new Sniper(600, 80, 100, 30); BeastMaster beastMaster = new BeastMaster(700, 60, 500, 50); // wip Fighting fighting = new Fighting(); List <Character> lista = new List <Character> { paladin, berserker, assassin, gambler, archmage, bloodmage, sniper, beastMaster }; Start start = new Start(); start.StartingInterface(lista); // if (berserker.GetHealth() <= 0) // { // for (int i = berserker.ImmortalRage(); i > 0; i--) // { // Fight(berserker, assassin, playerOneTurn = !playerOneTurn); // } // } Console.ReadKey(); }
public void CheckWinningsTest() { RaceCourse rc = new RaceCourse(); Boat sb = new SailBoat(1, "sloop", "diesel", 30, true); List <Boat> rBoats = BoatRace.Program.CreateTheBoats("SpeedBoat", 4); Gambler player = new Gambler(); player.Winnings = 500; player.Wager = 500; //OddsToWin moved to Boat Class after testing sb.OddsToWin = 2; BoatRace.Program.CheckWinnings(rBoats, rc, 3, player); Assert.IsTrue(player.Winnings == 1000); }
/// <summary> /// Method allows to compare on equality /// instances of this class /// </summary> /// <param name="obj">Object for compare</param> /// <returns>true(objects are the same) or false(objects are not the same)</returns> public override bool Equals(object obj) { Gambler gambler = obj as Gambler; if (gambler != null) { return(FirstName.Equals(gambler.FirstName) & LastName.Equals(gambler.LastName) & Patronym.Equals(gambler.Patronym) & Rate.Equals(gambler.Rate) & Bet.Equals(gambler.Bet)); } return(false); }
private static int UserGamblerSync(object providerUserKey) { Contract.Requires(providerUserKey != null); object gamblerKey = null; var user = Single(providerUserKey); if (user.AcnID > 0 && !string.IsNullOrEmpty(user.AcnUserName)) { IRepository repo = new Repository(); var query = repo.Query <Gambler>(x => x.UserID == user.AcnID); if (query != null && query.Count > 0) { HttpContext.Current.Session["Gambler"] = query[0]; gamblerKey = query[0].ID; } else { // Create new gambler instance var gambler = new Gambler(); if (user.AcnID != null) { gambler.UserID = user.AcnID.Value; } gambler.UserName = user.AcnUserName.Trim(); gambler.Cash = 1000f; // initial fund gambler.TotalBet = 0f; gambler.Win = 0; gambler.Lose = 0; gambler.RPBonus = null; gambler.ContestRank = null; gambler.TotalRank = 0; gambler.Banker = null; gambler.JoinDate = DateTime.Now; gambler.IsActive = true; gambler.Description = string.Empty; gambler.Remark = "Mobile Sync"; repo.Insert(gambler, out gamblerKey); } } return(gamblerKey != null?Convert.ToInt32(gamblerKey) : 0); }
protected void gvGambler_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "ResetGambler") { try { Gambler.GamblerStatistics(Convert.ToInt32(e.CommandArgument)); ClientScript.RegisterClientScriptBlock(typeof(string), "success", "alert('统计玩家信息成功');", true); } catch (Exception ex) { ClientScript.RegisterClientScriptBlock(typeof(string), "failed", $"alert('{ex.Message}');", true); } } }
/// 分配赌徒个人赌资 private float DistributeGamblerMoney(Gambler gambler, float winnersContribute) { Random luck = new Random(); float minRate = gambler.ContributeMoney / winnersContribute; double actualRate = luck.NextDouble(); // 概率重映射 if (actualRate < minRate) { actualRate = actualRate / minRate * (1 - minRate) + minRate; } gambler.Reward = (float)Math.Round(actualRate * GamblingMoney, 2); gambler.GetReward(gambler.Reward); GamblingMoney -= gambler.Reward; return(gambler.Reward); }
public MyGamblerService(Gambler.Model.Gambler gambler) { this.gambler = gambler; }
private static int UserGamblerSync(object providerUserKey) { Contract.Requires(providerUserKey != null); object gamblerKey = null; var user = Single(providerUserKey); if (user.AcnID > 0 && !string.IsNullOrEmpty(user.AcnUserName)) { IRepository repo = new Repository(); var query = repo.Query<Gambler>(x => x.UserID == user.AcnID); if (query != null && query.Count > 0) { HttpContext.Current.Session["Gambler"] = query[0]; gamblerKey = query[0].ID; } else { // Create new gambler instance var gambler = new Gambler(); if (user.AcnID != null) gambler.UserID = user.AcnID.Value; gambler.UserName = user.AcnUserName.Trim(); gambler.Cash = 1000f; // initial fund gambler.TotalBet = 0f; gambler.Win = 0; gambler.Lose = 0; gambler.RPBonus = null; gambler.ContestRank = null; gambler.TotalRank = 0; gambler.Banker = null; gambler.JoinDate = DateTime.Now; gambler.IsActive = true; gambler.Description = string.Empty; gambler.Remark = "Mobile Sync"; repo.Insert(gambler, out gamblerKey); } } return gamblerKey != null ? Convert.ToInt32(gamblerKey) : 0; }
public BindingList<Gambler> showContestBettors(int contestID, bool payoffOnly) { DbCommand cmd = this.cnn.CreateCommand(); if (payoffOnly) { cmd.CommandText = "SELECT (amount * " + this.netamt + ") amt ,bet_type_id,bets.contest_id,bets.team_id,bets.user_id,email FROM bets,users,contest where bets.contest_id = ? and users.user_id = bets.user_id and contest.result = bets.team_id and bets.contest_id = contest.contest_id order by bet_type_id, users.user_id"; } else { cmd.CommandText = "SELECT (amount * " + this.netamt + ") amt ,bet_type_id,contest_id,team_id,bets.user_id,email FROM bets,users where contest_id = ? and users.user_id = bets.user_id order by bet_type_id, users.user_id"; } DbParameter cID = cmd.CreateParameter(); cmd.Parameters.Add(cID); cID.Value = contestID; BindingList<Gambler> gambler = new BindingList<Gambler>(); using (DbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { Dictionary<string, ArrayList> p = setProbs(Convert.ToInt32(reader[2]), Convert.ToInt32(reader[1])); double poff = payoff(Convert.ToDouble(reader[0]), (double)p[reader[3].ToString()][1], Convert.ToInt32(reader[1])); Gambler g = new Gambler(Convert.ToInt32(reader[4]) , p[reader[3].ToString()] //only need the probs for this team & bettype , poff , reader[3].ToString() , Convert.ToInt32(reader[2]) , Convert.ToInt32(reader[1]) , Convert.ToDouble(reader[0]) , reader[5].ToString() ); g.Contest = showContest(g.contest); g.Team = showTeam(Convert.ToInt32(g.team)); gambler.Add(g); } } return (gambler); }
public List<Gambler> showBettor(int uid) { DbCommand cmd = this.cnn.CreateCommand(); cmd.CommandText = "SELECT (amount * " + this.netamt + ") amt ,bet_type_id,contest_id,team_id,email FROM bets,users where bets.user_id = ? and bets.user_id = users.user_id order by bet_type_id"; DbParameter pUID = cmd.CreateParameter(); cmd.Parameters.Add(pUID); pUID.Value = uid; List<Gambler> gambler = new List<Gambler>(); using (DbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { Dictionary<string, ArrayList> p = setProbs(Convert.ToInt32(reader[2]), Convert.ToInt32(reader[1])); double poff = payoff(Convert.ToDouble(reader[0]), (double)p[reader[3].ToString()][1], Convert.ToInt32(reader[1])); Gambler g = new Gambler(uid , p[reader[3].ToString()] //only need the probs for this team & bettype , poff , reader[3].ToString() , Convert.ToInt32(reader[2]) , Convert.ToInt32(reader[1]) , Convert.ToDouble(reader[0]) ,reader[4].ToString() ); gambler.Add(g); } } return (gambler); }
public BookieConnection(Gambler gambler, String gamblerIP, int gamblerPort) : base(gambler.ID, gamblerIP, gamblerPort) { // initialize JsonRpcConnection base class this._gambler = gambler; }