Ejemplo n.º 1
0
        // 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("&nbsp;", ""));
                        item.set_AwayName(Conversions.ToString(NewLateBinding.LateGet(list4[1], null, "trim", new object[0], null, null, null)).Replace("&nbsp;", ""));

                        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;
        }
Ejemplo n.º 2
0
        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("&nbsp;", ""));
                            item.set_HomeName(list2[4].ToString().Trim().Replace("&nbsp;", ""));
                            item.set_AwayName(list2[5].ToString().Trim().Replace("&nbsp;", ""));
                            item.set_SelectedMatch(list2[0].ToString().Trim().Replace("&nbsp;", ""));
                            item.set_HDP(list2[1].ToString().Trim().Replace("&nbsp;", ""));
                            item.HDPValue = list2[1].ToString().Trim().Replace("&nbsp;", "");

                            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;
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
 private void RequestCompleteTicketFromAgent(IAsyncResult result1)
 {
     try
     {
         int num2 = 0;
         int num3 = 0;
         string str11 = "";
         string str12 = "";
         string str9 = "";
         string str7 = "";
         string str3 = "";
         string inputStr = "";
         string str4 = "";
         string str6 = "";
         string str13 = "";
         ArrayList list = new ArrayList();
         string str14 = "";
         string str = "";
         int num = 0;
         WebRequestStateEx2 asyncState = (WebRequestStateEx2) result1.AsyncState;
         WebRequest request = asyncState.get_Request();
         int num4 = 0;
         string str15 = null;
         str13 = CommonFunction.ConvertWebRequestToString(request, ref num4, ref str15);
         if (this.IsLoggedOut(ref str13))
         {
             base._isLoginSuccess = false;
             throw new Exception("Get Ticket Failed, Account Logged Out!");
         }
         this.WriteProgramLogger("Get SingBet Ticket Complete. (" + DateTime.Now.Subtract(base._datTicketStart).TotalMilliseconds.ToString() + "ms)");
         this.WriteBetlistLogger("Ticket: " + str13 + "\r\nActually selected: " + asyncState.get_MatchBetParentSite().get_SelectedMatch());
         this.ExtractInfoFromTicket(str13, asyncState.get_BetType(), ref str11, ref str12, ref str9, ref str4, ref str3, ref str7, ref inputStr, ref str6, ref num2, ref num3, ref str, ref list);
         this.WriteProgramLogger("Odds : " + str7);
         MatchBetNew item = new MatchBetNew();
         item.set_League(str4);
         item.set_SelectedMatch(str9);
         item.set_HDP(str3);
         item.set_OddsString(str7);
         item.set_MaxBetAmount(inputStr);
         item.set_HomeColor(asyncState.get_MatchBetParentSite().get_HomeColor());
         item.set_AwayColor(asyncState.get_MatchBetParentSite().get_AwayColor());
         item.set_BetCoverage(asyncState.get_MatchBetParentSite().get_BetCoverage());
         item.set_BetType(asyncState.get_MatchBetParentSite().get_BetType());
         item.set_BetFollowMethod(asyncState.get_MatchBetParentSite().get_BetFollowMethod());
         item.set_ID(asyncState.get_MatchBetParentSite().get_ID());
         item.set_MemberName(asyncState.get_MatchBetParentSite().get_MemberName());
         item.set_OddsType(base._objBetOddsType);
         if (asyncState.get_MatchChildSite().get_AwayName().ToUpper() == str12.ToUpper())
         {
             item.set_HomeName(str11);
             item.set_HomeScore(num2);
             item.set_AwayName(str12);
             item.set_AwayScore(num3);
         }
         else
         {
             item.set_HomeName(str12);
             item.set_HomeScore(num3);
             item.set_AwayName(str11);
             item.set_AwayScore(num2);
         }
         if (asyncState.get_BetAmount() == Conversions.ToDouble("-1"))
         {
             item.set_BetAmount(inputStr);
         }
         else
         {
             item.set_BetAmount(Conversions.ToString(asyncState.get_BetAmount()));
         }
         if (Conversion.Val(item.get_BetAmount()) > Conversion.Val(inputStr))
         {
             item.set_BetAmount(inputStr);
         }
         if (Conversion.Val(item.get_BetAmount()) > base._intMaxBetLimiter)
         {
             item.set_BetAmount(Conversions.ToString(base._intMaxBetLimiter));
         }
         if (base._isAutoAdjustToMinBetAmount && (Conversion.Val(item.get_BetAmount()) < Conversion.Val(str6)))
         {
             item.set_BetAmount(str6);
         }
         item.set_BetAmount(Conversions.ToString(Conversion.Int(Conversion.Val(item.get_BetAmount()))));
         if (asyncState.get_BetType() == EnumCollection.eBetType.HDP)
         {
             str14 = Conversions.ToString(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(("gold=" + item.get_BetAmount() + "&uid=") + this._strUID + "&active=", list[1]), "&strong="), list[2]), "&line_type="), list[3]), "&gid="), list[4]), "&type="), list[5]), "&gnum="), list[6]), "&concede_r="), list[7]), "&radio_r="), list[8]), "&ioradio_r_h="), list[9]), "&gmax_single="), list[10]), "&gmin_single="), list[11]), "&singlecredit="), list[12]), "&singleorder="), list[13]), "&restsinglecredit="), list[14]), "&wagerstotal="), list[15]), "&restcredit="), list[0x10]), "&pay_type="), list[0x11]), "&odd_f_type="), list[0x12]));
         }
         else
         {
             str14 = Conversions.ToString(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(Operators.ConcatenateObject(("gold=" + item.get_BetAmount() + "&uid=") + this._strUID + "&active=", list[1]), "&line_type="), list[2]), "&gid="), list[3]), "&type="), list[4]), "&gnum="), list[5]), "&concede_h="), list[6]), "&radio_h="), list[7]), "&ioradio_r_h="), list[8]), "&gmax_single="), list[9]), "&gmin_single="), list[10]), "&singlecredit="), list[11]), "&singleorder="), list[12]), "&restsinglecredit="), list[13]), "&wagerstotal="), list[14]), "&restcredit="), list[15]), "&pay_type="), list[0x10]), "&odd_f_type="), list[0x11]));
         }
         this.WriteBetlistLogger("Bet Post: " + str14);
         if ((asyncState.get_AgentToClientBetObj() != null) && (asyncState.get_AgentToClientBetObj().get_FollowOddsOpt() != null))
         {
             if (asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_FollowOddsOption() == EnumCollection.eFollowOddsOption.HaltIfOddsLessThan)
             {
                 if (SpiderFunction.IsOddsALessThanOddsB(item.get_Odds(), asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_OddsValue()))
                 {
                     this.WriteProgramLogger(string.Format("Odds Too Less ([{0}] < [{1}])", item.get_Odds(), asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_OddsValue()));
                     item.set_Description(string.Format("Odds Too Less ([{0}] < [{1}])", item.get_Odds(), asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_OddsValue()));
                     base._objBetListFailed.Add(item);
                     this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                     base._isBetting = false;
                     this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                     return;
                 }
             }
             else if (((asyncState.get_MatchBetParentSite().get_BetFollowMethod() == EnumCollection.eBetFollowMethod.Normal) & (asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_FollowOddsOption() == EnumCollection.eFollowOddsOption.HaltIfOddsDifferentMoreThan)) && (SpiderFunction.GetOddsDiffSameSide(item.get_Odds(), asyncState.get_MatchBetParentSite().get_Odds()) > asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_OddsValue()))
             {
                 this.WriteProgramLogger(string.Format("Odds Different Too Much ([{0}] > [{1}])", SpiderFunction.GetOddsDiffSameSide(item.get_Odds(), asyncState.get_MatchBetParentSite().get_Odds()), asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_OddsValue()));
                 item.set_Description(string.Format("Odds Different Too Much ([{0}] > [{1}])", SpiderFunction.GetOddsDiffSameSide(item.get_Odds(), asyncState.get_MatchBetParentSite().get_Odds()), asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_OddsValue()));
                 base._objBetListFailed.Add(item);
                 this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                 base._isBetting = false;
                 this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                 return;
             }
         }
         if ((asyncState.get_MatchBetParentSite().get_HomeScore() == item.get_HomeScore()) & (asyncState.get_MatchBetParentSite().get_AwayScore() == item.get_AwayScore()))
         {
             if (!base._isPerMatchLimitEnabled | (base._isPerMatchLimitEnabled & base._objPerMatchLimitList.IsCanBet(item, (int) Math.Round(Conversion.Val(item.get_BetAmount())), ref num)))
             {
                 if (num < Conversion.Val(item.get_BetAmount()))
                 {
                     item.set_BetAmount(num.ToString());
                 }
                 this.RaiseEventGetTicketComplete(base._strName, true, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), item);
                 if (base._isAutoBetting)
                 {
                     if (base._isToTrySimilarHDP | (!base._isToTrySimilarHDP & (asyncState.get_MatchBetParentSite().get_HDP() == str3)))
                     {
                         this.WriteProgramLogger("Can Bet SingBet.");
                         this.Bet(request.RequestUri.ToString(), str14, str, item, asyncState.get_MatchParentSite(), asyncState.get_BetTarget());
                     }
                     else
                     {
                         base._isBetting = false;
                         this.WriteProgramLogger("Cannot Bet SingBet.");
                         this.WriteBetlistLogger(SpiderFunction.GenerateDetailedMatchInfo(asyncState.get_MatchBetParentSite(), asyncState.get_MatchBetChildSite(), "Failed Ticket HDP/ODDS Change", "SingAgent"));
                         item.set_Description("HDP/Odds Change");
                         base._objBetListFailed.Add(item);
                         this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                         this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                     }
                 }
                 else
                 {
                     base._isBetting = false;
                     this.WriteProgramLogger("Auto Bet OFF.");
                     item.set_Description("Auto Bet OFF.");
                     base._objBetListFailed.Add(item);
                     this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                     this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                 }
             }
             else
             {
                 base._isBetting = false;
                 this.WriteProgramLogger("Exceed Per Match Limit!");
                 item.set_Description("Exceed Per Match Limit!");
                 base._objBetListFailed.Add(item);
                 this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                 this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
             }
         }
         else
         {
             base._isBetting = false;
             this.WriteProgramLogger(string.Format("Score Changed [{0}-{1}] -> [{2}-{3}]", new object[] { asyncState.get_MatchBetParentSite().get_HomeScore(), asyncState.get_MatchBetParentSite().get_AwayScore(), item.get_HomeScore(), item.get_AwayScore() }));
             item.set_Description(string.Format("Score Changed [{0}-{1}] -> [{2}-{3}]", new object[] { asyncState.get_MatchBetParentSite().get_HomeScore(), asyncState.get_MatchBetParentSite().get_AwayScore(), item.get_HomeScore(), item.get_AwayScore() }));
             base._objBetListFailed.Add(item);
             this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
             this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
         }
     }
     catch (Exception exception1)
     {
         ProjectData.SetProjectError(exception1);
         Exception exception = exception1;
         base._isBetting = false;
         base._objErrorLogger.write(base._strName + ": EXCEPTION IN RequestCompleteTicketFromAgent: " + exception.Message);
         this.WriteProgramLogger(base._strName + ": EXCEPTION IN RequestCompleteTicketFromAgent: " + exception.Message);
         WebRequestStateEx2 ex2 = (WebRequestStateEx2) result1.AsyncState;
         this.RaiseEventGetTicketComplete(base._strName, true, ex2.get_BetTarget(), ex2.get_MatchParentSite(), ex2.get_MatchBetParentSite(), ex2.get_MatchChildSite(), ex2.get_MatchBetChildSite(), null);
         ProjectData.ClearProjectError();
     }
 }
