Esempio n. 1
0
        /// <summary>
        /// 计算玩家下注盈利
        /// </summary>
        /// <param name="matchResult">赛事结果</param>
        /// <param name="playerBets">玩家下注的赛事列表</param>
        private void ComputePlayerBetWin(MatchResult matchResult, GhostBet playerBet)
        {
            // 主队得分
                double homeScore = 0;
                // 客队得分
                double awayScore = 0;

                // 判定FT/HT下注
                if (ConstUtil.BET_FT == playerBet.BetCoverage)
                {
                    homeScore = matchResult.get_FTHomeScore();
                    awayScore = matchResult.get_FTAwayScore();
                }
                else
                {
                    homeScore = matchResult.get_HalfHomeScore();
                    awayScore = matchResult.get_HalfAwayScore();
                }

                // 玩家盈利
                double win = InvokeComputeByBetType(playerBet.BetType,homeScore,awayScore,playerBet);

                playerBet.WinValue = win;
                playerBet.AccountingDate = DateTime.Now.ToShortDateString();
                string result = "HT: " + matchResult.get_HalfHomeScore() + " - " + matchResult.get_HalfAwayScore() + "<br/>" +
                                "FT: " + matchResult.get_FTHomeScore() + " - " + matchResult.get_FTAwayScore();
                if (win > 0)
                {
                    playerBet.Status = "&nbsp;&nbsp;Won<br/>" + result;
                }
                else if (win == 0)
                {
                    playerBet.Status = "&nbsp;&nbsp;Draw<br/>" + result;
                }
                else
                {
                    playerBet.Status = "&nbsp;&nbsp;Lose<br/>" + result;
                }
        }