예제 #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string matchid = Request.QueryString["matchid"];
            string html    = "";
            Response.ContentType     = "text/html";
            Response.Buffer          = true; //完成整个响应后再发送
            Response.ContentEncoding = Encoding.UTF8;

            switch (Request.QueryString["a"])
            {
            case "showgoallist":
                html = bll.GetRemoteHtml(showgoallist, new string[] { matchid });
                html = html.Replace("img src=/images/", "img src=" + WebClientBLL.root + "/images/");
                break;

            case "analysis":
                html = bll.GetRemoteHtml(analysis, new string[] { matchid });
                break;

            case "AsianOdds":
                html = bll.GetRemoteHtml(AsianOdds, new string[] { matchid });
                break;

            case "EuropeOdds":
                html = bll.GetRemoteHtml(EuropeOdds, new string[] { matchid });
                break;

            case "EuropeOddsJS":
                html = bll.UpdateOdds1x2Content(matchid);
                break;

            case "TeamPanlu_10":
                html = bll.GetRemoteHtml(TeamPanlu_10, new string[] { matchid });
                break;

            case "oddsDetail":
                html = bll.GetRemoteHtml(oddsDetail, new string[] { matchid });
                break;

            case "historyMatch":
                html = bll.GetRemoteHtml(historyMatch, new string[] { Request.Form["date"] });
                break;

            case "OddsHistory":
                html = bll.GetRemoteHtml(OddsHistory, new string[] { Request.Form["oddsid"] });
                break;

            default:
                break;
            }
            Response.Write(html);
            Response.End();
        }
    }
예제 #2
0
    private string getMatchResult(string matchid)
    {
        WebClientBLL bll       = new WebClientBLL();
        string       html      = bll.GetRemoteHtml("/detail/{0}.html", new string[] { matchid });
        Lexer        lexer     = new Lexer(html);
        Parser       parser    = new Parser(lexer);
        INode        tableNode = parser.Parse(new TagNameFilter("HTML"))[0].Children.ExtractAllNodesThatMatch(new TagNameFilter("BODY"))[0].Children[0];
        TableTag     tt        = tableNode as TableTag;
        string       home      = tt.GetRow(0).Columns[0].Children[0].Children[0].ToPlainTextString();
        string       away      = tt.GetRow(0).Columns[2].Children[0].Children[0].ToPlainTextString();
        string       hscore    = tt.GetRow(0).Columns[1].Children[0].Children[1].Children[0].ToPlainTextString();
        string       ascore    = tt.GetRow(0).Columns[1].Children[0].Children[1].Children[2].ToPlainTextString();
        string       asia      = tt.GetRow(0).Columns[1].Children[0].Children[0].Children[0].ToPlainTextString();

        return(home + " " + hscore + "-" + ascore + " " + away + " " + asia);
    }