Ejemplo n.º 5
0
        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("&nbsp;", "").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("&nbsp;", "").Trim();
                    }
                    else
                    {
                        str2 = CommonFunction.substring(str, num3, "span>", ">", "<", ref num3).Replace("&nbsp;", "").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("&nbsp;", "").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, "&nbsp;");
                        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;
        }
Ejemplo n.º 6
0
        private void RequestCompleteTicketFromAgent(IAsyncResult result1)
        {
            try
            {
                // Michael
                // EnumCollection.eBetType type;
                EnumCollection.eBetType type = EnumCollection.eBetType.HDP;
                int num4 = 0;
                int num = 0;
                string str4 = "";
                string str = "";
                string str10 = "";
                string str8 = "";
                string str3 = "";
                string inputStr = "";
                string str7 = "";
                string str5 = "";
                string str12 = "";
                ArrayList list = new ArrayList();
                string str13 = "";
                int num3 = 0;
                int num2 = 0;
                WebRequestStateEx2 asyncState = (WebRequestStateEx2)result1.AsyncState;
                int num5 = 0;
                string str14 = null;
                str12 = CommonFunction.ConvertWebRequestToString(asyncState.get_Request(), ref num5, ref str14);
                this.WriteProgramLogger("Get SBOBet Ticket Complete. (" + DateTime.Now.Subtract(base._datTicketStart).TotalMilliseconds.ToString() + "ms)");
                this.WriteBetlistLogger("Ticket: " + str12);
                this.WriteProgramLogger("Ticket: " + str12);
                if(string.IsNullOrEmpty(str12) || this.IsLoggedOut(ref str12))
                {
                    throw new Exception(this._strAccountID + " has getted ticket fail.");
                }
                this.ExtractInfoFromTicket(str12, ref str4, ref str, ref str10, ref str5, ref type, ref str3, ref str8, ref inputStr, ref str7, ref num4, ref num, ref num2);
                this.WriteProgramLogger("Odds : " + str8);
                MatchBetNew item = new MatchBetNew();
                item.set_Company(asyncState.get_MatchBetParentSite().get_Company());
                item.set_League(str5);
                item.set_HomeName(str4);
                item.set_AwayName(str);
                item.set_SelectedMatch(asyncState.get_MatchBetParentSite().get_SelectedMatch());
                item.HDPValue = str3;
                if (!string.IsNullOrEmpty(str3))
                {
                    string HDP_id = this.ConvertHDPTypeSBO(str3);
                    item.set_HDP(HDP_id);
                }
                item.set_OddsString(str8);
                item.set_MaxBetAmount(inputStr);
                item.set_SportType(asyncState.get_MatchBetParentSite().get_SportType());
                item.set_HomeColor(asyncState.get_MatchBetParentSite().get_HomeColor());
                item.set_AwayColor(asyncState.get_MatchBetParentSite().get_AwayColor());
                item.set_BetCoverage(asyncState.get_MatchBetParentSite().get_BetCoverage());
                item.set_BetType(asyncState.get_BetType());
                item.set_BetTarget(asyncState.get_BetTarget());
                item.set_BetFollowMethod(asyncState.get_MatchBetParentSite().get_BetFollowMethod());
                item.set_ID(asyncState.get_MatchBetParentSite().get_ID());
                item.set_MemberName(asyncState.get_MatchBetParentSite().get_MemberName());
                item.set_HomeScore(num4);
                item.set_AwayScore(num);
                item.set_MatchType(asyncState.get_MatchBetParentSite().get_MatchType());
                item.set_MatchDate(asyncState.get_MatchBetChildSite().get_MatchDate());
                item.set_OddsType(base._objBetOddsType);
                item.set_GameType(asyncState.get_MatchBetParentSite().get_GameType());
                item.set_RunningStatus(asyncState.get_MatchBetParentSite().get_RunningStatus());

                if (asyncState.get_BetAmount() == Conversions.ToDouble("-1"))
                {
                    item.set_BetAmount(inputStr);
                }
                else
                {
                    item.set_BetAmount(Conversions.ToString(asyncState.get_BetAmount()));
                }

                if (Conversion.Val(item.get_BetAmount()) > Conversion.Val(inputStr))
                {
                    item.set_BetAmount(inputStr);
                }

                /*** start Aorta
                if (Conversion.Val(item.get_BetAmount()) > base._intMaxBetLimiter)
                {
                    item.set_BetAmount(Conversions.ToString(base._intMaxBetLimiter));
                }
                if (base._isAutoAdjustToMinBetAmount && (Conversion.Val(item.get_BetAmount()) < Conversion.Val(str7)))
                {
                    item.set_BetAmount(str7);
                }***/

                item.set_BetAmount(Conversions.ToString(Conversion.Int(Conversion.Val(item.get_BetAmount()))));

                if (str12.Contains(".showTicket(0)"))
                {
                    throw new Exception("Odds are closed or temporary not available.");
                }
                if ((asyncState.get_AgentToClientBetObj() != null) && (asyncState.get_AgentToClientBetObj().get_FollowOddsOpt() != null))
                {
                    if (asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_FollowOddsOption() == EnumCollection.eFollowOddsOption.HaltIfOddsLessThan)
                    {
                        if (SpiderFunction.IsOddsALessThanOddsB(item.get_Odds(), asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_OddsValue()))
                        {
                            item.set_Description(string.Format("Odds Too Less ([{0}] < [{1}])", item.get_OddsString(), asyncState.get_MatchBetParentSite().get_OddsString()));
                            this.WriteProgramLogger(item.get_Description());
                            base._objBetListFailed.Add(item);
                            this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                            this.get__objBetQueueMonitor().SaveBetInfo(item.get_Description(), asyncState.get_MatchBetParentSite());
                            base._isBetting = false;
                            this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                            return;
                        }
                    }
                    else if (((asyncState.get_MatchBetParentSite().get_BetFollowMethod() == EnumCollection.eBetFollowMethod.Normal) & (asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_FollowOddsOption() == EnumCollection.eFollowOddsOption.HaltIfOddsDifferentMoreThan)) && (SpiderFunction.GetOddsDiffSameSide(item.get_Odds(), asyncState.get_MatchBetParentSite().get_Odds()) > asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_OddsValue()))
                    {
                        item.set_Description(string.Format("Odds Different Too Much ([{0}] > [{1}]", item.get_OddsString(), asyncState.get_MatchBetParentSite().get_OddsString()));
                        this.WriteProgramLogger(item.get_Description());
                        base._objBetListFailed.Add(item);
                        this.get__objBetQueueMonitor().SaveBetInfo(item.get_Description(), asyncState.get_MatchBetParentSite());
                        this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                        base._isBetting = false;
                        this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                        return;
                    }
                }
                base._isBetting = false;
                if ((asyncState.get_MatchBetParentSite().get_HomeScore() == num4) & (asyncState.get_MatchBetParentSite().get_AwayScore() == num))
                {
                    if (!base._isPerMatchLimitEnabled | (base._isPerMatchLimitEnabled & base._objPerMatchLimitList.IsCanBet(item, (int)Math.Round(Conversion.Val(item.get_BetAmount())), ref num3)))
                    {
                        if (num3 < Conversion.Val(item.get_BetAmount()))
                        {
                            item.set_BetAmount(num3.ToString());
                        }
                        str13 = string.Format("stake={0}&betcount={1}&loginname={2}&stakeInAuto={3}", new object[] { item.get_BetAmount(), num2.ToString(), this._strLoginName, item.get_BetAmount() });
                        this.RaiseEventGetTicketComplete(base._strName, true, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), item);
                        if (base._isAutoBetting)
                        {
                            if (base._isToTrySimilarHDP | (!base._isToTrySimilarHDP & (asyncState.get_MatchBetParentSite().get_HDP() == str3)))
                            {
                                this.WriteProgramLogger("Can Bet SBOBet.[INFO]  " + str13);
                                this.WriteBetlistLogger("Can Bet SBOBet. POST: " + str13);
                                this.Bet(str13, item, asyncState.get_MatchChildSite(), asyncState.get_BetTarget());
                            }
                            else
                            {
                                this.WriteProgramLogger("Cannot Bet SBOBet.");
                                this.WriteBetlistLogger(" Cannot Bet SBOBet. POST: " + str13);
                                this.WriteBetlistLogger(SpiderFunction.GenerateDetailedMatchInfo(asyncState.get_MatchBetParentSite(), asyncState.get_MatchBetChildSite(), "Failed Ticket HDP/ODDS Change", "SBOAgent"));
                                item.set_Description("HDP/Odds Change");
                                base._objBetListFailed.Add(item);
                                this.get__objBetQueueMonitor().SaveBetInfo(item.get_Description(), asyncState.get_MatchBetParentSite());
                                this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                                this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                            }
                        }
                        else
                        {
                            this.WriteProgramLogger("Auto Bet OFF.");
                            item.set_Description("Auto Bet OFF.");
                            base._objBetListFailed.Add(item);
                            this.get__objBetQueueMonitor().SaveBetInfo(item.get_Description(), asyncState.get_MatchBetParentSite());
                            this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                            this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                        }
                    }
                    else
                    {
                        this.WriteProgramLogger("Exceed Per Match Limit!");
                        item.set_Description("Exceed Per Match Limit!");
                        base._objBetListFailed.Add(item);
                        this.get__objBetQueueMonitor().SaveBetInfo(item.get_Description(), asyncState.get_MatchBetParentSite());
                        this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                        this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                    }
                }
                else
                {
                    this.WriteProgramLogger(string.Format("Score Changed [{0}-{1}] -> [{2}-{3}]", new object[] { asyncState.get_MatchBetParentSite().get_HomeScore(), asyncState.get_MatchBetParentSite().get_AwayScore(), num4, num }));
                    item.set_Description(string.Format("Score Changed [{0}-{1}] -> [{2}-{3}]", new object[] { asyncState.get_MatchBetParentSite().get_HomeScore(), asyncState.get_MatchBetParentSite().get_AwayScore(), num4, num }));
                    base._objBetListFailed.Add(item);
                    this.get__objBetQueueMonitor().SaveBetInfo(item.get_Description(), asyncState.get_MatchBetParentSite());
                    this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                    this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                }
            }
            catch (Exception exception1)
            {
                ProjectData.SetProjectError(exception1);
                Exception exception = exception1;
                base._isBetting = false;
                base._objErrorLogger.write(base._strName + ": EXCEPTION IN RequestCompleteTicketFromAgent: " + exception.Message);
                this.WriteProgramLogger(base._strName + ": EXCEPTION IN RequestCompleteTicketFromAgent: " + exception.Message);
                WebRequestStateEx2 ex2 = (WebRequestStateEx2)result1.AsyncState;
                this.get__objBetQueueMonitor().SaveBetInfo(exception.Message, ex2.get_MatchBetParentSite());
                this.RaiseEventGetTicketComplete(base._strName, true, ex2.get_BetTarget(), ex2.get_MatchParentSite(), ex2.get_MatchBetParentSite(), ex2.get_MatchChildSite(), ex2.get_MatchBetChildSite(), null);
                ProjectData.ClearProjectError();
            }
        }
