public List <objMatch> getMatchOddNonLive()
        {
            try
            {
                lst.Clear();
                string DataOddSboNonLive = http.Fetch(mainLink + "/web-root/restricted/odds-display/today-data.aspx?od-param=2,1,1,1,2,2,2,2,3,1&fi=1&v=0&dl=3", HttpHelper.HttpMethod.Get, null, null);
                string leagueDataNonLive = "[" + Util.GetSubstringByString(DataOddSboNonLive, "[[[", "]],[[") + "]";
                leagueDataNonLive = leagueDataNonLive.Replace("],[", "]\n[");
                string str_LeaugeSbo = "", str_TeamSbo = "";
                if (str_LeaugeSbo == "")
                {
                    hsLeagueNonLive.Clear();
                    foreach (string league in leagueDataNonLive.Split('\n'))
                    {
                        string leagueTemp     = league.Replace("[", "").Replace("]", "").Replace("'", "");
                        string nameleagueTemp = UtilSoccer.ChuanTenLeauge_Sbo(leagueTemp.Split(',')[1]);
                        if (nameleagueTemp.IndexOf("SPECIFIC") != -1 || nameleagueTemp.IndexOf("CORNERS") != -1 || nameleagueTemp.IndexOf("BOOKING") != -1 || nameleagueTemp.IndexOf("FANTASY MATCH") != -1 || nameleagueTemp.IndexOf("WHICH TEAM") != -1 || nameleagueTemp.IndexOf("TOTAL GOALS") != -1 || nameleagueTemp.IndexOf("INJURY") != -1 || nameleagueTemp.IndexOf("WINNER") != -1)
                        {
                            continue;                                                                                                                                                                                                                                                                                                                                                                  //INJURY
                        }
                        hsLeagueNonLive.Add(leagueTemp.Split(',')[0], nameleagueTemp);
                        if (str_LeaugeSbo.IndexOf(nameleagueTemp) == -1)
                        {
                            str_LeaugeSbo += nameleagueTemp + ",";
                        }
                    }
                }

                string matchDataNonLive = "[" + Util.GetSubstringByString(DataOddSboNonLive, "]],[[", "]],[[") + "]";
                matchDataNonLive = matchDataNonLive.Replace("],[", "]\n[");
                hsMatchNonLive.Clear();
                foreach (string matchNonLive in matchDataNonLive.Split('\n'))
                {
                    string   matchTempNonLive     = matchNonLive.Replace("[", "").Replace("]", "").Replace("'", "");
                    string[] arr_matchTempNonLive = matchTempNonLive.Split(',');
                    string   idmatchNonLive       = Util.GetSubstringByStringLast(DataOddSboNonLive, "[", "," + arr_matchTempNonLive[0]);
                    try
                    {
                        hsMatchNonLive.Add(idmatchNonLive, hsLeagueNonLive[arr_matchTempNonLive[2]].ToString() + "," + arr_matchTempNonLive[3] + "," + arr_matchTempNonLive[4] + "," + arr_matchTempNonLive[7]);
                    }
                    catch
                    {
                        continue;
                    }
                    if (str_TeamSbo.IndexOf(UtilSoccer.ChuanTenTeam_Sbo(arr_matchTempNonLive[3])) == -1 || str_TeamSbo.IndexOf(UtilSoccer.ChuanTenTeam_Sbo(arr_matchTempNonLive[4])) == -1)
                    {
                        str_TeamSbo += UtilSoccer.ChuanTenTeam_Sbo(arr_matchTempNonLive[3]) + "-" + UtilSoccer.ChuanTenTeam_Sbo(arr_matchTempNonLive[4]) + ",";
                    }
                }

                string oddDataNonLive = "[[" + Util.GetSubstringByString(DataOddSboNonLive, ",,[[", "]]],,") + "]]]";
                foreach (string OddTempNonLive in oddDataNonLive.Split(new string[] { "]],[" }, StringSplitOptions.None))
                {
                    objMatch o           = new objMatch();
                    string   OddTemp     = OddTempNonLive.Replace("[", "").Replace("]", "").Replace("'", "");
                    string[] arr_OddTemp = OddTemp.Split(',');
                    string   infomatch   = "";
                    try
                    {
                        infomatch = hsMatchNonLive[arr_OddTemp[1]].ToString();
                    }
                    catch
                    {
                        continue;
                    }
                    o.LeaugeName  = infomatch.Split(',')[0];
                    o.HomeName    = infomatch.Split(',')[1];
                    o.AwayName    = infomatch.Split(',')[2];
                    o.TimeNonLive = infomatch.Split(',')[3];
                    if (o.TimeNonLive.Split('/').Length == 1)
                    {
                        o.TimeNonLive = o.TimeLive;
                    }

                    o.IdKeo   = arr_OddTemp[0];
                    o.Keo     = arr_OddTemp[5];
                    o.BetType = arr_OddTemp[2];
                    o.Odd1    = arr_OddTemp[6];
                    o.Odd2    = arr_OddTemp[7];

                    lst.Add(o);
                }
            }
            catch (Exception)
            {
                lst.Clear();
                return(lst);
            }
            return(lst);
        }
