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); }
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()); }
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)); } } }