예제 #3
0
    private void getOdds3in1()
    {
        SeoWebSite.BLL.odds_rq odds_rqbll   = new SeoWebSite.BLL.odds_rq();
        WebClientBLL           webClientBLL = new WebClientBLL();

        try
        {
            if (Request["scheduleid"] != null && Request["companyid"] != null)
            {
                string    scheduleid      = Request.Form["scheduleid"];
                string[]  companyid_Array = Request.Form["companyid"].Split(',');
                DataTable dt = new DataTable();
                dt.Columns.Add("scheduleid", typeof(int));
                dt.Columns.Add("companyid", typeof(int));
                dt.Columns.Add("aaa", typeof(double));
                dt.Columns.Add("aab", typeof(double));
                dt.Columns.Add("aac", typeof(double));
                dt.Columns.Add("aba", typeof(double));
                dt.Columns.Add("abb", typeof(double));
                dt.Columns.Add("abc", typeof(double));
                dt.Columns.Add("baa", typeof(double));
                dt.Columns.Add("bab", typeof(double));
                dt.Columns.Add("bac", typeof(double));
                dt.Columns.Add("bba", typeof(double));
                dt.Columns.Add("bbb", typeof(double));
                dt.Columns.Add("bbc", typeof(double));
                dt.Columns.Add("caa", typeof(double));
                dt.Columns.Add("cab", typeof(double));
                dt.Columns.Add("cac", typeof(double));
                dt.Columns.Add("cba", typeof(double));
                dt.Columns.Add("cbb", typeof(double));
                dt.Columns.Add("cbc", typeof(double));

                dt.Columns.Add("aaa1", typeof(string));
                dt.Columns.Add("aab1", typeof(string));
                dt.Columns.Add("aac1", typeof(string));
                dt.Columns.Add("aba1", typeof(string));
                dt.Columns.Add("abb1", typeof(string));
                dt.Columns.Add("abc1", typeof(string));
                dt.Columns.Add("baa1", typeof(string));
                dt.Columns.Add("bab1", typeof(string));
                dt.Columns.Add("bac1", typeof(string));
                dt.Columns.Add("bba1", typeof(string));
                dt.Columns.Add("bbb1", typeof(string));
                dt.Columns.Add("bbc1", typeof(string));
                foreach (string companyid in companyid_Array)
                {
                    string[]  paramArr  = { companyid, scheduleid };
                    string    s         = webClientBLL.GetRemoteHtml("odds/detail.aspx?companyID={0}&scheduleid={1}", paramArr);
                    Parser    parser    = Parser.CreateParser(s, "utf-8");
                    AndFilter andFilter = new AndFilter(new TagNameFilter("table"), new HasAttributeFilter("bgColor", "#bbbbbb"));
                    NodeList  tableList = parser.ExtractAllNodesThatMatch(andFilter);
                    parser = Parser.CreateParser(s, "utf-8");
                    //NodeList h3tag = parser.ExtractAllNodesThatMatch(new TagNameFilter("h3"));
                    //string year = h3tag[0].ToPlainTextString().Remove(5);
                    if (tableList.Count == 3)
                    {
                        DataRow dr = dt.NewRow();
                        dr["scheduleid"] = scheduleid;
                        dr["companyid"]  = companyid;
                        NodeList tdList;
                        string   pankou;
                        #region 让球盘
                        AndFilter andFilter1 = new AndFilter(new TagNameFilter("tr"), new HasAttributeFilter("class", "ts1"));
                        NodeList  list       = tableList[0].Children.ExtractAllNodesThatMatch(andFilter1);

                        if (list.Count > 0)
                        {
                            tdList = list[list.Count - 1].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn));//初盘
                            pankou = CommonHelper.GoalCnToGoal(tdList[1].ToPlainTextString());
                            double per1 = 0, per2 = 0, per3 = 0;
                            double per4 = 0, per5 = 0, per6 = 0;
                            if (!string.IsNullOrEmpty(pankou))
                            {
                                dr["aaa"] = tdList[0].ToPlainTextString();
                                dr["aab"] = pankou;
                                dr["aac"] = tdList[2].ToPlainTextString();
                                DataSet ds = odds_rqbll.queryCompanyOddsCount(companyid, tdList[0].ToPlainTextString(), pankou, tdList[2].ToPlainTextString(), Convert.ToInt32(Request.Form["scheduleType"]), "Chupan");
                                if (Convert.ToDouble(ds.Tables[0].Rows[0][3]) > 0)
                                {
                                    per1       = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][0]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100);
                                    per2       = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][1]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100);
                                    per3       = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][2]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100);
                                    dr["aaa1"] = ds.Tables[0].Rows[0][0].ToString() + "(" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][0]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%)";
                                    dr["aab1"] = ds.Tables[0].Rows[0][1].ToString() + "(" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][1]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%)";
                                    dr["aac1"] = ds.Tables[0].Rows[0][2].ToString() + "(" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][2]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%)";
                                }
                            }
                            tdList = list[0].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn));//终盘
                            pankou = CommonHelper.GoalCnToGoal(tdList[1].ToPlainTextString());
                            if (!string.IsNullOrEmpty(pankou))
                            {
                                dr["aba"] = tdList[0].ToPlainTextString();
                                dr["abb"] = pankou;
                                dr["abc"] = tdList[2].ToPlainTextString();
                                DataSet ds = odds_rqbll.queryCompanyOddsCount(companyid, tdList[0].ToPlainTextString(), pankou, tdList[2].ToPlainTextString(), Convert.ToInt32(Request.Form["scheduleType"]), "Zhongpan");
                                if (Convert.ToDouble(ds.Tables[0].Rows[0][3]) > 0)
                                {
                                    per4       = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][0]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100);
                                    per5       = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][1]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100);
                                    per6       = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][2]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100);
                                    dr["aba1"] = ds.Tables[0].Rows[0][0].ToString() + "(<font color=" + (per4 > per1 ? "red" : "green") + ">" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][0]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%</font>)";
                                    dr["abb1"] = ds.Tables[0].Rows[0][1].ToString() + "(<font color=" + (per5 > per2 ? "red" : "green") + ">" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][1]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%</font>)";
                                    dr["abc1"] = ds.Tables[0].Rows[0][2].ToString() + "(<font color=" + (per6 > per3 ? "red" : "green") + ">" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][2]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%</font>)";
                                }
                            }
                        }
                        #endregion
                        #region 标准盘
                        list = tableList[1].Children.ExtractAllNodesThatMatch(andFilter1);
                        if (list.Count > 0)
                        {
                            tdList    = list[list.Count - 1].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn));
                            dr["baa"] = tdList[0].ToPlainTextString();
                            dr["bab"] = tdList[1].ToPlainTextString();
                            dr["bac"] = tdList[2].ToPlainTextString();
                            tdList    = list[0].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn));//终盘
                            dr["bba"] = tdList[0].ToPlainTextString();
                            dr["bbb"] = tdList[1].ToPlainTextString();
                            dr["bbc"] = tdList[2].ToPlainTextString();
                        }
                        #endregion
                        #region 大小盘
                        list = tableList[2].Children.ExtractAllNodesThatMatch(andFilter1);
                        if (list.Count > 0)
                        {
                            tdList = list[list.Count - 1].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn));
                            pankou = CommonHelper.BallSizeToBall(tdList[1].ToPlainTextString());
                            if (!string.IsNullOrEmpty(pankou))
                            {
                                dr["caa"] = tdList[0].ToPlainTextString();
                                dr["cab"] = pankou;
                                dr["cac"] = tdList[2].ToPlainTextString();
                            }
                            tdList = list[0].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn));
                            pankou = CommonHelper.BallSizeToBall(tdList[1].ToPlainTextString());
                            if (!string.IsNullOrEmpty(pankou))
                            {
                                dr["cba"] = tdList[0].ToPlainTextString();
                                dr["cbb"] = pankou;
                                dr["cbc"] = tdList[2].ToPlainTextString();
                            }
                        }
                        #endregion
                        dt.Rows.Add(dr);
                    }
                }

                if (dt.Rows.Count > 0)
                {
                    DataRow dr1 = dt.NewRow();


                    #region 亚洲盘统计
                    List <double> pankouList1 = new List <double>();
                    List <double> homefcList1 = new List <double>();
                    List <double> awayfcList1 = new List <double>();
                    List <double> pankouList2 = new List <double>();
                    List <double> homefcList2 = new List <double>();
                    List <double> awayfcList2 = new List <double>();
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["aab"] != DBNull.Value && !pankouList1.Contains(Convert.ToDouble(dr["aab"])))
                        {
                            pankouList1.Add(Convert.ToDouble(dr["aab"]));
                        }
                        if (dr["abb"] != DBNull.Value && !pankouList2.Contains(Convert.ToDouble(dr["abb"])))
                        {
                            pankouList2.Add(Convert.ToDouble(dr["abb"]));
                        }
                    }
                    foreach (decimal item in pankouList2)
                    {
                        if (dt.Select("aab=" + item).Count() > 1)
                        {
                            double fc = Convert.ToDouble(dt.Compute("Var(aaa)", "aab=" + item));
                            homefcList1.Add(fc);
                            fc = Convert.ToDouble(dt.Compute("Var(aac)", "aab=" + item));
                            awayfcList1.Add(fc);
                        }
                        if (dt.Select("abb=" + item).Count() > 1)
                        {
                            double fc = Convert.ToDouble(dt.Compute("Var(aba)", "abb=" + item));
                            homefcList2.Add(fc);
                            fc = Convert.ToDouble(dt.Compute("Var(abc)", "abb=" + item));
                            awayfcList2.Add(fc);
                        }
                    }
                    dr1["aaa"]  = Convert.ToDouble(dt.Compute("Avg(aaa)", "1=1"));
                    dr1["aac"]  = Convert.ToDouble(dt.Compute("Avg(aac)", "1=1"));
                    dr1["aaa1"] = homefcList1.Average();
                    dr1["aac1"] = awayfcList1.Average();
                    dr1["aba"]  = Convert.ToDouble(dt.Compute("Avg(aba)", "1=1"));
                    dr1["abc"]  = Convert.ToDouble(dt.Compute("Avg(abc)", "1=1"));
                    dr1["aba1"] = "<font color=" + (homefcList2.Average() > homefcList1.Average() ? "red" : "green") + ">" + homefcList2.Average() + "</font>";
                    dr1["abc1"] = "<font color=" + (awayfcList2.Average() > awayfcList1.Average() ? "red" : "green") + ">" + awayfcList2.Average() + "</font>";
                    #endregion

                    dr1["baa"]  = Convert.ToDouble(dt.Compute("Avg(baa)", "1=1"));
                    dr1["bab"]  = Convert.ToDouble(dt.Compute("Avg(bab)", "1=1"));
                    dr1["bac"]  = Convert.ToDouble(dt.Compute("Avg(bac)", "1=1"));
                    dr1["bba"]  = Convert.ToDouble(dt.Compute("Avg(bba)", "1=1"));
                    dr1["bbb"]  = Convert.ToDouble(dt.Compute("Avg(bbb)", "1=1"));
                    dr1["bbc"]  = Convert.ToDouble(dt.Compute("Avg(bbc)", "1=1"));
                    dr1["baa1"] = Convert.ToDouble(dt.Compute("Var(baa)", "1=1"));
                    dr1["bab1"] = Convert.ToDouble(dt.Compute("Var(bab)", "1=1"));
                    dr1["bac1"] = Convert.ToDouble(dt.Compute("Var(bac)", "1=1"));
                    dr1["bba1"] = "<font color=" + (Convert.ToDouble(dt.Compute("Var(bba)", "1=1")) > Convert.ToDouble(dr1["baa1"]) ? "red" : "green") + ">" + Convert.ToDouble(dt.Compute("Var(bba)", "1=1")) + "</font>";
                    dr1["bbb1"] = "<font color=" + (Convert.ToDouble(dt.Compute("Var(bbb)", "1=1")) > Convert.ToDouble(dr1["bab1"]) ? "red" : "green") + ">" + Convert.ToDouble(dt.Compute("Var(bbb)", "1=1")) + "</font>";
                    dr1["bbc1"] = "<font color=" + (Convert.ToDouble(dt.Compute("Var(bbc)", "1=1")) > Convert.ToDouble(dr1["bac1"]) ? "red" : "green") + ">" + Convert.ToDouble(dt.Compute("Var(bbc)", "1=1")) + "</font>";
                    dt.Rows.Add(dr1);
                }

                JObject result = new JObject();
                result.Add(new JProperty("success", true));
                result.Add(new JProperty("totlalCount", dt.Rows.Count));
                result.Add(new JProperty("data", JArray.FromObject(dt)));
                JsonStr = result.ToString();
            }
            else
            {
                JsonStr = "{success:false,message:'请求数据异常!'}";
            }
        }
        catch (Exception e)
        {
            JsonStr = "{success:false,message:'" + e.Message + "'}";
        }
    }