Example #2
0
        private void btnScan_Click(object sender, EventArgs e)
        {
            if (btnScanSbobet.Text == "Scan")
            {
                btnScanSbobet.Text = "Stop";
                ThreadSbo          = new Thread(delegate()
                {
                    string linkName = "img.eaxybox.com";
                    string link     = "http://" + linkName;
                    string data     = "";

                    help               = new HttpHelper();
                    data               = help.Fetch(link + "/betting.aspx", HttpHelper.HttpMethod.Get, null, null);
                    string HidCK       = Util.HtmlGetAttributeValue(data, "value", "//input[@id='HidCK']");
                    string tag         = Util.EscapeDataString(Util.HtmlGetAttributeValue(data, "value", "//input[@id='tag']"));
                    string tk          = Util.EscapeDataString(Util.GetSubstringByString(data, "'ms','ps'],[", "]));"));
                    string fingerprint = "2cf5547e23492b793471c401989931ac";

                    string post        = "id=" + txtUsernameSbobet.Text + "&password="******"&lang=en&tk=" + tk + "&type=form&tzDiff=1&HidCK=" + HidCK + "&tag=" + tag + "&fingerprint=" + fingerprint;
                    string welcomeLink = help.FetchResponseUri(link + "/web/public/process-sign-in.aspx", HttpHelper.HttpMethod.Post, link + "/betting.aspx", post);
                    string defaultLink = help.FetchResponseUri(welcomeLink, HttpHelper.HttpMethod.Get, link + "/betting.aspx", null);
                    string mainName    = Util.GetSubstringByString(welcomeLink, "http://", "/web-root");
                    string mainLink    = "http://" + mainName;
                    while (true && btnScanSbobet.Text == "Stop")
                    {
                        string scanTime = db.getServerStringDate();
                        if (sbochay)
                        {
                            try
                            {
                                sboxong           = false;
                                lblSboStatus.Text = "Running";
                                ////////////////////////////////////////////////Live///////////////////////////////////////////////////////////
                                //string DataOddSboLive = help.Fetch(mainLink + "/web-root/restricted/odds-display/today-data.aspx?od-param=2,1,1,1,2,2,2,2,3,1&fi=0&v=0&dl=3", HttpHelper.HttpMethod.Get, null, null);
                                //DataOddSboLive = DataOddSboLive.Replace("\\u200C", "");

                                //string leagueDataLive = "[" + Util.GetSubstringByString(DataOddSboLive, "[[[", "]],[[") + "]";
                                //leagueDataLive = leagueDataLive.Replace("],[", "]\n[");
                                //hsLeague.Clear();
                                //foreach (string league in leagueDataLive.Split('\n'))
                                //{
                                //    string leagueTemp = league.Replace("[", "").Replace("]", "").Replace("'", "");
                                //    hsLeague.Add(leagueTemp.Split(',')[0], leagueTemp.Split(',')[1]);
                                //}

                                //string matchDataLive = "[" + Util.GetSubstringByString(DataOddSboLive, "]],[[", "]],[[") + "]";
                                //matchDataLive = matchDataLive.Replace("],[", "]\n[");
                                //hsMatch.Clear();
                                //foreach (string matchLive in matchDataLive.Split('\n'))
                                //{
                                //    string matchTempLive = matchLive.Replace("[", "").Replace("]", "").Replace("'", "");
                                //    string[] arr_matchTempLive = matchTempLive.Split(',');
                                //    string idmatchLive = Util.GetSubstringByStringLast(DataOddSboLive, "[", "," + arr_matchTempLive[0]);
                                //    hsMatch.Add(idmatchLive, hsLeague[arr_matchTempLive[2]].ToString() + "," + arr_matchTempLive[3] + "," + arr_matchTempLive[4] + "," + arr_matchTempLive[7]);
                                //}
                                //string oddDataLive = "[[" + Util.GetSubstringByString(DataOddSboLive, ",,[[", "]]],,") + "]]]";
                                //hsOdd.Clear();
                                //SboLive.Clear();
                                //foreach (string OddTempLive in oddDataLive.Split(new string[] { "]],[" }, StringSplitOptions.None))
                                //{
                                //    try
                                //    {
                                //        objMatch OddLive = new objMatch();
                                //        string OddTemp = OddTempLive.Replace("[", "").Replace("]", "").Replace("'", "");
                                //        string[] arr_OddTemp = OddTemp.Split(',');
                                //        if (hsMatch[arr_OddTemp[1]] != null)
                                //        {
                                //            string infomatch = hsMatch[arr_OddTemp[1]].ToString();
                                //            OddLive.LeaugeName = infomatch.Split(',')[0];
                                //            OddLive.HomeName = infomatch.Split(',')[1];
                                //            OddLive.AwayName = infomatch.Split(',')[2];
                                //            OddLive.TimeLive = infomatch.Split(',')[3];

                                //            OddLive.IdKeo = arr_OddTemp[0];
                                //            OddLive.Keo = arr_OddTemp[5];
                                //            OddLive.BetType = arr_OddTemp[2];
                                //            OddLive.Odd1 = arr_OddTemp[6];
                                //            OddLive.Odd2 = arr_OddTemp[7];
                                //            //////////////////////////////////////////////Live///////////////////////////////////////////////////////////
                                //            SboLive.Add(OddLive);
                                //        }
                                //    }
                                //    catch (Exception ex)
                                //    {
                                //        MessageBox.Show(ex.Message);
                                //    }
                                //}

                                //////////////////////////////////////////////NonLive///////////////////////////////////////////////////////////
                                string DataOddSboNonLive = help.Fetch(mainLink + "/web-root/restricted/odds-display/today-data.aspx?od-param=2,1,1,1,2,2,2,2,3,1&fi=1&v=0&dl=3", HttpHelper.HttpMethod.Get, null, null);
                                string leagueDataNonLive = "[" + Util.GetSubstringByString(DataOddSboNonLive, "[[[", "]],[[") + "]";
                                leagueDataNonLive        = leagueDataNonLive.Replace("],[", "]\n[");
                                hsLeague.Clear();
                                foreach (string league in leagueDataNonLive.Split('\n'))
                                {
                                    string leagueTemp = league.Replace("[", "").Replace("]", "").Replace("'", "");
                                    hsLeague.Add(leagueTemp.Split(',')[0], leagueTemp.Split(',')[1]);
                                }

                                string matchDataNonLive = "[" + Util.GetSubstringByString(DataOddSboNonLive, "]],[[", "]],[[") + "]";
                                matchDataNonLive        = matchDataNonLive.Replace("],[", "]\n[");
                                hsMatch.Clear();
                                foreach (string matchNonLive in matchDataNonLive.Split('\n'))
                                {
                                    string matchTempNonLive       = matchNonLive.Replace("[", "").Replace("]", "").Replace("'", "");
                                    string[] arr_matchTempNonLive = matchTempNonLive.Split(',');
                                    string idmatchNonLive         = Util.GetSubstringByStringLast(DataOddSboNonLive, "[", "," + arr_matchTempNonLive[0]);
                                    hsMatch.Add(idmatchNonLive, hsLeague[arr_matchTempNonLive[2]].ToString() + "," + arr_matchTempNonLive[3] + "," + arr_matchTempNonLive[4] + "," + arr_matchTempNonLive[7]);
                                }
                                string oddDataNonLive = "[[" + Util.GetSubstringByString(DataOddSboNonLive, ",,[[", "]]],,") + "]]]";
                                hsOdd.Clear();
                                SboNonLive.Clear();
                                foreach (string OddTempNonLive in oddDataNonLive.Split(new string[] { "]],[" }, StringSplitOptions.None))
                                {
                                    objMatch OddNonLive    = new objMatch();
                                    string OddTemp         = OddTempNonLive.Replace("[", "").Replace("]", "").Replace("'", "");
                                    string[] arr_OddTemp   = OddTemp.Split(',');
                                    string infomatch       = hsMatch[arr_OddTemp[1]].ToString();
                                    OddNonLive.LeaugeName  = infomatch.Split(',')[0];
                                    OddNonLive.HomeName    = infomatch.Split(',')[1];
                                    OddNonLive.AwayName    = infomatch.Split(',')[2];
                                    OddNonLive.TimeNonLive = infomatch.Split(',')[3];

                                    OddNonLive.IdKeo    = arr_OddTemp[0];
                                    OddNonLive.Keo      = arr_OddTemp[5];
                                    OddNonLive.BetType  = arr_OddTemp[2];
                                    OddNonLive.Odd1     = arr_OddTemp[6];
                                    OddNonLive.Odd2     = arr_OddTemp[7];
                                    OddNonLive.scantime = scanTime;

                                    string key = OddNonLive.HomeName + OddNonLive.Keo + OddNonLive.BetType;
                                    if (!hsCheckOdd.Contains(key))
                                    {
                                        OddNonLive.afterseconds = 0;
                                        hsCheckOdd.Add(key, OddNonLive);
                                        SboNonLive.Add(OddNonLive);
                                    }
                                    else
                                    {
                                        if (((objMatch)hsCheckOdd[key]).Odd1 != OddNonLive.Odd1)
                                        {
                                            OddNonLive.afterseconds = DateTime.Parse(OddNonLive.scantime).Subtract(DateTime.Parse(((objMatch)hsCheckOdd[key]).scantime)).TotalSeconds;
                                            hsCheckOdd[key]         = OddNonLive;
                                            SboNonLive.Add(OddNonLive);
                                        }
                                    }
                                    lblSboStatus.Text = OddNonLive.Show();
                                }
                                //////////////////////////////////////////////NonLive///////////////////////////////////////////////////////////

                                string sql_row       = "";
                                List <string> lstSql = new List <string>();
                                int int_1000         = 0;
                                foreach (objMatch o in SboLive)
                                {
                                    int_1000++;
                                    sql_row += o.toSQL(true) + ",";

                                    if (int_1000 >= 1000)
                                    {
                                        lstSql.Add(sql_row);
                                        sql_row  = "";
                                        int_1000 = 0;
                                    }
                                }
                                int_1000 = 0;
                                foreach (objMatch o in SboNonLive)
                                {
                                    int_1000++;
                                    sql_row += o.toSQL(false) + ",";

                                    if (int_1000 >= 1000)
                                    {
                                        lstSql.Add(sql_row);
                                        sql_row  = "";
                                        int_1000 = 0;
                                    }
                                }
                                if (sql_row.Length > 0)
                                {
                                    lstSql.Add(sql_row);
                                }

                                foreach (string sql in lstSql)
                                {
                                    db.doInsertSboOdds(sql);
                                }
                            }
                            catch (Exception ex)
                            {
                                Thread.Sleep(5000);
                            }
                        }
                        Thread.Sleep(5000);
                    }
                });
                ThreadSbo.Start();
            }
            else
            {
                btnScanSbobet.Text = "Scan";
                ThreadSbo.Abort();
            }
        }