Beispiel #1
0
        /// <summary>
        /// 记录玩家下注信息
        /// </summary>
        /// <param name="playerBetInfo">玩家下注信息</param>
        /// <returns>保存是否成功</returns>
        public bool AddPlayerBetInfo(PlayerBet playerBetInfo)
        {
            bool flag = false;

            try
            {
                string matchDate = FormateMatchDate(playerBetInfo.MatchDate);
                MySqlParameter[] parms = new MySqlParameter[]{
                                                     new MySqlParameter("@ghostId",playerBetInfo.Ghost.ghostId),
                                                     new MySqlParameter("@playerId", playerBetInfo.Player.Id),
                                                     new MySqlParameter("@player", playerBetInfo.Player.LoginName),
                                                     new MySqlParameter("@matchId", playerBetInfo.MatchId),
                                                     new MySqlParameter("@leagueName", playerBetInfo.LeagueName),
                                                     new MySqlParameter("@betCoverage", playerBetInfo.BetCoverage),
                                                     new MySqlParameter("@betType", playerBetInfo.BetType),
                                                     new MySqlParameter("@homeName",playerBetInfo.HomeName),
                                                     new MySqlParameter("@awayName", playerBetInfo.AwayName),
                                                     new MySqlParameter("@transTime", playerBetInfo.betTime),
                                                     new MySqlParameter("@matchType", playerBetInfo.MatchType),
                                                     new MySqlParameter("@seletecedMatch", playerBetInfo.SelectedMatch),
                                                     new MySqlParameter("@sportType",playerBetInfo.SportType),
                                                     new MySqlParameter("@HDP", playerBetInfo.HDP),
                                                     new MySqlParameter("@odds", playerBetInfo.Odds),
                                                     new MySqlParameter("@oddsType", playerBetInfo.OddsType),
                                                     new MySqlParameter("@amount", playerBetInfo.Amount),
                                                     new MySqlParameter("@win", playerBetInfo.WinValue),
                                                     new MySqlParameter("@status", playerBetInfo.Status),
                                                     new MySqlParameter("@isOutstanding", playerBetInfo.IsOutstanding),
                                                     new MySqlParameter("@accountingDate", playerBetInfo.AccountingDate),
                                                     new MySqlParameter("@isFollowAdmin", playerBetInfo.IsFollowAdmin),
                                                     new MySqlParameter("@isSuccess", playerBetInfo.IsSuccess),
                                                     new MySqlParameter("@result", playerBetInfo.Result),
                                                     new MySqlParameter("@remarks", playerBetInfo.Remarks),
                                                     new MySqlParameter("@matchDate", matchDate)
            };

                if (DBHelper.ExecuteNonQuery(connectStr, CommandType.StoredProcedure, "AddNewPlayerBetInfo", parms) != 0)
                {
                    flag = true;
                }
            }
            catch
            {
                throw;
            }

            return flag;
        }