Ejemplo n.º 7
0
        private void RequestCompleteTicket(IAsyncResult result1)
        {
            try
            {
                // Michael
                // EnumCollection.eBetType type;
                EnumCollection.eBetType type = EnumCollection.eBetType.HDP;
                string str4 = "";
                string str = "";
                string str10 = "";
                int num2 = 0;
                int num = 0;
                string str8 = "";
                string str3 = "";
                string inputStr = "";
                string str5 = "";
                string str12 = "";
                ArrayList list = new ArrayList();
                WebRequestStateEx2 asyncState = (WebRequestStateEx2) result1.AsyncState;
                int num3 = 0;
                string str14 = null;
                str12 = CommonFunction.ConvertWebRequestToString(asyncState.get_Request(), ref num3, ref str14);
                this.WriteProgramLogger("Get SB188 Ticket Complete.");
                str14 = Conversions.ToString((int) type);
                this.ExtractInfoFromTicket(str12, ref str4, ref str, ref str10, ref str5, ref str14, ref str3, ref str8, ref inputStr, ref num2, ref num);
                type = (EnumCollection.eBetType) Conversions.ToInteger(str14);
                this.WriteProgramLogger("Odds : " + str8);
                MatchBetNew new2 = new MatchBetNew();
                new2.set_League(str5);
                new2.set_HomeName(str4);
                new2.set_AwayName(str);
                new2.set_SelectedMatch(str10);
                new2.set_HDP(str3);
                new2.set_OddsString(str8);
                new2.set_BetType(type);
                new2.set_BetTarget(asyncState.get_BetTarget());
                new2.set_MaxBetAmount(inputStr);
                new2.set_HomeScore(num2);
                new2.set_AwayScore(num);
                switch (base._objBetAmountStyle)
                {
                    case EnumCollection.eBetAmountStyle.Fixed:
                        if (Conversion.Val(base._intDefaultBetAmount) <= Conversion.Val(inputStr))
                        {
                            break;
                        }
                        new2.set_BetAmount(Conversion.Val(inputStr).ToString());
                        goto Label_01A7;

                    case EnumCollection.eBetAmountStyle.MaxBet:
                        new2.set_BetAmount(Conversion.Val(inputStr).ToString());
                        goto Label_01A7;

                    default:
                        goto Label_01A7;
                }
                new2.set_BetAmount(this._intDefaultBetAmount.ToString());
            Label_01A7:
                if (Conversion.Val(new2.get_BetAmount()) > Conversion.Val(inputStr))
                {
                    new2.set_BetAmount(inputStr);
                }
                if (Conversion.Val(new2.get_BetAmount()) > base._intMaxBetLimiter)
                {
                    new2.set_BetAmount(Conversions.ToString(base._intMaxBetLimiter));
                }
                new2.set_BetAmount(Conversions.ToString(Conversion.Int(Conversion.Val(new2.get_BetAmount()))));
                base._isBetting = false;
            }
            catch (Exception exception1)
            {
                ProjectData.SetProjectError(exception1);
                Exception exception = exception1;
                base._isBetting = false;
                base._objErrorLogger.write(base._strName + ": EXCEPTION IN RequestCompleteTicket: " + exception.Message);
                this.WriteProgramLogger(base._strName + ": EXCEPTION IN RequestCompleteTicket: " + exception.Message);
                WebRequestStateEx2 ex2 = (WebRequestStateEx2) result1.AsyncState;
                this.RaiseEventGetTicketComplete(base._strName, true, ex2.get_BetTarget(), ex2.get_MatchParentSite(), ex2.get_MatchBetParentSite(), ex2.get_MatchChildSite(), ex2.get_MatchBetChildSite(), null);
                ProjectData.ClearProjectError();
            }
        }
