/// <summary> /// 下发下注命令过滤器 /// </summary> /// <param name="agent">当前代理对象</param> /// <param name="gamer">玩家对象</param> /// <param name="betNew">Ghost下注信息</param> public static bool DoFilter(AgentConvert agentConvert, MatchBetNew betNew, PlayerConvert gamer,ref int sign) { bool isFilter = true; Member member = agentConvert.AgentSite.get_TargetMemberList().get_Item(betNew.get_MemberName()); // 保存Agent下的Ghost详细信息 if (null != member && !string.IsNullOrEmpty(member.get_Name())) { string name = member.get_Name(); //List<Member> members = agentConvert.AgentSite.get_MemberCreditList(); //foreach (var item in members) //{ // if (null != item && !string.IsNullOrEmpty(item.get_Name()) && name == item.get_Name()) // { // member = item; // } //} if (agentConvert.Ghosts.ContainsKey(name) && agentConvert.Ghosts[name].Gamers.ContainsKey(gamer.Player.LoginName)) { if (Conversions.ToInteger(betNew.get_BetAmount()) < agentConvert.Ghosts[name].Ghost.RealBetAccount) { sign = 1; return isFilter; } GhostConvert ghostConvert = agentConvert.Ghosts[name]; ghostConvert.Member = member; // set gamer bet follow method. if (ghostConvert.Ghost.IsOppositeBet) { ghostConvert.FollowMethod = EnumCollection.eBetFollowMethod.Opposite; } gamer.Member.set_BetFollowMethod(ghostConvert.FollowMethod); isFilter = false; } } return isFilter; }
// add 1x2 public List<MatchBetNew> GenerateMemberBetlistFromText(string text1) { List<MatchBetNew> list3 = new List<MatchBetNew>(); ArrayList list2 = new ArrayList(); ArrayList list4 = new ArrayList(); int num = 0; string str = ""; string str2 = ""; string str3 = ""; try { IEnumerator enumerator = null; int num2 = 0; str3 = CommonFunction.substring(text1, 0, "Bet List ", "- ", "<", ref num2).Trim(); if (str3 == string.Empty) { return list3; } while (num > -1) { str2 = CommonFunction.substring(text1, num, "w-order", "</tr>", ref num); if (str2 != string.Empty) { list2.Add(str2); } } try { enumerator = list2.GetEnumerator(); while (enumerator.MoveNext()) { str = Conversions.ToString(enumerator.Current); bool flag = false; MatchBetNew item = new MatchBetNew(); num = 0; item.set_MemberName(str3); if (base._objMemberList.get_MemberRange() == EnumCollection.eMemberRange.AllMember) { item.set_BetFollowMethod(base._objMemberList.get_GlobalBetFollowMethod()); } else { Member member = base._objMemberList.get_Item(item.get_MemberName()); if (member != null) { item.set_BetFollowMethod(member.get_BetFollowMethod()); } else { item.set_BetFollowMethod(EnumCollection.eBetFollowMethod.Normal); } } str2 = CommonFunction.substring(str, num, "Ref No:", "</", ref num).Trim(); if (num <= -1) { continue; } item.set_ID(str2); str2 = CommonFunction.substring(str, num, "bl_time mt10\">", "</", ref num).Trim(); if (num <= -1) { continue; } item.set_BetDate(str2); str2 = CommonFunction.substring(str, num, "<span", ">", "<", ref num).Trim(); if (num <= -1) { continue; } item.set_SelectedMatch(str2); // 1x2不包含HDP eg <font color='#606060'>-1.5</font> if (str.Contains("<font color='#606060'>")) { str2 = CommonFunction.substring(str, num, ">", "</", ref num).Trim(); if (num <= -1) { continue; } item.set_HDP(str2); item.HDPValue = str2; str2 = CommonFunction.substring(str, num, ">", "<", ref num).Trim(); if (num <= -1) { continue; } } num2 = 0; str2 = CommonFunction.substring(str2, 0, "[", "]", ref num2).Trim(); if (str2 != string.Empty) { list4 = CommonFunction.SeperateStringBySymbol(str2, "-"); if (list4.Count == 2) { item.set_HomeScore((int) Math.Round(Conversion.Val(list4[0].ToString().Trim()))); item.set_AwayScore((int) Math.Round(Conversion.Val(list4[1].ToString().Trim()))); item.set_GameType(EnumCollection.eGameType.Running); item.set_RunningStatus(EnumCollection.eRunningStatus.Running); } } str2 = CommonFunction.substring(str, num, "bl_btype b\">", "<", ref num).Trim(); if (num <= -1) { continue; } item.set_MatchType(str2); switch (str2.ToLower()) { case "handicap": item.set_BetType(EnumCollection.eBetType.HDP); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); break; case "over/under": item.set_BetType(EnumCollection.eBetType.OU); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); break; case "1st handicap": item.set_BetType(EnumCollection.eBetType.HDP); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); break; case "1st over/under": item.set_BetType(EnumCollection.eBetType.OU); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); break; // Add 1x2 case "ft.1x2": item.set_BetType(EnumCollection.eBetType.lX2); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); if (item.get_SelectedMatch().ToLower() == "ft.1") { item.set_BetTarget(EnumCollection.eBetTarget.FT_1); } else if (item.get_SelectedMatch().ToLower() == "ft.x") { item.set_BetTarget(EnumCollection.eBetTarget.FT_X); } else if (item.get_SelectedMatch().ToLower() == "ft.2") { item.set_BetTarget(EnumCollection.eBetTarget.FT_2); } break; case "1st 1x2": item.set_BetType(EnumCollection.eBetType.lX2); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); if (item.get_SelectedMatch().ToLower() == "ht.1") { item.set_BetTarget(EnumCollection.eBetTarget.Half_1); } else if (item.get_SelectedMatch().ToLower() == "ht.x") { item.set_BetTarget(EnumCollection.eBetTarget.Half_X); } else if (item.get_SelectedMatch().ToLower() == "ht.2") { item.set_BetTarget(EnumCollection.eBetTarget.Half_2); } break; } str2 = CommonFunction.substring(str, num, "bl_match\">", "</", ref num).Trim(); if (num <= -1) { continue; } list4 = CommonFunction.SeperateStringBySymbol(str2, "- vs -"); if (list4.Count != 2) { continue; } item.set_HomeName(Conversions.ToString(NewLateBinding.LateGet(list4[0], null, "trim", new object[0], null, null, null)).Replace(" ", "")); item.set_AwayName(Conversions.ToString(NewLateBinding.LateGet(list4[1], null, "trim", new object[0], null, null, null)).Replace(" ", "")); string sportType = CommonFunction.substring(str, num, "bl_stype", ">", "<", ref num).Trim(); if (Enum.IsDefined(typeof(EnumCollection.eSportType), sportType)) { item.set_SportType((EnumCollection.eSportType)Enum.Parse(typeof(EnumCollection.eSportType), sportType)); } // 只扫描足球赛事 /***if (CommonFunction.substring(str, num, "bl_stype", ">", "<", ref num).Trim() != "Soccer") { continue; }***/ str2 = CommonFunction.substring(str, num, "span>", "</", ref num).Trim(); if (num <= -1) { continue; } item.set_League(str2); str2 = CommonFunction.substring(str, num, "span class=\"bl_underdog\">", "</span>", ref num).Trim(); if (num <= -1) { continue; } item.set_OddsString(str2); str2 = CommonFunction.substring(str, num, "<span class=\"bl_oddtype\">", "</span>", ref num).Trim(); if (num <= -1) { continue; } string str5 = str2.ToUpper(); if (str5 == "MY") { item.set_OddsType(EnumCollection.eOddsType.Malay); } else if (str5 == "INDO") { item.set_OddsType(EnumCollection.eOddsType.Indo); item.set_Odds(SportBookFunction.ConvertIndoToMalayOdds(item.get_Odds())); } else { item.set_OddsType(EnumCollection.eOddsType.Malay); if (item.get_BetType() != EnumCollection.eBetType.lX2) item.set_Odds(SportBookFunction.ConvertHKToMalayOdds(item.get_Odds())); } str2 = CommonFunction.substring(str, num, "span class=\"stake\">", "</span>", ref num).Trim(); if (num <= -1) { continue; } item.set_BetAmount(str2.Replace(",", "")); if (item.get_HDP().Length > 0) { if (item.get_HDP().Substring(0, 1) == "-") { if (item.get_SelectedMatch().ToLower() == item.get_AwayName().ToLower().Replace("(n)", "").Trim()) { item.set_AwayColor(Color.Red); item.set_HomeColor(Color.Blue); } else { item.set_AwayColor(Color.Blue); item.set_HomeColor(Color.Red); } } else if (item.get_SelectedMatch().ToLower() == item.get_AwayName().ToLower().Replace("(n)", "").Trim()) { item.set_AwayColor(Color.Blue); item.set_HomeColor(Color.Red); } else { item.set_AwayColor(Color.Red); item.set_HomeColor(Color.Blue); } } if ("null" != item.get_HDP()) { item.set_HDP(SportBookFunction.ConvertHDPType(item.get_HDP())); } if (item.get_HDP() == "0.0") { item.set_HomeColor(Color.Blue); item.set_AwayColor(Color.Blue); } if (item.get_BetCoverage() != EnumCollection.eBetCoverage.FT) { goto Label_0757; } switch (item.get_BetType()) { case EnumCollection.eBetType.HDP: if (item.get_SelectedMatch().ToLower() != item.get_AwayName().ToLower().Replace("(n)", "").Trim()) { break; } item.set_BetTarget(EnumCollection.eBetTarget.FT_Away); goto Label_0841; case EnumCollection.eBetType.OU: if (item.get_SelectedMatch().ToLower() != "over") { goto Label_072B; } item.set_BetTarget(EnumCollection.eBetTarget.FT_Over); goto Label_0841; default: goto Label_0841; } if (item.get_SelectedMatch().ToLower() == item.get_HomeName().ToLower().Replace("(n)", "").Trim()) { item.set_BetTarget(EnumCollection.eBetTarget.FT_Home); } else { flag = true; } goto Label_0841; Label_072B: if (item.get_SelectedMatch().ToLower() == "under") { item.set_BetTarget(EnumCollection.eBetTarget.FT_Under); } else { flag = true; } goto Label_0841; Label_0757: switch (item.get_BetType()) { case EnumCollection.eBetType.HDP: if (item.get_SelectedMatch().ToLower() != item.get_AwayName().ToLower().Replace("(n)", "").Trim()) { break; } item.set_BetTarget(EnumCollection.eBetTarget.Half_Away); goto Label_0841; case EnumCollection.eBetType.OU: if (item.get_SelectedMatch().ToLower() != "over") { goto Label_081A; } item.set_BetTarget(EnumCollection.eBetTarget.Half_Over); goto Label_0841; default: goto Label_0841; } if (item.get_SelectedMatch().ToLower() == item.get_HomeName().ToLower().Replace("(n)", "").Trim()) { item.set_BetTarget(EnumCollection.eBetTarget.Half_Home); } else { flag = true; } goto Label_0841; Label_081A: if (item.get_SelectedMatch().ToLower() == "under") { item.set_BetTarget(EnumCollection.eBetTarget.Half_Under); } else { flag = true; } Label_0841: num2 = 0; item.set_IPAddress(CommonFunction.substring(str, 0, "\"iplink\">", "<", ref num2).Trim()); item.set_CreateDate(DateTime.Now); item.set_Company(base._strAgentSiteName); if (!flag) { list3.Add(item); } } } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } } catch (Exception exception1) { ProjectData.SetProjectError(exception1); Exception exception = exception1; base._objErrorLogger.write(base._strName + ": EXCEPTION IN GenerateMemberBetlistFromText: " + exception.Message); ProjectData.ClearProjectError(); } return list3; }
protected List<MatchBetNew> ProcessMatchDetails(string text1) { List<MatchBetNew> list2 = new List<MatchBetNew>(); ArrayList list = new ArrayList(); ArrayList list3 = new ArrayList(); int num = 0; string str = ""; string str2 = ""; try { IEnumerator enumerator = null; while (num > -1) { str2 = CommonFunction.substring(text1, num, "w-order", "</tr>", ref num); if (str2 != string.Empty) { list.Add(str2); } } try { enumerator = list.GetEnumerator(); while (enumerator.MoveNext()) { str = Conversions.ToString(enumerator.Current); bool flag = false; MatchBetNew item = new MatchBetNew(); num = 0; str2 = CommonFunction.substring(str, num, "<td class=\"c\" valign=\"top\">", "</", ref num).Trim(); if (num <= -1) { continue; } item.set_MemberName(str2); if (base._objMemberList.get_MemberRange() == EnumCollection.eMemberRange.AllMember) { item.set_BetFollowMethod(base._objMemberList.get_GlobalBetFollowMethod()); } else { Member member = base._objMemberList.get_Item(item.get_MemberName()); if (member != null) { item.set_BetFollowMethod(member.get_BetFollowMethod()); } else { item.set_BetFollowMethod(EnumCollection.eBetFollowMethod.Normal); } } str2 = CommonFunction.substring(str, num, "Ref No:", "</", ref num).Trim(); if (num <= -1) { continue; } item.set_ID(str2); str2 = CommonFunction.substring(str, num, "bl_time\">", "</", ref num).Trim(); if (num <= -1) { continue; } item.set_BetDate(str2); str2 = CommonFunction.substring(str, num, "{class}\">", ">", "<", ref num).Trim(); if (num <= -1) { continue; } item.set_SelectedMatch(str2); // 1x2不包含HDP eg <font color='#606060'>-1.5</font> if (str.Contains("<font color='#606060'>")) { str2 = CommonFunction.substring(str, num, ">", "</", ref num).Trim(); if (num <= -1) { continue; } item.set_HDP(str2); str2 = CommonFunction.substring(str, num, ">", "<", ref num).Trim(); if (num <= -1) { continue; } } else { item.set_HDP("null"); } int num2 = 0; str2 = CommonFunction.substring(str2, 0, "[", "]", ref num2).Trim(); if (str2 != string.Empty) { list3 = CommonFunction.SeperateStringBySymbol(str2, "-"); if (list3.Count == 2) { item.set_HomeScore((int) Math.Round(Conversion.Val(list3[0].ToString().Trim()))); item.set_AwayScore((int) Math.Round(Conversion.Val(list3[1].ToString().Trim()))); item.set_GameType(EnumCollection.eGameType.Running); item.set_RunningStatus(EnumCollection.eRunningStatus.Running); } } str2 = CommonFunction.substring(str, num, "bl_btype b\">", "<", ref num).Trim(); if (num <= -1) { continue; } switch (str2.ToLower()) { case "handicap": item.set_BetType(EnumCollection.eBetType.HDP); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); break; case "over/under": item.set_BetType(EnumCollection.eBetType.OU); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); break; case "1st handicap": item.set_BetType(EnumCollection.eBetType.HDP); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); break; case "1st over/under": item.set_BetType(EnumCollection.eBetType.OU); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); break; // Add 1x2 case "ft.1 x 2": item.set_BetType(EnumCollection.eBetType.lX2); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); if (item.get_SelectedMatch().ToLower() == "ft.1") { item.set_BetTarget(EnumCollection.eBetTarget.FT_1); } else if (item.get_SelectedMatch().ToLower() == "ft.x") { item.set_BetTarget(EnumCollection.eBetTarget.FT_X); } else if (item.get_SelectedMatch().ToLower() == "ft.2") { item.set_BetTarget(EnumCollection.eBetTarget.FT_2); } break; case "ht.1 x 2": item.set_BetType(EnumCollection.eBetType.lX2); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); if (item.get_SelectedMatch().ToLower() == "ht.1") { item.set_BetTarget(EnumCollection.eBetTarget.Half_1); } else if (item.get_SelectedMatch().ToLower() == "ht.x") { item.set_BetTarget(EnumCollection.eBetTarget.Half_X); } else if (item.get_SelectedMatch().ToLower() == "ht.2") { item.set_BetTarget(EnumCollection.eBetTarget.Half_2); } break; } str2 = CommonFunction.substring(str, num, "bl_match\">", "</", ref num).Trim(); if (num <= -1) { continue; } list3 = CommonFunction.SeperateStringBySymbol(str2, "-vs-"); if (list3.Count != 2) { continue; } item.set_HomeName(Conversions.ToString(NewLateBinding.LateGet(list3[0], null, "trim", new object[0], null, null, null))); item.set_AwayName(Conversions.ToString(NewLateBinding.LateGet(list3[1], null, "trim", new object[0], null, null, null))); if (CommonFunction.substring(str, num, "bl_stype", ">", "<", ref num).Trim() != "Soccer") { continue; } str2 = CommonFunction.substring(str, num, "span>", "</", ref num).Trim(); if (num <= -1) { continue; } item.set_League(str2); str2 = CommonFunction.substring(str, num, "'>", "</", ref num).Trim(); if (num <= -1) { continue; } item.set_OddsString(str2); str2 = CommonFunction.substring(str, num, "\">", "</", ref num).Trim(); if (num <= -1) { continue; } string str4 = str2.ToUpper(); if (str4 == "MY") { item.set_OddsType(EnumCollection.eOddsType.Malay); } else if (str4 == "INDO") { item.set_OddsType(EnumCollection.eOddsType.Indo); item.set_Odds(SportBookFunction.ConvertIndoToMalayOdds(item.get_Odds())); } else { item.set_OddsType(EnumCollection.eOddsType.HK); item.set_Odds(SportBookFunction.ConvertHKToMalayOdds(item.get_Odds())); } str2 = CommonFunction.substring(str, num, "\">", "</", ref num).Trim(); if (num <= -1) { continue; } item.set_BetAmount(str2.Replace(",", "")); if (item.get_HDP().Length > 0) { if (item.get_HDP().Substring(0, 1) == "-") { if (item.get_SelectedMatch().ToLower() == item.get_AwayName().ToLower().Replace("(n)", "").Trim()) { item.set_AwayColor(Color.Red); item.set_HomeColor(Color.Blue); } else { item.set_AwayColor(Color.Blue); item.set_HomeColor(Color.Red); } } else if (item.get_SelectedMatch().ToLower() == item.get_AwayName().ToLower().Replace("(n)", "").Trim()) { item.set_AwayColor(Color.Blue); item.set_HomeColor(Color.Red); } else { item.set_AwayColor(Color.Red); item.set_HomeColor(Color.Blue); } } if ("null" != item.get_HDP()) { item.set_HDP(SportBookFunction.ConvertHDPType(item.get_HDP())); } if (item.get_HDP() == "0.0") { item.set_HomeColor(Color.Blue); item.set_AwayColor(Color.Blue); } if (item.get_BetCoverage() != EnumCollection.eBetCoverage.FT) { goto Label_0734; } switch (item.get_BetType()) { case EnumCollection.eBetType.HDP: if (item.get_SelectedMatch().ToLower() != item.get_AwayName().ToLower().Replace("(n)", "").Trim()) { break; } item.set_BetTarget(EnumCollection.eBetTarget.FT_Away); goto Label_081E; case EnumCollection.eBetType.OU: if (item.get_SelectedMatch().ToLower() != "over") { goto Label_0708; } item.set_BetTarget(EnumCollection.eBetTarget.FT_Over); goto Label_081E; default: goto Label_081E; } if (item.get_SelectedMatch().ToLower() == item.get_HomeName().ToLower().Replace("(n)", "").Trim()) { item.set_BetTarget(EnumCollection.eBetTarget.FT_Home); } else { flag = true; } goto Label_081E; Label_0708: if (item.get_SelectedMatch().ToLower() == "under") { item.set_BetTarget(EnumCollection.eBetTarget.FT_Under); } else { flag = true; } goto Label_081E; Label_0734: switch (item.get_BetType()) { case EnumCollection.eBetType.HDP: if (item.get_SelectedMatch().ToLower() != item.get_AwayName().ToLower().Replace("(n)", "").Trim()) { break; } item.set_BetTarget(EnumCollection.eBetTarget.Half_Away); goto Label_081E; case EnumCollection.eBetType.OU: if (item.get_SelectedMatch().ToLower() != "over") { goto Label_07F7; } item.set_BetTarget(EnumCollection.eBetTarget.Half_Over); goto Label_081E; default: goto Label_081E; } if (item.get_SelectedMatch().ToLower() == item.get_HomeName().ToLower().Replace("(n)", "").Trim()) { item.set_BetTarget(EnumCollection.eBetTarget.Half_Home); } else { flag = true; } goto Label_081E; Label_07F7: if (item.get_SelectedMatch().ToLower() == "under") { item.set_BetTarget(EnumCollection.eBetTarget.Half_Under); } else { flag = true; } Label_081E: num2 = 0; item.set_IPAddress(CommonFunction.substring(str, 0, "\"iplink\">", "<", ref num2).Trim()); item.set_CreateDate(DateTime.Now); item.set_Company(base._strAgentSiteName); if (!flag) { list2.Add(item); } } return list2; } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } } catch (Exception exception1) { ProjectData.SetProjectError(exception1); Exception exception = exception1; base._objErrorLogger.write(base._strName + ": EXCEPTION IN ProcessMatchDetails: " + exception.Message); this.WriteProgramLogger(base._strName + ": EXCEPTION IN ProcessMatchDetails: " + exception.Message); ProjectData.ClearProjectError(); } return list2; }
public static string GenerateDetailedMatchInfo(MatchBetNew new1, string text1) { return ("\r\n============================================================\r\n" + text1 + "\r\n============================================================\r\nCompany: " + new1.get_Company() + "\r\nRef ID: " + new1.get_ID() + "\r\nMember: " + new1.get_MemberName() + "\r\nBetType: " + new1.get_BetType().ToString() + "\r\nGameType: " + new1.get_GameType().ToString() + "\r\nMatchTime: " + new1.get_MatchDate() + "\r\nScore: " + new1.get_HomeScore().ToString() + "-" + Conversions.ToString(new1.get_AwayScore()) + "\r\nLeague: " + new1.get_League() + "\r\nHome: " + new1.get_HomeName() + "\r\nAway: " + new1.get_AwayName() + "\r\nBet: " + new1.get_SelectedMatch() + "\r\nHDP: " + new1.get_HDP() + "\r\nOdds: " + Conversions.ToString(new1.get_Odds()) + "\r\nAmount: " + new1.get_BetAmount() + "\r\n============================================================"); }
public List<MatchBetNew> GenerateMemberBetlistFromText(string text1) { List<MatchBetNew> list4 = new List<MatchBetNew>(); List<string> list3 = new List<string>(); ArrayList list2 = new ArrayList(); ArrayList list5 = new ArrayList(); int num = 0; string current = ""; try { while (num > -1) { list3.Add(CommonFunction.substring(text1, num, ",['", "])", ref num).Trim()); } List<string>.Enumerator enumerator = list3.GetEnumerator(); try { //enumerator; while (enumerator.MoveNext()) { current = enumerator.Current; list2 = CommonFunction.SeperateStringBySymbol(current, "','"); if (list2.Count >= 14) { bool flag = false; MatchBetNew item = new MatchBetNew(); item.set_ID(list2[8].ToString().Trim()); int num2 = 0; item.set_MemberName(CommonFunction.substring(list2[7].ToString() + "#", 0, "],'", "#", ref num2)); if (base._objMemberList.get_MemberRange() == EnumCollection.eMemberRange.AllMember) { item.set_BetFollowMethod(base._objMemberList.get_GlobalBetFollowMethod()); } else { Member member = base._objMemberList.get_Item(item.get_MemberName()); if (member != null) { item.set_BetFollowMethod(member.get_BetFollowMethod()); } else { item.set_BetFollowMethod(EnumCollection.eBetFollowMethod.Normal); } } string sportType = list2[9].ToString().Trim(); if (Enum.IsDefined(typeof(EnumCollection.eSportType), sportType)) { item.set_SportType((EnumCollection.eSportType)Enum.Parse(typeof(EnumCollection.eSportType), sportType)); } item.set_BetDate(list2[10].ToString() + " " + list2[11].ToString()); item.set_Company(base._strAgentSiteName); item.set_League(list2[6].ToString().Trim().Replace(" ", "")); item.set_HomeName(list2[4].ToString().Trim().Replace(" ", "")); item.set_AwayName(list2[5].ToString().Trim().Replace(" ", "")); item.set_SelectedMatch(list2[0].ToString().Trim().Replace(" ", "")); item.set_HDP(list2[1].ToString().Trim().Replace(" ", "")); item.HDPValue = list2[1].ToString().Trim().Replace(" ", ""); string matchType = list2[2].ToString().ToLower(); item.set_MatchType(matchType); switch (matchType) { case "handicap": item.set_BetCoverage(EnumCollection.eBetCoverage.FT); item.set_BetType(EnumCollection.eBetType.HDP); if (item.get_SelectedMatch().ToLower() == item.get_AwayName().ToLower()) { item.set_BetTarget(EnumCollection.eBetTarget.FT_Away); } else if (item.get_SelectedMatch().ToLower() == item.get_HomeName().ToLower()) { item.set_BetTarget(EnumCollection.eBetTarget.FT_Home); } else { flag = true; } break; case "first half o/u": item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); item.set_BetType(EnumCollection.eBetType.OU); if (item.get_SelectedMatch().ToLower() == "over") { item.set_BetTarget(EnumCollection.eBetTarget.Half_Over); } else if (item.get_SelectedMatch().ToLower() == "under") { item.set_BetTarget(EnumCollection.eBetTarget.Half_Under); } else { flag = true; } break; case "over/under": item.set_BetCoverage(EnumCollection.eBetCoverage.FT); item.set_BetType(EnumCollection.eBetType.OU); if (item.get_SelectedMatch().ToLower() == "over") { item.set_BetTarget(EnumCollection.eBetTarget.FT_Over); } else if (item.get_SelectedMatch().ToLower() == "under") { item.set_BetTarget(EnumCollection.eBetTarget.FT_Under); } else { flag = true; } break; case "first half hdp": item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); item.set_BetType(EnumCollection.eBetType.HDP); if (item.get_SelectedMatch().ToLower() == item.get_AwayName().ToLower()) { item.set_BetTarget(EnumCollection.eBetTarget.Half_Away); } else if (item.get_SelectedMatch().ToLower() == item.get_HomeName().ToLower()) { item.set_BetTarget(EnumCollection.eBetTarget.Half_Home); } else { flag = true; } break; case "first half 1x2": item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); item.set_BetType(EnumCollection.eBetType.lX2); if (item.get_SelectedMatch().ToLower() == "1") { item.set_BetTarget(EnumCollection.eBetTarget.Half_1); } else if (item.get_SelectedMatch().ToLower() == "x") { item.set_BetTarget(EnumCollection.eBetTarget.Half_X); } else if (item.get_SelectedMatch().ToLower() == "2") { item.set_BetTarget(EnumCollection.eBetTarget.Half_2); } else { flag = true; } break; break; case "1x2": item.set_BetCoverage(EnumCollection.eBetCoverage.FT); item.set_BetType(EnumCollection.eBetType.lX2); if (item.get_SelectedMatch().ToLower() == "1") { item.set_BetTarget(EnumCollection.eBetTarget.FT_1); } else if (item.get_SelectedMatch().ToLower() == "x") { item.set_BetTarget(EnumCollection.eBetTarget.FT_X); } else if (item.get_SelectedMatch().ToLower() == "2") { item.set_BetTarget(EnumCollection.eBetTarget.FT_2); } else { flag = true; } break; default: item.set_MemberName(string.Empty); break; } if (list2[3].ToString().Contains("Live")) { item.set_GameType(EnumCollection.eGameType.Running); item.set_RunningStatus(EnumCollection.eRunningStatus.Running); num2 = 0; list5 = CommonFunction.SeperateStringBySymbol(CommonFunction.substring(Conversions.ToString(Operators.ConcatenateObject(list2[3], "#")), 0, "!", "#", ref num2).Trim(), ":"); if (list5.Count == 2) { item.set_HomeScore((int)Math.Round(Conversion.Val(list5[0].ToString().Trim()))); item.set_AwayScore((int)Math.Round(Conversion.Val(list5[1].ToString().Trim()))); } } else { item.set_GameType(EnumCollection.eGameType.Today); string runningStatus = list2[16].ToString().Trim(); if (Enum.IsDefined(typeof(EnumCollection.eRunningStatus), runningStatus)) { item.set_RunningStatus( (EnumCollection.eRunningStatus) Enum.Parse(typeof(EnumCollection.eRunningStatus), runningStatus)); } } if (item.get_BetType() == EnumCollection.eBetType.HDP) { if (item.get_HDP().Length > 0) { if (item.get_HDP().Substring(0, 1) == "-") { if ((item.get_BetTarget() == EnumCollection.eBetTarget.FT_Home) | (item.get_BetTarget() == EnumCollection.eBetTarget.Half_Home)) { item.set_HomeColor(Color.Red); item.set_AwayColor(Color.Blue); } else { item.set_HomeColor(Color.Blue); item.set_AwayColor(Color.Red); } } else if ((item.get_BetTarget() == EnumCollection.eBetTarget.FT_Home) | (item.get_BetTarget() == EnumCollection.eBetTarget.Half_Home)) { item.set_HomeColor(Color.Blue); item.set_AwayColor(Color.Red); } else { item.set_HomeColor(Color.Red); item.set_AwayColor(Color.Blue); } } } else { item.set_HomeColor(Color.Blue); item.set_AwayColor(Color.Blue); } if (string.IsNullOrEmpty(item.get_HDP())) { item.set_HDP("0.0"); } item.set_HDP(SportBookFunction.ConvertHDPType(CommonFunction.TrimSymbol(item.get_HDP(), "-"))); if (item.get_HDP() == "0.0") { item.set_HomeColor(Color.Blue); item.set_AwayColor(Color.Blue); } item.set_CreateDate(DateTime.Now); item.set_MatchDate(list2[11].ToString().Trim()); item.set_OddsString(list2[12].ToString().Trim()); item.set_BetAmount(Conversions.ToString(Conversion.Val(list2[14].ToString().Trim().Replace(",", "")))); /***switch (list2[13].ToString().Trim().ToLower()) { case "h": item.set_Odds(SportBookFunction.ConvertHKToMalayOdds(item.get_Odds())); item.set_OddsType(EnumCollection.eOddsType.HK); break; case "i": item.set_Odds(SportBookFunction.ConvertIndoToMalayOdds(item.get_Odds())); item.set_OddsType(EnumCollection.eOddsType.Indo); break; case "e": item.set_Odds(SportBookFunction.ConvertEuroToMalayOdds(item.get_Odds())); item.set_OddsType(EnumCollection.eOddsType.Euro); break; }***/ item.set_IPAddress(CommonFunction.TrimSymbol(list2[list2.Count - 1].ToString().Trim(), "'")); if ((item.get_MemberName() != string.Empty) & !flag) { list4.Add(item); } } } return list4; } finally { enumerator.Dispose(); } } catch (Exception exception1) { ProjectData.SetProjectError(exception1); Exception exception = exception1; base._objErrorLogger.write(base._strName + ": EXCEPTION IN GenerateMemberBetlistFromText: " + exception.Message); ProjectData.ClearProjectError(); } return list4; }
public List<MatchBetNew> GenerateMemberBetlistFromText(string text1) { IEnumerator enumerator = null; List<MatchBetNew> list3 = new List<MatchBetNew>(); ArrayList list2 = new ArrayList(); ArrayList list4 = new ArrayList(); int num3 = 0; string str = ""; string str2 = ""; string str3 = ""; string str4 = ""; string str5 = ""; int num = 0; int num2 = 0; while (num3 > -1) { str2 = CommonFunction.substring(text1, num3, "<tr bgcolor", "</tr", ref num3).Trim(); if (str2 != string.Empty) { list2.Add(str2); } } try { enumerator = list2.GetEnumerator(); while (enumerator.MoveNext()) { str = Conversions.ToString(enumerator.Current); bool flag = false; MatchBetNew item = new MatchBetNew(); num3 = 0; str2 = CommonFunction.substring(str, num3, "<td", "<td>", "</td>", ref num3).Replace("<br>", " ").Trim(); if (num3 <= -1) { continue; } item.set_BetDate(str2); item.set_MemberName(CommonFunction.substring(str, num3, "nowrap\">", "</", ref num3).Trim()); if (num3 <= -1) { continue; } if (base._objMemberList.get_MemberRange() == EnumCollection.eMemberRange.AllMember) { item.set_BetFollowMethod(base._objMemberList.get_GlobalBetFollowMethod()); } else { Member member = base._objMemberList.get_Item(item.get_MemberName()); if (member != null) { item.set_BetFollowMethod(member.get_BetFollowMethod()); } else { item.set_BetFollowMethod(EnumCollection.eBetFollowMethod.Normal); } } str2 = CommonFunction.substring(str, num3, "<td>", "<", ref num3).Trim().ToLower(); if (num3 <= -1) { continue; } switch (str2) { case "1st half over/under": item.set_GameType(EnumCollection.eGameType.Today); item.set_BetType(EnumCollection.eBetType.OU); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); break; case "over/under": item.set_GameType(EnumCollection.eGameType.Today); item.set_BetType(EnumCollection.eBetType.OU); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); break; case "1st half asian handicap": item.set_GameType(EnumCollection.eGameType.Today); item.set_BetType(EnumCollection.eBetType.HDP); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); break; case "asian handicap": item.set_GameType(EnumCollection.eGameType.Today); item.set_BetType(EnumCollection.eBetType.HDP); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); break; case "1st half 1x2": item.set_GameType(EnumCollection.eGameType.Today); item.set_BetType(EnumCollection.eBetType.lX2); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); break; case "1x2": item.set_GameType(EnumCollection.eGameType.Today); item.set_BetType(EnumCollection.eBetType.lX2); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); break; case "1st half in-play over/under": item.set_GameType(EnumCollection.eGameType.Running); item.set_RunningStatus(EnumCollection.eRunningStatus.Running); item.set_BetType(EnumCollection.eBetType.OU); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); break; case "in-play over/under": item.set_GameType(EnumCollection.eGameType.Running); item.set_RunningStatus(EnumCollection.eRunningStatus.Running); item.set_BetType(EnumCollection.eBetType.OU); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); break; case "1st half in-play handicap": item.set_GameType(EnumCollection.eGameType.Running); item.set_RunningStatus(EnumCollection.eRunningStatus.Running); item.set_BetType(EnumCollection.eBetType.HDP); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); break; case "in-play handicap": item.set_GameType(EnumCollection.eGameType.Running); item.set_RunningStatus(EnumCollection.eRunningStatus.Running); item.set_BetType(EnumCollection.eBetType.HDP); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); break; case "1st half in-play 1x2": item.set_GameType(EnumCollection.eGameType.Running); item.set_RunningStatus(EnumCollection.eRunningStatus.Running); item.set_BetType(EnumCollection.eBetType.lX2); item.set_BetCoverage(EnumCollection.eBetCoverage.FirstHalf); break; case "in-play 1x2": item.set_GameType(EnumCollection.eGameType.Running); item.set_RunningStatus(EnumCollection.eRunningStatus.Running); item.set_BetType(EnumCollection.eBetType.lX2); item.set_BetCoverage(EnumCollection.eBetCoverage.FT); break; } str2 = CommonFunction.substring(str, num3, "<br>", "<", ref num3).Replace(" ", "").Trim(); if (num3 <= -1) { continue; } item.set_ID(str2); str2 = CommonFunction.substring(str, num3, "fontBlueSteel", ">", "<", ref num3).Trim(); if (num3 <= -1) { continue; } item.set_League(str2); num = 0; num2 = 0; if ((item.get_GameType() == EnumCollection.eGameType.Running) && (item.get_BetType() != EnumCollection.eBetType.lX2)) { str2 = CommonFunction.substring(str, num3, "Red'>", "<", ref num3).Trim(); if (num3 > -1) { List<string> list5 = new List<string>(); list5 = CommonFunction.SeperateStringBySymbol2(str2, "-"); if (list5.Count == 2) { num = (int) Math.Round(Conversion.Val(list5[0].Trim())); num2 = (int) Math.Round(Conversion.Val(list5[1].Trim())); } } } if (num3 <= -1) { continue; } if ((item.get_GameType() == EnumCollection.eGameType.Running) & (item.get_BetType() != EnumCollection.eBetType.lX2)) { str2 = CommonFunction.substring(str, num3, "span>", "<", ref num3).Replace(" ", "").Trim(); } else { str2 = CommonFunction.substring(str, num3, "span>", ">", "<", ref num3).Replace(" ", "").Trim(); } if (num3 <= -1) { continue; } str4 = str2; if (item.get_BetType() != EnumCollection.eBetType.lX2) { str2 = CommonFunction.substring(str, num3, ">", "<", ref num3).Trim(); if (str2 != "vs") { item.set_HDP(str2.Replace("/", "-")); } } else { item.set_HDP("0.0"); str2 = CommonFunction.substring(str, num3, ">", "<", ref num3).Trim(); } if (num3 <= -1) { continue; } str2 = CommonFunction.substring(str, num3, ">", "<", ref num3).Replace(" ", "").Trim(); if (num3 <= -1) { continue; } str5 = str2; MatchNew new3 = null; new3 = SpiderFunction.FindMatchNewByTeamName(str4, str5, this._objMatchNameList); if (new3 != null) { item.set_HomeName(new3.get_HomeName()); item.set_AwayName(new3.get_AwayName()); } else { item.set_HomeName(str4); item.set_AwayName(str5); } str2 = CommonFunction.substring(str, num3, "fontRedDark'>", "</span>", ref num3).Trim(); if (item.get_BetType() == EnumCollection.eBetType.lX2) { str2 = str2.Replace("(A)", "(H)"); int num4 = 0; str3 = CommonFunction.substring("*" + str2, 0, "*", "(H)", ref num4); if (str3 != string.Empty) { str2 = str3; } } if (num3 <= -1) { continue; } if (item.get_BetType() == EnumCollection.eBetType.OU) { List<string> list6 = CommonFunction.SeperateStringBySymbol2(str2, " "); if (list6.Count == 2) { item.set_SelectedMatch(list6[0].Trim()); item.set_HDP(list6[1].Replace("/", "-")); } } else { item.set_SelectedMatch(str2); } str2 = CommonFunction.substring(str, num3, "'>", "<", ref num3).Trim(); if (num3 <= -1) { continue; } item.set_OddsString(str2); str2 = CommonFunction.substring(str, num3, "nowrap\">", "<", ref num3).Trim(); if (num3 <= -1) { continue; } item.set_BetAmount(str2.Replace(",", "")); str2 = CommonFunction.substring(str, num3, "<td nowrap=\"nowrap\">", "<", ref num3).Trim(); if (num3 <= -1) { continue; } item.set_IPAddress(str2); item.set_OddsType(EnumCollection.eOddsType.Malay); item.set_HDP(SportBookFunction.ConvertHDPDashedTypeWithZero(item.get_HDP())); if (item.get_BetType() == EnumCollection.eBetType.HDP) { if (item.get_HDP() == "0.0") { item.set_HomeColor(Color.Blue); item.set_AwayColor(Color.Blue); } else if (str4 == item.get_HomeName()) { item.set_HomeColor(Color.Red); item.set_AwayColor(Color.Blue); } else { item.set_HomeColor(Color.Blue); item.set_AwayColor(Color.Red); } } else { item.set_HomeColor(Color.Blue); item.set_AwayColor(Color.Blue); } if (item.get_GameType() == EnumCollection.eGameType.Running) { if (str4 == item.get_HomeName()) { item.set_HomeScore(num); item.set_AwayScore(num2); } else { item.set_HomeScore(num2); item.set_AwayScore(num); } } if (item.get_BetCoverage() != EnumCollection.eBetCoverage.FT) { goto Label_098E; } switch (item.get_BetType()) { case EnumCollection.eBetType.HDP: if (item.get_SelectedMatch().ToLower() != item.get_AwayName().ToLower().Replace("(n)", "").Trim()) { break; } item.set_BetTarget(EnumCollection.eBetTarget.FT_Away); goto Label_0A78; case EnumCollection.eBetType.OU: if (item.get_SelectedMatch().ToLower() != "over") { goto Label_0962; } item.set_BetTarget(EnumCollection.eBetTarget.FT_Over); goto Label_0A78; default: goto Label_0A78; } if (item.get_SelectedMatch().ToLower() == item.get_HomeName().ToLower().Replace("(n)", "").Trim()) { item.set_BetTarget(EnumCollection.eBetTarget.FT_Home); } else { flag = true; } goto Label_0A78; Label_0962: if (item.get_SelectedMatch().ToLower() == "under") { item.set_BetTarget(EnumCollection.eBetTarget.FT_Under); } else { flag = true; } goto Label_0A78; Label_098E: switch (item.get_BetType()) { case EnumCollection.eBetType.HDP: if (item.get_SelectedMatch().ToLower() != item.get_AwayName().ToLower().Replace("(n)", "").Trim()) { break; } item.set_BetTarget(EnumCollection.eBetTarget.Half_Away); goto Label_0A78; case EnumCollection.eBetType.OU: if (item.get_SelectedMatch().ToLower() != "over") { goto Label_0A51; } item.set_BetTarget(EnumCollection.eBetTarget.Half_Over); goto Label_0A78; default: goto Label_0A78; } if (item.get_SelectedMatch().ToLower() == item.get_HomeName().ToLower().Replace("(n)", "").Trim()) { item.set_BetTarget(EnumCollection.eBetTarget.Half_Home); } else { flag = true; } goto Label_0A78; Label_0A51: if (item.get_SelectedMatch().ToLower() == "under") { item.set_BetTarget(EnumCollection.eBetTarget.Half_Under); } else { flag = true; } Label_0A78: item.set_CreateDate(DateTime.Now); item.set_Company(base._strAgentSiteName); if (!flag && ((this._isToGrab1X2Odds & (item.get_BetType() == EnumCollection.eBetType.lX2)) | (!this._isToGrab1X2Odds & (item.get_BetType() != EnumCollection.eBetType.lX2)))) { list3.Add(item); } } } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } return list3; }
/// <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; }
/// <summary> /// 保存Ghost下注信息 /// </summary> /// <param name="matchBetNew">新的下注</param> /// <returns>保存是否成功</returns> public static bool SaveGhostBetInfo(MatchBetNew matchBetNew) { bool isSuccess = false; try { // 创建gosht下注对象 GhostBet ghostBet = new GhostBet(); Ghost ghost = GetGhostByGhostName(matchBetNew.get_MemberName(), matchBetNew.get_Company()); ghostBet.Ghost = ghost; ghostBet.MatchId = matchBetNew.getMatchID(); ghostBet.LeagueName = matchBetNew.get_League(); ghostBet.SelectedMatch = matchBetNew.get_SelectedMatch(); ghostBet.MatchType = matchBetNew.get_MatchType(); ghostBet.HomeName = matchBetNew.get_HomeName(); ghostBet.AwayName = matchBetNew.get_AwayName(); ghostBet.betTime = matchBetNew.get_BetDate(); ghostBet.BetCoverage = System.Convert.ToString(matchBetNew.get_BetCoverage()); ghostBet.BetType = System.Convert.ToString(matchBetNew.get_BetType()); ghostBet.Status = System.Convert.ToString(matchBetNew.get_RunningStatus()) + "<br/>" + matchBetNew.get_IPAddress(); ghostBet.SportType = System.Convert.ToString(matchBetNew.get_SportType()); if (string.IsNullOrEmpty(matchBetNew.HDPValue)) { matchBetNew.HDPValue = "0.0"; } ghostBet.HDP = float.Parse(matchBetNew.HDPValue); ghostBet.Odds = (float)matchBetNew.get_Odds(); ghostBet.Amount = int.Parse(matchBetNew.get_BetAmount()); ghostBet.WinValue = 0; ghostBet.IsOutstanding = true; // 创建下注数据访问对象 BetService ghostBetService = new BetService(); isSuccess = ghostBetService.AddGhostBetInfo(ghostBet); } catch (Exception e) { } return isSuccess; }
/// <summary> /// 手动跟注 /// </summary> /// /// <param name="betNew">下注数据</param> /// <param name="betNew">下注数据</param> public void BetFollowAdmin(AgentConvert agent ,MatchBetNew betNew) { AgentSiteAbstractClass agentSite = agent.AgentSite; List<MatchBetNew> currentMatchLists = agentSite.get_MatchDetailListCurrent(); bool flag = false; foreach (var matchBetNew in currentMatchLists) { if (betNew.get_ReceiptID() == matchBetNew.get_ReceiptID()) { betNew = matchBetNew; flag = true; break; } } if (!flag) { Console.WriteLine("没有找到相关的赛事。"); return; } foreach (var gamer in PlayerVariable.getInstance().getGamerList().Values) { // 是否跟注 if (!gamer.Player.IsBetFollowAdmin) { return; } Member member = agentSite.get_TargetMemberList().get_Item(betNew.get_MemberName()); WebSiteAbstractClass gamerSite = gamer.WebSite; WebsiteBetStyle websiteByName = agentSite.get_TargetMemberList().get_DefaultWebsiteBetStyleList().GetWebsiteByName(gamerSite.get_WebsiteName()); gamerSite.get_BetQueueList().AddNewAgentMemberBet(betNew, agentSite.get_TargetMemberList().get_GlobalFollowOddsOption(), websiteByName.get_BetStyle(), websiteByName.get_BetValue(), gamerSite.get_BetQueueMaxAttempt(), false); } }