Beispiel #2
0
        /// <summary>
        /// 下注成功
        /// </summary>                                                                                                                       
        /// <param name="message">下注消息</param>
        /// <param name="currentBet">下注对象</param>
        private void SaveBetInfo(string message, AgentToClientBet currentBet)
        {
            if (string.IsNullOrEmpty(message))
            {
                return;
            }

            message = message.ToLower();

            if (message.Contains(BET_SUCCESS))
            {
                PlayerBet playerBet = new PlayerBet();
                playerBet.Player = playerConvert.Player;
                playerBet.IsSuccess = true;
                playerBet.Result = BET_SUCCESS;
                playerBet.Remarks = string.Empty;
                playerBet.AccountingDate = DateTime.Now.ToShortDateString();

                DataServiceAdapter.SavePlayerBetInfo(playerBet, currentBet.get_SourceAgentMemberBet());
            }
            else
            {
                if (0 == currentBet.get_SourceAgentMemberBet().BetFailCount |
                    currentBet.get_SourceAgentMemberBet().BetFailCount > ConstUtil.BET_FAIL_COUNT)
                {
                    PlayerBetLog log = setBetLogMessage(message);
                    DataServiceAdapter.SavePlayerBetLog(log);
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// 更新玩家盈利
        /// </summary>
        /// <param name="playerBetInfo"></param>
        /// <returns></returns>
        public bool UpdatePlayerBetWin(PlayerBet playerBetInfo)
        {
            bool flag = false;
            MySqlParameter[] parms = new MySqlParameter[]{
                                                     new MySqlParameter("@_betId",playerBetInfo.Id),
                                                     new MySqlParameter("@_win",playerBetInfo.WinValue),
                                                     new MySqlParameter("@_accountingDate", playerBetInfo.AccountingDate),
                                                     new MySqlParameter("@_status", playerBetInfo.Status)
            };
            try
            {
                if (DBHelper.ExecuteNonQuery(connectStr, CommandType.StoredProcedure, "UpdatePlayerBetInfoWin", parms) != 0)
                {
                    flag = true;
                }
            }
            catch
            {
                throw;
            }

            return flag;
        }
Beispiel #4
0
        /// <summary>
        /// 保存玩家亏盈报表
        /// </summary>
        /// <param name="playerBet"></param>
        /// <returns></returns>
        //[MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
        public bool SaveProfitReport(PlayerBet playerBet)
        {
            bool isSuccess = false;

            try
            {
                // 判断该条记录是否存在
                MySqlParameter[] parameters = new MySqlParameter[]
                {
                    new MySqlParameter("@_ghostId",playerBet.Ghost.ghostId),
                    new MySqlParameter("@_playerId",playerBet.Player.Id),
                    new MySqlParameter("@_accountingDate",playerBet.AccountingDate),
                 };

               DataSet ds =  DBHelper.ExecuteDataset(connectStr, CommandType.StoredProcedure, "GetProfixReport", parameters);

               if(null != ds)
               {
                   DataTable dt = ds.Tables[0];
                   if (dt.Rows.Count == 0)
                   {
                       // 不存在时添加
                       parameters = new MySqlParameter[]
                       {
                         new MySqlParameter("@_ghostId",playerBet.Ghost.ghostId),
                         new MySqlParameter("@_playerId",playerBet.Player.Id),
                         new MySqlParameter("@_win",playerBet.WinValue),
                         new MySqlParameter("@_accountingDate",playerBet.AccountingDate),
                        };

                      DBHelper.ExecuteNonQuery(connectStr, CommandType.StoredProcedure, "AddProfitReport", parameters);
                   }
                   else
                   {
                       double win = Convert.ToDouble(dt.Rows[0]["win"]);
                       win += playerBet.WinValue;

                       parameters = new MySqlParameter[]
                       {
                         new MySqlParameter("@_id", Convert.ToInt32(dt.Rows[0]["id"])),
                         new MySqlParameter("@_win",win)
                        };

                       DBHelper.ExecuteNonQuery(connectStr, CommandType.StoredProcedure, "UpdateProfitReport", parameters);
                   }
               }

                isSuccess = true;
            }
            catch (Exception e)
            {
                isSuccess = false;
            }
            return isSuccess;
        }
Beispiel #5
0
        /// <summary>
        /// 根据赛事ID查询未结算的赛事
        /// </summary>
        /// <param name="homeName"></param>
        /// <param name="awayName"></param>
        /// <param name="matchDate"></param>
        /// <returns></returns>
        public List<PlayerBet> GetPlayerBetsByMatchId(string matchId)
        {
            List<PlayerBet> playerBets = null;

            try
            {

                MySqlParameter[] parms = new MySqlParameter[]{
                                                     new MySqlParameter("@_matchId",matchId),

               };

                playerBets = new List<PlayerBet>();
                DataSet ds = DBHelper.ExecuteDataset(connectStr, CommandType.StoredProcedure, "getPlayerBetInfoByMatchId", parms);
                if (null != ds)
                {
                    DataTable dt = ds.Tables[0];
                    if (null != dt && dt.Rows.Count > 0)
                    {
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            PlayerBet playerBet = new PlayerBet();
                            playerBet.Id = System.Convert.ToInt32(dt.Rows[i]["betId"]);
                            playerBet.LeagueName = dt.Rows[i]["leagueName"].ToString();
                            playerBet.HomeName = dt.Rows[i]["homeName"].ToString();
                            playerBet.AwayName = dt.Rows[i]["awayName"].ToString();
                            playerBet.BetCoverage = dt.Rows[i]["betCoverage"].ToString();
                            playerBet.BetType = dt.Rows[i]["betType"].ToString();
                            playerBet.SelectedMatch = dt.Rows[i]["seletecedMatch"].ToString();
                            playerBet.Odds = System.Convert.ToDouble(dt.Rows[i]["odds"]);
                            playerBet.Amount = System.Convert.ToInt32(dt.Rows[i]["amount"]);
                            playerBet.HDP = System.Convert.ToDouble(dt.Rows[i]["HDP"]);
                            int ghostId = System.Convert.ToInt32(dt.Rows[i]["ghostId"]);
                            playerBet.Ghost = new Ghost(ghostId);
                            int playerId = System.Convert.ToInt32(dt.Rows[i]["playerId"]);
                            playerBet.Player = new Player(playerId);
                            playerBets.Add(playerBet);
                        }
                    }
                }

            }
            catch
            {
                throw;
            }

            return playerBets;
        }
Beispiel #6
0
        /// <summary>
        /// 更新玩家盈利
        /// </summary>
        /// <param name="playerBet"></param>
        /// <returns></returns>
        public static bool UpdatePlayerBet(PlayerBet playerBet)
        {
            bool isSuccess = false;
            try
            {
                // 创建下注数据访问对象
                BetService betService = new BetService();
                isSuccess = betService.UpdatePlayerBetWin(playerBet);

                if(isSuccess)
                {
                    // 更新玩家亏盈报表
                    betService.SaveProfitReport(playerBet);
                    System.Threading.Thread.Sleep(50);
                }

            }
            catch (Exception e)
            {

                throw;
            }

            return isSuccess;
        }
Beispiel #7
0
        /// <summary>
        /// 保存Player下注信息
        /// </summary>
        /// <param name="matchBetNew">新的下注</param>
        /// <returns>保存是否成功</returns>
        public static bool SavePlayerBetInfo(PlayerBet playerBet, MatchBetNew matchBetNew)
        {
            bool isSuccess = false;
            try
            {
                playerBet.Ghost = GetGhostByGhostName(matchBetNew.get_MemberName(), matchBetNew.get_Company());
                playerBet.Player = GetPlayerByPlayerName(playerBet.Player.LoginName);
                playerBet.MatchId = matchBetNew.getMatchID();
                playerBet.LeagueName = matchBetNew.get_League();
                playerBet.SelectedMatch = matchBetNew.get_SelectedMatch();
                playerBet.MatchType = matchBetNew.get_MatchType();
                playerBet.HomeName = matchBetNew.get_HomeName();
                playerBet.AwayName = matchBetNew.get_AwayName();
                playerBet.MatchDate = matchBetNew.get_MatchDate();
                playerBet.betTime = matchBetNew.get_BetDate();
                playerBet.BetCoverage = System.Convert.ToString(matchBetNew.get_BetCoverage());
                playerBet.BetType = System.Convert.ToString(matchBetNew.get_BetType());
                playerBet.Status = System.Convert.ToString(matchBetNew.get_RunningStatus()) + "<br/>" + matchBetNew.get_IPAddress();
                playerBet.SportType = System.Convert.ToString(matchBetNew.get_SportType());
                if (string.IsNullOrEmpty(matchBetNew.HDPValue))
                {
                    matchBetNew.HDPValue = "0.0";
                }
                playerBet.HDP = Double.Parse(matchBetNew.HDPValue);
                playerBet.Odds = matchBetNew.get_Odds();
                playerBet.OddsType = System.Convert.ToString(matchBetNew.get_OddsType());
                playerBet.Amount = int.Parse(matchBetNew.get_BetAmount());
                playerBet.WinValue = 0;
                playerBet.IsOutstanding = true;

                // 创建下注数据访问对象
                BetService ghostBetService = new BetService();
                isSuccess = ghostBetService.AddPlayerBetInfo(playerBet);
            }
            catch (Exception e)
            {

                throw;
            }

            return isSuccess;
        }