Ejemplo n.º 8
0
        // Aorta
        private void RequestCompleteTicketFromAgent(IAsyncResult result1)
        {
            try
            {
                int num3 = 0;
                int num = 0;
                string str4 = "";
                string str = "";
                string str10 = "";
                string str8 = "";
                string str3 = "";
                string inputStr = "";
                string str5 = "";
                string str7 = "";
                string str2 = "";
                string str11 = "";
                string str9 = "";
                string str12 = "";
                ArrayList list = new ArrayList();
                string str14 = "";
                int num2 = 0;
                string str13 = "";
                WebRequestStateEx2 asyncState = (WebRequestStateEx2)result1.AsyncState;
                int num4 = 0;
                string str16 = null;

                str12 = CommonFunction.ConvertWebRequestToString(asyncState.get_Request(), ref num4, ref str16);
                str13 = str12.ToLower();
                this.WriteProgramLogger("Get IBCBet Ticket Complete. (" + Conversions.ToString(DateTime.Now.Subtract(base._datTicketStart).TotalMilliseconds) + "ms)");
                this.WriteBetlistLogger("Ticket: " + str12);
                this.WriteProgramLogger("Ticket: " + str12);
                if (string.IsNullOrEmpty(str13) || this.IsLoggedOut(ref str12))
                {
                    throw new Exception(this._strAccountID + " has getted ticket fail.");
                }
                this.ExtractInfoFromTicket(str12, ref str4, ref str, ref str10, ref str5, ref str3, ref str8, ref inputStr, ref str7, ref str2, ref str9, ref str11, ref num3, ref num);
                this.WriteProgramLogger("IBCBet Client Odds : " + str8);

                if (!(str13.Contains("suspend") | str13.Contains("'close'")))
                {
                    MatchBetNew item = new MatchBetNew();
                    item.set_Company(asyncState.get_MatchBetParentSite().get_Company());
                    item.set_League(str5);
                    item.set_HomeName(str4);
                    item.set_AwayName(str);
                    item.set_SelectedMatch(str10);
                    item.HDPValue = str3;
                    if (!string.IsNullOrEmpty(str3))
                    {
                        string HDP_id = SportBookFunction.ConvertHDPType(str3);
                        item.set_HDP(HDP_id);
                    }
                    item.set_OddsString(str8);
                    item.set_MaxBetAmount(inputStr);
                    item.set_SportType(asyncState.get_MatchBetParentSite().get_SportType());
                    item.set_HomeColor(asyncState.get_MatchBetParentSite().get_HomeColor());
                    item.set_AwayColor(asyncState.get_MatchBetParentSite().get_AwayColor());
                    item.set_BetCoverage(asyncState.get_MatchBetParentSite().get_BetCoverage());
                    item.set_BetType(asyncState.get_MatchBetParentSite().get_BetType());
                    item.set_BetFollowMethod(asyncState.get_MatchBetParentSite().get_BetFollowMethod());
                    item.set_ID(asyncState.get_MatchBetParentSite().get_ID());
                    item.set_MemberName(asyncState.get_MatchBetParentSite().get_MemberName());
                    item.set_HomeScore(num3);
                    item.set_AwayScore(num);
                    item.set_MatchType(asyncState.get_MatchBetParentSite().get_MatchType());
                    item.set_MatchDate(asyncState.get_MatchBetChildSite().get_MatchDate());
                    item.set_GameType(asyncState.get_MatchBetParentSite().get_GameType());
                    item.set_RunningStatus(asyncState.get_MatchBetParentSite().get_RunningStatus());
                    item.set_MatchID(asyncState.get_MatchBetChildSite().getMatchID());
                    item.set_IPAddress(base.ipAdress);

                    switch (str9)
                    {
                        case "2":
                            item.set_OddsType(EnumCollection.eOddsType.HK);
                            break;

                        case "4":
                            item.set_OddsType(EnumCollection.eOddsType.Malay);
                            break;
                    }

                    if (asyncState.get_BetAmount() == Conversions.ToDouble("-1"))
                    {
                        item.set_BetAmount(inputStr);
                    }
                    else
                    {
                        item.set_BetAmount(Conversions.ToString(asyncState.get_BetAmount()));
                    }

                    if (Conversion.Val(item.get_BetAmount()) > Conversion.Val(inputStr))
                    {
                        item.set_BetAmount(inputStr);
                    }
                    /***** start Aorta
                    if (Conversion.Val(item.get_BetAmount()) > base._intMaxBetLimiter)
                    {
                        //item.set_BetAmount(Conversions.ToString(base._intMaxBetLimiter));
                    }

                    if (base._isAutoAdjustToMinBetAmount && (Conversion.Val(item.get_BetAmount()) < Conversion.Val(str7)))
                    {
                        item.set_BetAmount(str7);
                    }
                     end Aorta *****/

                    item.set_BetAmount(Conversions.ToString(Conversion.Int(Conversion.Val(item.get_BetAmount()))));

                    if ((asyncState.get_AgentToClientBetObj() != null) && (asyncState.get_AgentToClientBetObj().get_FollowOddsOpt() != null))
                    {
                        if (asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_FollowOddsOption() == EnumCollection.eFollowOddsOption.HaltIfOddsLessThan)
                        {
                            if (SpiderFunction.IsOddsALessThanOddsB(item.get_Odds(), asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_OddsValue()))
                            {
                                item.set_Description(string.Format("Odds Too Less ([{0}] < [{1}])", item.get_OddsString(), asyncState.get_MatchBetParentSite().get_OddsString()));
                                this.WriteProgramLogger(item.get_Description());
                                base._objBetListFailed.Add(item);
                                this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                                this.get__objBetQueueMonitor().SaveBetInfo(item.get_Description(), asyncState.get_MatchBetParentSite());
                                base._isBetting = false;
                                this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                                return;
                            }
                        }
                        else if (((asyncState.get_MatchBetParentSite().get_BetFollowMethod() == EnumCollection.eBetFollowMethod.Normal) & (asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_FollowOddsOption() == EnumCollection.eFollowOddsOption.HaltIfOddsDifferentMoreThan)) && (SpiderFunction.GetOddsDiffSameSide(item.get_Odds(), asyncState.get_MatchBetParentSite().get_Odds()) > asyncState.get_AgentToClientBetObj().get_FollowOddsOpt().get_OddsValue()))
                        {
                            item.set_Description(string.Format("Odds Different Too Much ([{0}] > [{1}]", item.get_OddsString(), asyncState.get_MatchBetParentSite().get_OddsString()));
                            this.WriteProgramLogger(item.get_Description());
                            base._objBetListFailed.Add(item);
                            this.get__objBetQueueMonitor().SaveBetInfo(item.get_Description(), asyncState.get_MatchBetParentSite());
                            this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                            base._isBetting = false;
                            this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                            return;
                        }
                    }
                    if ((asyncState.get_MatchBetParentSite().get_HomeScore() == num3) & (asyncState.get_MatchBetParentSite().get_AwayScore() == num))
                    {
                        if (!base._isPerMatchLimitEnabled | (base._isPerMatchLimitEnabled & base._objPerMatchLimitList.IsCanBet(item, (int)Math.Round(Conversion.Val(item.get_BetAmount())), ref num2)))
                        {
                            if (num2 < Conversion.Val(item.get_BetAmount()))
                            {
                                item.set_BetAmount(num2.ToString());
                            }
                            str14 = "BPstake=" + item.get_BetAmount() + "&stakeRequest=&oddsRequest=" + str8 + "&oddChange1=Odds+has+changed+from&oddChange2=to&MINBET=" + str7 + "&MAXBET=" + inputStr + "&bettype=" + str2 + "&lowerminmesg=Your+stake+is+lower+than+minimun+bet%21%21%21&highermaxmesg=Your+stake+is+higher+than+maximum+bet%21%21%21&areyousuremesg=Are+you+sure+you+want+process+the+bet%3F&incorrectStakeMesg=Incorrect+Stake.&oddsWarning=WARNING%21%21%21+WE+HAVE+GIVEN+A+NEW+ODDS+%26+NEW+STAKE%21%21%21&betconfirmmesg=Please+click+OK+to+confirm+the+bet%3F&siteType=&hidStake10=Stake+must+be+in+multiples+of+10&hidStake20=Stake+must+be+in+multiples+of+20&sporttype=" + str11 + "&username="******"&oddsType=" + str9;
                            this.RaiseEventGetTicketComplete(base._strName, true, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), item);
                            if (base._isAutoBetting)
                            {
                                if (base._isToTrySimilarHDP | (!base._isToTrySimilarHDP & (asyncState.get_MatchBetParentSite().get_HDP() == str3)))
                                {
                                    this.WriteProgramLogger("Can Bet IBCBet.[INFO] " + str14);
                                    this.WriteBetlistLogger("Can Bet IBCBet. POST: " + str14);
                                    this.Bet(str14, item, asyncState.get_MatchChildSite(), asyncState.get_BetTarget());
                                }
                                else
                                {
                                    this.WriteProgramLogger("Cannot Bet IBCBet.[INFO] " + str14);
                                    this.WriteBetlistLogger(" Cannot Bet IBCBet. POST: " + str14);
                                    this.WriteBetlistLogger(SpiderFunction.GenerateDetailedMatchInfo(asyncState.get_MatchBetParentSite(), asyncState.get_MatchBetChildSite(), "Failed Ticket HDP/ODDS Change", "IBCAgent"));
                                    item.set_Description("HDP/Odds Change");
                                    base._objBetListFailed.Add(item);
                                    this.get__objBetQueueMonitor().SaveBetInfo(item.get_Description(), asyncState.get_MatchBetParentSite());
                                    this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                                    base._isBetting = false;
                                    this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                                }
                            }
                            else
                            {
                                this.WriteProgramLogger("Auto Bet OFF.");
                                item.set_Description("Auto Bet OFF.");
                                base._objBetListFailed.Add(item);
                                this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                                base._isBetting = false;
                                this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                            }
                        }
                        else
                        {
                            this.WriteProgramLogger("Exceed Per Match Limit!");
                            item.set_Description("Exceed Per Match Limit!");
                            base._objBetListFailed.Add(item);
                            this.get__objBetQueueMonitor().SaveBetInfo(item.get_Description(), asyncState.get_MatchBetParentSite());
                            this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                            base._isBetting = false;
                            this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                        }
                    }
                    else
                    {
                        this.WriteProgramLogger(string.Format("h Changed [{0}-{1}] -> [{2}-{3}]", new object[] { asyncState.get_MatchBetParentSite().get_HomeScore(), asyncState.get_MatchBetParentSite().get_AwayScore(), num3, num }));
                        item.set_Description(string.Format("Score Changed [{0}-{1}] -> [{2}-{3}]", new object[] { asyncState.get_MatchBetParentSite().get_HomeScore(), asyncState.get_MatchBetParentSite().get_AwayScore(), num3, num }));
                        base._objBetListFailed.Add(item);
                        this.get__objBetQueueMonitor().SaveBetInfo(item.get_Description(), asyncState.get_MatchBetParentSite());
                        this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), item.get_Description());
                        base._isBetting = false;
                        this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                    }
                }
                else
                {
                    string str15 = "";
                    if (str13.Contains("suspend"))
                    {
                        str15 = "Cannot Bet...Match Suspended!";
                    }
                    else if (str13.Contains("'close'"))
                    {
                        str15 = "Cannot Bet...Match Closed!";
                    }
                    else
                    {
                        str15 = "Cannot Bet...Odds is Empty!";
                    }
                    base._isBetting = false;
                    this.WriteProgramLogger(str15);
                    this.get__objBetQueueMonitor().SaveBetInfo(str15, asyncState.get_MatchBetParentSite());
                    this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetParentSite().get_ID(), str15);
                    this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                }
            }
            catch (Exception exception1)
            {
                ProjectData.SetProjectError(exception1);
                Exception exception = exception1;
                base._isBetting = false;
                base._objErrorLogger.write(base._strName + ": EXCEPTION IN RequestCompleteTicketFromAgent: " + exception.Message);
                this.WriteProgramLogger(base._strName + ": EXCEPTION IN RequestCompleteTicketFromAgent: " + exception.Message);
                WebRequestStateEx2 ex2 = (WebRequestStateEx2)result1.AsyncState;
                this.get__objBetQueueMonitor().SaveBetInfo(exception.Message, ex2.get_MatchBetParentSite());
                this.RaiseEventGetTicketComplete(base._strName, true, ex2.get_BetTarget(), ex2.get_MatchParentSite(), ex2.get_MatchBetParentSite(), ex2.get_MatchChildSite(), ex2.get_MatchBetChildSite(), null);
                ProjectData.ClearProjectError();
            }
        }
