Ejemplo n.º 1
0
        protected bool Save(int bettingId, string team, int rateId, int point)
        {
            DM.Betting betting = DomainManager.GetObject <DM.Betting>(bettingId);
            if (betting == null)
            {
                msg = "";
                return(false);
            }

            DM.User user = Utils.GetCurrentUser();
            if (user != null)
            {
                user = DomainManager.GetObject <DM.User>(user.Id);
            }

            if (user == null || (user != null && point > user.Point))
            {
                msg = "Số điểm phải nhỏ hơn hoặc bằng số điểm hiện có của bạn.";
                return(false);
            }

            BettingUser bu = new BettingUser();

            bu.Betting     = betting;
            bu.BettingDate = DateTime.Now;
            bu.User        = user;

            BettingUserDetail bud = new BettingUserDetail();

            bud.BettingPoint = point;
            bud.BettingRate  = DomainManager.GetObject <BettingRate>(rateId);
            bud.BettingUser  = bu;

            string selected = betting.HomeTeam;

            if (string.Compare(team, "b", true) == 0)
            {
                selected = betting.VisitingTeam;
            }

            bud.SelectedTeam = selected;
            bu.BettingUserDetailses.Add(bud);

            DomainManager.Insert(bu);
            TNHelper.LogAction(LogType.BettingLog, string.Format("Chơi game thử tài phân tích trận đấu. Số điểm chơi: {0} điểm", point));

            user.Point -= point;
            DomainManager.Update(user);
            Utils.ResetCurrentUser();
            TNHelper.LogAction(LogType.BettingLog, "Cập nhật điểm số người chơi sau khi chơi game thử tài phân thích trận đấu");

            return(true);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");
            if (ModelState.IsValid)
            {
                var user = new BettingUser {
                    UserName = Input.Username, Email = Input.Email, Balance = 10.0M
                };
                var result = await _userManager.CreateAsync(user, Input.Password);

                if (_userManager.Users.ToList().Count() == 3)
                {
                    await _userManager.AddToRoleAsync(user, "Admin");
                }
                else
                {
                    await _userManager.AddToRoleAsync(user, "User");
                }

                if (result.Succeeded)
                {
                    _logger.LogInformation("User created a new account with password.");

                    await _signInManager.SignInAsync(user, isPersistent : false);

                    return(LocalRedirect(returnUrl));
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
Ejemplo n.º 3
0
        protected void rptBetting_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item ||
                e.Item.ItemType == ListItemType.AlternatingItem)
            {
                BettingUser bu               = e.Item.DataItem as BettingUser;
                Literal     litScoreRate     = e.Item.FindControl("litScoreRate") as Literal;
                Literal     litWinPoint      = e.Item.FindControl("litWinPoint") as Literal;
                Repeater    rptBettingDetail = e.Item.FindControl("rptBettingDetail") as Repeater;
                Literal     litOnSiteTime    = e.Item.FindControl("litOnSiteTime") as Literal;

                if (rptBettingDetail != null && bu.BettingUserDetailses.Count > 0)
                {
                    rptBettingDetail.DataSource = bu.BettingUserDetailses;
                    rptBettingDetail.DataBind();
                }

                if (litScoreRate != null)
                {
                    if (bu.Betting != null && bu.Betting.IsUpdateScore)
                    {
                        litScoreRate.Text = string.Format("{0} - {1}", bu.Betting.HomeGoalScore, bu.Betting.VisitingGoalScore);
                    }
                    else
                    {
                        litScoreRate.Text = "Đang cập nhật";
                    }
                }

                if (litWinPoint != null)
                {
                    if (bu.Betting != null && bu.Betting.IsCalculate && bu.BettingUserDetailses.Count > 0)
                    {
                        int   bettingPoint = (bu.BettingUserDetailses[0] as BettingUserDetail).BettingPoint;
                        int   point        = bu.WinPoint - bettingPoint;
                        float percent      = ((float)point / bettingPoint) * 100;
                        if (percent < 0)
                        {
                            percent = Math.Abs(percent);
                        }

                        // point = (point < 0 ? 0 : point);
                        if (point == 0)
                        {
                            litWinPoint.Text = string.Format("<span title='Bạn được trả lại {1} điểm đã đặt'>{0}</span>", point.ToString("N0"), bettingPoint.ToString("N0"));
                        }
                        else if (point > 0)
                        {
                            litWinPoint.Text = string.Format("<span title='Bạn được thưởng {1}% số điểm đã đặt'>{0}</span>", point.ToString("N0"), percent.ToString("N0"));
                        }
                        else
                        {
                            litWinPoint.Text = string.Format("<span title='Bạn bị mất {1}% số điểm đã đặt'>{0}</span>", point.ToString("N0"), percent.ToString("N0"));
                        }
                    }
                    else
                    {
                        litWinPoint.Text = "Đang cập nhật";
                    }
                }

                if (litOnSiteTime != null)
                {
                    litOnSiteTime.Text = string.Format("{0} phút {1} giây", (bu.Time / 60), (bu.Time % 60));
                }
            }
        }