Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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));
        }
Beispiel #6
0
        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));
            }
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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));
        }
Beispiel #9
0
        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
        }
Beispiel #10
0
        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);
            });
        }
Beispiel #11
0
        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);
        }
Beispiel #12
0
        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);
        }
Beispiel #13
0
        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);
        }
Beispiel #14
0
        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);
        }
Beispiel #15
0
        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);
        }
Beispiel #16
0
        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();
        }
Beispiel #17
0
        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> &raquo; <a href=\"default.aspx\">{ConfigGlobal.PluginDisplayName}</a> &raquo; <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");
        }
Beispiel #18
0
        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
             */
        }
Beispiel #19
0
        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);
        }
Beispiel #20
0
        public void Not_Enough_Cash_Message()
        {
            // Arrange
            var guy = new Gambler();

            // Act
            var actual = guy.PlaceBet(1, 1);

            // Assert
            Assert.AreEqual(false, actual);
        }
Beispiel #21
0
        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;
            }
        }
Beispiel #22
0
 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 }));
        }
Beispiel #24
0
 /// <summary>
 /// Добавляет игрока
 /// </summary>
 /// <param name="_gambler"></param>
 /// <returns></returns>
 public static bool AddGambler(Gambler _gambler)
 {
     try
     {
         Gamblers.Add(_gambler);//добавляем игрока в коллекцию
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Beispiel #25
0
        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();
        }
Beispiel #26
0
        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);
        }
Beispiel #28
0
        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);
        }
Beispiel #29
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);
                }
            }
        }
Beispiel #30
0
    ///  分配赌徒个人赌资
    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);
    }
Beispiel #31
0
 public MyGamblerService(Gambler.Model.Gambler gambler)
 {
     this.gambler = gambler;
 }
Beispiel #32
0
        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;
        }
Beispiel #33
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);
    }
Beispiel #34
0
    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);
    }
Beispiel #35
0
 public BookieConnection(Gambler gambler, String gamblerIP, int gamblerPort)
     : base(gambler.ID, gamblerIP, gamblerPort)
 {
     // initialize JsonRpcConnection base class
     this._gambler = gambler;
 }