Ejemplo n.º 9
0
        private void RequestCompleteTicket(IAsyncResult result1)
        {
            try
            {
                int num2 = 0;
                int num = 0;
                string str4 = "";
                string str = "";
                string str10 = "";
                string str8 = "";
                string str3 = "";
                string inputStr = "";
                string str5 = "";
                string str7 = "";
                string str2 = "";
                string str11 = "";
                string str9 = "";
                string str12 = "";
                ArrayList list = new ArrayList();
                string str13 = "";

                WebRequestStateEx2 asyncState = (WebRequestStateEx2)result1.AsyncState;

                int num3 = 0;
                string str14 = null;
                str12 = CommonFunction.ConvertWebRequestToString(asyncState.get_Request(), ref num3, ref str14);

                this.WriteProgramLogger("Get IBCBet Ticket Complete.");
                this.ExtractInfoFromTicket(str12, ref str4, ref str, ref str10, ref str5, ref str3, ref str8, ref inputStr, ref str7, ref str2, ref str9, ref str11, ref num2, ref num);
                this.WriteProgramLogger("IBCBet Client Odds : " + str8);

                MatchBetNew item = new MatchBetNew();
                item.set_League(str5);
                item.set_HomeName(str4);
                item.set_AwayName(str);
                item.set_SelectedMatch(str10);
                item.set_HDP(str3);
                item.set_OddsString(str8);
                item.set_BetType(asyncState.get_BetType());
                item.set_BetTarget(asyncState.get_BetTarget());
                item.set_MaxBetAmount(inputStr);
                item.set_HomeScore(num2);
                item.set_AwayScore(num);

                switch (base._objBetAmountStyle)
                {
                    case EnumCollection.eBetAmountStyle.Fixed:
                        if (Conversion.Val(base._intDefaultBetAmount) <= Conversion.Val(inputStr))
                        {
                            break;
                        }
                        item.set_BetAmount(Conversion.Val(inputStr).ToString());
                        goto Label_019F;

                    case EnumCollection.eBetAmountStyle.MaxBet:
                        item.set_BetAmount(Conversion.Val(inputStr).ToString());
                        goto Label_019F;

                    default:
                        goto Label_019F;
                }
                item.set_BetAmount(this._intDefaultBetAmount.ToString());
            Label_019F:
                if (Conversion.Val(item.get_BetAmount()) > Conversion.Val(inputStr))
                {
                    item.set_BetAmount(inputStr);
                }
                if (Conversion.Val(item.get_BetAmount()) > base._intMaxBetLimiter)
                {
                    item.set_BetAmount(Conversions.ToString(base._intMaxBetLimiter));
                }

                item.set_BetAmount(Conversions.ToString(Conversion.Int(Conversion.Val(item.get_BetAmount()))));
                base._isBetting = false;

                if ((asyncState.get_MatchBetParentSite().get_HomeScore() == num2) & (asyncState.get_MatchBetParentSite().get_AwayScore() == num))
                {
                    num3 = 0;
                    if (!base._isPerMatchLimitEnabled | (base._isPerMatchLimitEnabled & base._objPerMatchLimitList.IsCanBet(item, ref num3)))
                    {
                        str13 = "BPstake=" + item.get_BetAmount() + "&stakeRequest=&oddsRequest=" + str8 + "&oddChange1=Odds+has+changed+from&oddChange2=to&MINBET=" + str7 + "&MAXBET=" + inputStr + "&bettype=" + str2 + "&lowerminmesg=Your+stake+is+lower+than+minimun+bet%21%21%21&highermaxmesg=Your+stake+is+higher+than+maximum+bet%21%21%21&areyousuremesg=Are+you+sure+you+want+process+the+bet%3F&incorrectStakeMesg=Incorrect+Stake.&oddsWarning=WARNING%21%21%21+WE+HAVE+GIVEN+A+NEW+ODDS+%26+NEW+STAKE%21%21%21&betconfirmmesg=Please+click+OK+to+confirm+the+bet%3F&siteType=&hidStake10=Stake+must+be+in+multiples+of+10&hidStake20=Stake+must+be+in+multiples+of+20&sporttype=" + str11 + "&username="******"&oddsType=" + str9;
                        this.RaiseEventGetTicketComplete(base._strName, true, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), item);
                        if (base._isAutoBetting)
                        {
                            if (SpiderFunction.IsTicketValid(str12, asyncState.get_MatchBetParentSite(), item, 5.0, base._dblOddsDifferentBad, (int)Math.Round(base._dblOddsDifferentBetter)))
                            {
                                this.WriteProgramLogger("Can Bet IBCBet.");
                            }
                            else
                            {
                                this.WriteProgramLogger("Cannot Bet IBCBet.");
                                this.WriteBetlistLogger(SpiderFunction.GenerateDetailedMatchInfo(asyncState.get_MatchParentSite(), asyncState.get_MatchBetChildSite(), item, asyncState.get_BetTarget(), "Failed Ticket HDP/ODDS Change", "IBCAgent"));
                                item.set_Description("HDP/Odds Change");
                                base._objBetListFailed.Add(item);
                                this.get__objBetQueueMonitor().UpdateMatchStatus(asyncState.get_MatchBetChildSite().get_ID(), "Cannot Bet IBCBet.");
                                this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                            }
                        }
                        else
                        {
                            this.WriteProgramLogger("Auto Bet OFF.");
                            this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                        }
                    }
                    else
                    {
                        this.WriteProgramLogger("Exceed Per Match Limit!");
                        this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                    }
                }
                else
                {
                    this.WriteProgramLogger("Score Changed!");
                    this.RaiseEventGetTicketComplete(base._strName, false, asyncState.get_BetTarget(), asyncState.get_MatchParentSite(), asyncState.get_MatchBetParentSite(), asyncState.get_MatchChildSite(), asyncState.get_MatchBetChildSite(), null);
                }
            }
            catch (Exception exception1)
            {
                ProjectData.SetProjectError(exception1);
                Exception exception = exception1;
                base._isBetting = false;
                base._objErrorLogger.write(base._strName + ": EXCEPTION IN RequestCompleteTicket: " + exception.Message);
                this.WriteProgramLogger(base._strName + ": EXCEPTION IN RequestCompleteTicket: " + exception.Message);
                WebRequestStateEx2 ex2 = (WebRequestStateEx2)result1.AsyncState;
                this.RaiseEventGetTicketComplete(base._strName, true, ex2.get_BetTarget(), ex2.get_MatchParentSite(), ex2.get_MatchBetParentSite(), ex2.get_MatchChildSite(), ex2.get_MatchBetChildSite(), null);
                ProjectData.ClearProjectError();
            }
        }
Ejemplo n.º 10
0
 public override List<MatchBetNew> GenerateServerBetListFullFromText(string text1)
 {
     int num = 0;
     string str3 = "";
     string str2 = "";
     List<string> list2 = new List<string>();
     List<MatchBetNew> list3 = new List<MatchBetNew>();
     list2 = CommonFunction.SeperateStringBySymbol2(text1, "<tr valign=\"top");
     foreach (string str in list2)
     {
         MatchBetNew item = new MatchBetNew();
         num = 0;
         str2 = str.ToLower();
         item.set_ReceiptID(CommonFunction.substring2(str2, num, "ref no:", "</", ref num).Trim().ToUpper());
         item.set_SelectedMatch(CommonFunction.substring2(str2, num, "<span ", ">", "</", ref num).Trim());
         str3 = CommonFunction.substring2(str2, num, "<span ", ">", "</", ref num).Replace("<b>", "").Replace("</b>", "").Trim();
         item.set_HDP(SportBookFunction.ConvertHDPType(str3));
         List<string> list4 = CommonFunction.SeperateStringBySymbol2(CommonFunction.substring2(str2, num, "</strong>", "/>", "<", ref num).Trim(), "-vs-");
         if (list4.Count == 2)
         {
             item.set_HomeName(list4[0].Trim());
             item.set_AwayName(list4[1].Trim());
             item.set_OddsString(CommonFunction.substring2(str2, num, "oddsclass", ">", "</", ref num).Trim());
             if ((((item.get_ReceiptID() != string.Empty) & (item.get_HomeName() != string.Empty)) & (item.get_AwayName() != string.Empty)) & (item.get_SelectedMatch() != string.Empty))
             {
                 item.set_ReceiptStatus(EnumCollection.eBetReceiptStatus.Confirm);
                 str3 = CommonFunction.substring2(str2, num, "center\">", "tabcontbk\">", "</", ref num).Trim();
                 if (str3.Contains("waiting"))
                 {
                     item.set_ReceiptStatus(EnumCollection.eBetReceiptStatus.Waiting);
                 }
                 else if (str3.Contains("reject") | str3.Contains("cancel"))
                 {
                     item.set_ReceiptStatus(EnumCollection.eBetReceiptStatus.Reject);
                 }
                 item.set_Company(base._strWebsiteName);
                 list3.Add(item);
             }
         }
     }
     return list3;
 }