Ejemplo n.º 1
0
        private void btn_two_range_Click(object sender, EventArgs e)
        {
            ArrayList list_websites = new ArrayList();

            foreach (DataGridViewRow row in dgv_website.Rows)
            {
                if (Convert.ToBoolean(row.Cells["selected"].Value) == true)
                {
                    string website = row.Cells["website"].Value.ToString();
                    list_websites.Add(website);
                }
            }


            StringBuilder       sb   = new StringBuilder();
            List <BsonDocument> list = new List <BsonDocument>();
            DataTable           dt   = new DataTable();

            dt.Columns.Add("start_time");
            dt.Columns.Add("host");
            dt.Columns.Add("client");
            foreach (DataGridViewRow row in dgv_match.Rows)
            {
                if (Convert.ToBoolean(row.Cells["selected"].Value) == true)
                {
                    DataRow row_new = dt.NewRow();
                    row_new["start_time"] = row.Cells["start_time"].Value.ToString();
                    row_new["host"]       = row.Cells["host"].Value.ToString();
                    row_new["client"]     = row.Cells["client"].Value.ToString();
                    dt.Rows.Add(row_new);
                }
            }

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                for (int j = i + 1; j < dt.Rows.Count; j++)
                {
                    for (int k = 1; k < 101; k++)
                    {
                        BsonDocument doc = Match500Analyse.get_max_from_two_match(dt.Rows[i]["start_time"].ToString(),
                                                                                  dt.Rows[i]["host"].ToString(),
                                                                                  dt.Rows[i]["client"].ToString(),
                                                                                  dt.Rows[j]["start_time"].ToString(),
                                                                                  dt.Rows[j]["host"].ToString(),
                                                                                  dt.Rows[j]["client"].ToString(),
                                                                                  k, list_websites);
                        list.Add(doc);
                        sb.Append("----------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine);
                        sb.Append(Match500Analyse.get_info_from_doc(doc));
                        this.txt_result.Text = sb.ToString();
                        Application.DoEvents();
                    }
                }
            }
            sb.Append("----------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine);
            this.txt_result.Text = sb.ToString();
            Application.DoEvents();
        }
Ejemplo n.º 2
0
        private void btn_single_match_Click(object sender, EventArgs e)
        {
            ArrayList list_websites = new ArrayList();

            foreach (DataGridViewRow row in dgv_website.Rows)
            {
                if (Convert.ToBoolean(row.Cells["selected"].Value) == true)
                {
                    string website = row.Cells["website"].Value.ToString();
                    list_websites.Add(website);
                }
            }

            StringBuilder       sb   = new StringBuilder();
            List <BsonDocument> list = new List <BsonDocument>();

            foreach (DataGridViewRow row in dgv_match.Rows)
            {
                if (Convert.ToBoolean(row.Cells["selected"].Value) == true)
                {
                    string start_time = row.Cells["start_time"].Value.ToString();
                    string host       = row.Cells["host"].Value.ToString();
                    string client     = row.Cells["client"].Value.ToString();

                    BsonDocument doc = Match500Analyse.get_max_from_single_match(start_time, host, client, 50, list_websites);
                    list.Add(doc);


                    sb.Append("----------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine);
                    sb.Append(Match500Analyse.get_info_from_doc(doc));
                    this.txt_result.Text = sb.ToString();
                    Application.DoEvents();
                }
            }
            sb.Append("----------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine);
            this.txt_result.Text = sb.ToString();
            Application.DoEvents();

            if (cb_persent_asc.Checked)
            {
                get_single_by_persent_asc(list);
            }
            if (cb_persent_desc.Checked)
            {
                get_single_by_persent_desc(list);
            }
            if (cb_website_asc.Checked)
            {
                get_single_by_website_asc(list);
            }
            if (cb_website_desc.Checked)
            {
                get_single_by_website_desc(list);
            }
        }
Ejemplo n.º 3
0
        public void get_two_by_website_desc(List <BsonDocument> list)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("BY website DESC:" + Environment.NewLine);

            DataTable  dt    = new DataTable();
            DataColumn order = new DataColumn("order");

            order.DataType = Type.GetType("System.Int32");
            dt.Columns.Add(order);
            DataColumn count = new DataColumn("count");

            count.DataType = Type.GetType("System.Int32");
            dt.Columns.Add(count);

            for (int i = 0; i < list.Count; i++)
            {
                DataRow row_new = dt.NewRow();
                row_new["order"] = i;
                BsonArray array = list[i]["websites"].AsBsonArray;
                ArrayList al    = new ArrayList();
                foreach (BsonValue value in array)
                {
                    bool is_has = false;
                    foreach (string name in al)
                    {
                        if (name == value.ToString())
                        {
                            is_has = true;
                        }
                    }
                    if (is_has == false)
                    {
                        al.Add(value.ToString());
                    }
                }
                row_new["count"] = al.Count;
                dt.Rows.Add(row_new);
            }

            dt.DefaultView.Sort = "count desc";
            dt = dt.DefaultView.ToTable();

            foreach (DataRow row in dt.Rows)
            {
                BsonDocument doc = list[Convert.ToInt32(row["order"].ToString())];
                sb.Append("----------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine);
                sb.Append(Match500Analyse.get_info_from_doc(doc));
            }
            sb.Append("----------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine);
            this.txt_result.Text = sb.ToString();
            Application.DoEvents();
        }
Ejemplo n.º 4
0
        public void get_three_by_persent_desc(List <BsonDocument> list)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("BY PERSENT DESC:" + Environment.NewLine);

            DataTable  dt    = new DataTable();
            DataColumn order = new DataColumn("order");

            order.DataType = Type.GetType("System.Int32");
            dt.Columns.Add(order);
            DataColumn persent = new DataColumn("persent");

            persent.DataType = Type.GetType("System.Double");
            dt.Columns.Add(persent);

            for (int i = 0; i < list.Count; i++)
            {
                DataRow row_new = dt.NewRow();
                row_new["order"]   = i;
                row_new["persent"] = Convert.ToDouble(list[i]["min_value"].ToString()) / Convert.ToDouble(list[i]["bid_count"].ToString()) * 100;
                dt.Rows.Add(row_new);
            }

            dt.DefaultView.Sort = "persent desc";
            dt = dt.DefaultView.ToTable();

            foreach (DataRow row in dt.Rows)
            {
                BsonDocument doc = list[Convert.ToInt32(row["order"].ToString())];
                sb.Append("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine);
                sb.Append(Match500Analyse.get_info_from_doc(doc));
            }
            sb.Append("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine);
            this.txt_result.Text = sb.ToString();
            Application.DoEvents();
        }
Ejemplo n.º 5
0
    public static BsonDocument get_max_from_three_match(string start_time1, string host1, string client1, string start_time2, string host2, string client2, string start_time3, string host3, string client3, int max_count, ArrayList list_websites)
    {
        string sql = "select * from europe_500 where start_time='{0}' and host='{1}' and client='{2}'";

        sql = string.Format(sql, start_time1, host1, client1);
        DataTable dt1 = SQLServerHelper.get_table(sql);

        sql = "select * from europe_500 where start_time='{0}' and host='{1}' and client='{2}'";
        sql = string.Format(sql, start_time2, host2, client2);
        DataTable dt2 = SQLServerHelper.get_table(sql);


        sql = "select * from europe_500 where start_time='{0}' and host='{1}' and client='{2}'";
        sql = string.Format(sql, start_time3, host3, client3);
        DataTable dt3 = SQLServerHelper.get_table(sql);



        double[] max = new double[27];

        string[] websites = new string[27];
        for (int i = 0; i < 27; i++)
        {
            max[i]      = -999999;
            websites[i] = "";
        }



        for (int i = 0; i < dt1.Rows.Count; i++)
        {
            bool is_in_websites = false;
            foreach (string website in list_websites)
            {
                if (website == dt1.Rows[i]["website"].ToString())
                {
                    is_in_websites = true;
                }
            }
            if (is_in_websites == false)
            {
                continue;
            }


            int row_no2 = -1;
            for (int j = 0; j < dt2.Rows.Count; j++)
            {
                if (dt1.Rows[i]["website"].ToString() == dt2.Rows[j]["website"].ToString())
                {
                    row_no2 = j;
                    break;
                }
            }

            int row_no3 = -1;
            for (int j = 0; j < dt3.Rows.Count; j++)
            {
                if (dt1.Rows[i]["website"].ToString() == dt3.Rows[j]["website"].ToString())
                {
                    row_no3 = j;
                    break;
                }
            }


            if (row_no2 != -1 && row_no3 != -1)
            {
                double[,] single_odd = new double[3, 3] {
                    { Convert.ToDouble(dt1.Rows[i]["odd_win"].ToString()), Convert.ToDouble(dt1.Rows[i]["odd_draw"].ToString()), Convert.ToDouble(dt1.Rows[i]["odd_lose"].ToString()) },
                    { Convert.ToDouble(dt2.Rows[row_no2]["odd_win"].ToString()), Convert.ToDouble(dt2.Rows[row_no2]["odd_draw"].ToString()), Convert.ToDouble(dt2.Rows[row_no2]["odd_lose"].ToString()) },
                    { Convert.ToDouble(dt3.Rows[row_no3]["odd_win"].ToString()), Convert.ToDouble(dt3.Rows[row_no3]["odd_draw"].ToString()), Convert.ToDouble(dt3.Rows[row_no3]["odd_lose"].ToString()) }
                };

                double[] odds = new double[27];

                int index = 0;
                for (int j = 0; j < 3; j++)
                {
                    for (int k = 0; k < 3; k++)
                    {
                        for (int l = 0; l < 3; l++)
                        {
                            odds[index] = single_odd[0, j] * single_odd[1, k] * single_odd[2, l];
                            index       = index + 1;
                        }
                    }
                }

                for (int j = 0; j < 27; j++)
                {
                    if (odds[j] > max[j])
                    {
                        max[j]      = odds[j];
                        websites[j] = dt1.Rows[i]["website"].ToString();
                    }
                }
            }
        }


        BsonDocument doc_max = Match500Analyse.get_min(max, max_count);



        BsonDocument doc = new BsonDocument();

        doc.Add("doc_id", DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond.ToString());
        doc.Add("start_time1", start_time1);
        doc.Add("host1", host1);
        doc.Add("client1", client1);
        doc.Add("start_time2", start_time2);
        doc.Add("host2", host2);
        doc.Add("client2", client2);
        doc.Add("start_time3", start_time3);
        doc.Add("host3", host3);
        doc.Add("client3", client3);
        doc.Add("type", "three-match-max");
        doc.Add("bid_count", doc_max["bid_count"].ToString());
        doc.Add("min_value", doc_max["min_value"].ToString());
        doc.Add("max_value", doc_max["max_value"].ToString());

        BsonArray array_websites = new BsonArray();

        foreach (string website in websites)
        {
            array_websites.Add(website);
        }
        doc.Add("websites", array_websites);

        BsonArray array_orign_odds = new BsonArray();

        foreach (double odd in max)
        {
            array_orign_odds.Add(odd.ToString("f2"));
        }
        doc.Add("orign_odds", array_orign_odds);


        BsonArray website_odds = new BsonArray();

        foreach (string website in websites)
        {
            bool is_has = false;

            foreach (BsonDocument doc_item in website_odds)
            {
                if (doc_item["website"].ToString() == website)
                {
                    is_has = true;
                }
            }
            if (is_has == false)
            {
                BsonDocument doc_item = new BsonDocument();
                doc_item.Add("website", website);
                string odd_win1  = "";
                string odd_draw1 = "";
                string odd_lose1 = "";
                string odd_win2  = "";
                string odd_draw2 = "";
                string odd_lose2 = "";
                string odd_win3  = "";
                string odd_draw3 = "";
                string odd_lose3 = "";
                foreach (DataRow row in dt1.Rows)
                {
                    if (row["website"].ToString() == website)
                    {
                        odd_win1  = row["odd_win"].ToString();
                        odd_draw1 = row["odd_draw"].ToString();
                        odd_lose1 = row["odd_lose"].ToString();
                    }
                }
                foreach (DataRow row in dt2.Rows)
                {
                    if (row["website"].ToString() == website)
                    {
                        odd_win2  = row["odd_win"].ToString();
                        odd_draw2 = row["odd_draw"].ToString();
                        odd_lose2 = row["odd_lose"].ToString();
                    }
                }
                foreach (DataRow row in dt3.Rows)
                {
                    if (row["website"].ToString() == website)
                    {
                        odd_win3  = row["odd_win"].ToString();
                        odd_draw3 = row["odd_draw"].ToString();
                        odd_lose3 = row["odd_lose"].ToString();
                    }
                }
                doc_item.Add("odd_win1", odd_win1);
                doc_item.Add("odd_draw1", odd_draw1);
                doc_item.Add("odd_lose1", odd_lose1);
                doc_item.Add("odd_win2", odd_win2);
                doc_item.Add("odd_draw2", odd_draw2);
                doc_item.Add("odd_lose2", odd_lose2);
                doc_item.Add("odd_win3", odd_win3);
                doc_item.Add("odd_draw3", odd_draw3);
                doc_item.Add("odd_lose3", odd_lose3);
                website_odds.Add(doc_item.AsBsonDocument);
            }
        }
        doc.Add("website_odds", website_odds);
        doc.Add("order_nos", doc_max["order_nos"].AsBsonArray);
        doc.Add("bids", doc_max["bids"].AsBsonArray);
        doc.Add("odds", doc_max["odds"].AsBsonArray);

        return(doc);
    }
Ejemplo n.º 6
0
    public static BsonDocument get_max_from_two_match(string start_time1, string host1, string client1, string start_time2, string host2, string client2, int max_count, ArrayList list_websites)
    {
        string sql = "select * from europe_500 where start_time='{0}' and host='{1}' and client='{2}'";

        sql = string.Format(sql, start_time1, host1, client1);
        DataTable dt1 = SQLServerHelper.get_table(sql);

        sql = "select * from europe_500 where start_time='{0}' and host='{1}' and client='{2}'";
        sql = string.Format(sql, start_time2, host2, client2);
        DataTable dt2 = SQLServerHelper.get_table(sql);



        double[] max = new double[9] {
            -999999, -999999, -999999, -999999, -999999, -999999, -999999, -999999, -999999
        };
        string[] websites = new string[9] {
            "", "", "", "", "", "", "", "", ""
        };

        for (int i = 0; i < dt1.Rows.Count; i++)
        {
            bool is_in_websites = false;
            foreach (string website in list_websites)
            {
                if (website == dt1.Rows[i]["website"].ToString())
                {
                    is_in_websites = true;
                }
            }
            if (is_in_websites == false)
            {
                continue;
            }



            int row_no = -1;
            for (int j = 0; j < dt2.Rows.Count; j++)
            {
                if (dt1.Rows[i]["website"].ToString() == dt2.Rows[j]["website"].ToString())
                {
                    row_no = j;
                    break;
                }
            }

            if (row_no != -1)
            {
                double ww = Convert.ToDouble(dt1.Rows[i]["odd_win"].ToString()) * Convert.ToDouble(dt2.Rows[row_no]["odd_win"].ToString());
                double wd = Convert.ToDouble(dt1.Rows[i]["odd_win"].ToString()) * Convert.ToDouble(dt2.Rows[row_no]["odd_draw"].ToString());
                double wl = Convert.ToDouble(dt1.Rows[i]["odd_win"].ToString()) * Convert.ToDouble(dt2.Rows[row_no]["odd_lose"].ToString());
                double dw = Convert.ToDouble(dt1.Rows[i]["odd_draw"].ToString()) * Convert.ToDouble(dt2.Rows[row_no]["odd_win"].ToString());
                double dd = Convert.ToDouble(dt1.Rows[i]["odd_draw"].ToString()) * Convert.ToDouble(dt2.Rows[row_no]["odd_draw"].ToString());
                double dl = Convert.ToDouble(dt1.Rows[i]["odd_draw"].ToString()) * Convert.ToDouble(dt2.Rows[row_no]["odd_lose"].ToString());
                double lw = Convert.ToDouble(dt1.Rows[i]["odd_lose"].ToString()) * Convert.ToDouble(dt2.Rows[row_no]["odd_win"].ToString());
                double ld = Convert.ToDouble(dt1.Rows[i]["odd_lose"].ToString()) * Convert.ToDouble(dt2.Rows[row_no]["odd_draw"].ToString());
                double ll = Convert.ToDouble(dt1.Rows[i]["odd_lose"].ToString()) * Convert.ToDouble(dt2.Rows[row_no]["odd_lose"].ToString());

                if (ww > max[0])
                {
                    max[0] = ww; websites[0] = dt1.Rows[i]["website"].ToString();
                }
                if (wd > max[1])
                {
                    max[1] = wd; websites[1] = dt1.Rows[i]["website"].ToString();
                }
                if (wl > max[2])
                {
                    max[2] = wl; websites[2] = dt1.Rows[i]["website"].ToString();
                }
                if (dw > max[3])
                {
                    max[3] = dw; websites[3] = dt1.Rows[i]["website"].ToString();
                }
                if (dd > max[4])
                {
                    max[4] = dd; websites[4] = dt1.Rows[i]["website"].ToString();
                }
                if (dl > max[5])
                {
                    max[5] = dl; websites[5] = dt1.Rows[i]["website"].ToString();
                }
                if (lw > max[6])
                {
                    max[6] = lw; websites[6] = dt1.Rows[i]["website"].ToString();
                }
                if (ld > max[7])
                {
                    max[7] = ld; websites[7] = dt1.Rows[i]["website"].ToString();
                }
                if (ll > max[8])
                {
                    max[8] = ll; websites[8] = dt1.Rows[i]["website"].ToString();
                }
            }
        }


        BsonDocument doc_max = Match500Analyse.get_min_by_wave(max, max_count);



        BsonDocument doc = new BsonDocument();

        doc.Add("doc_id", DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond.ToString());
        doc.Add("start_time1", start_time1);
        doc.Add("host1", host1);
        doc.Add("client1", client1);
        doc.Add("start_time2", start_time2);
        doc.Add("host2", host2);
        doc.Add("client2", client2);
        doc.Add("type", "two-match-max");
        doc.Add("bid_count", doc_max["bid_count"].ToString());
        doc.Add("min_value", doc_max["min_value"].ToString());
        doc.Add("max_value", doc_max["max_value"].ToString());

        BsonArray array_websites = new BsonArray();

        foreach (string website in websites)
        {
            array_websites.Add(website);
        }
        doc.Add("websites", array_websites);

        BsonArray array_orign_odds = new BsonArray();

        foreach (double odd in max)
        {
            array_orign_odds.Add(odd.ToString("f2"));
        }
        doc.Add("orign_odds", array_orign_odds);


        //Detail website Odds
        BsonArray website_odds = new BsonArray();

        foreach (string website in websites)
        {
            bool is_has = false;

            foreach (BsonDocument doc_item in website_odds)
            {
                if (doc_item["website"].ToString() == website)
                {
                    is_has = true;
                }
            }
            if (is_has == false)
            {
                BsonDocument doc_item = new BsonDocument();
                doc_item.Add("website", website);
                string odd_win1  = "";
                string odd_draw1 = "";
                string odd_lose1 = "";
                string odd_win2  = "";
                string odd_draw2 = "";
                string odd_lose2 = "";
                foreach (DataRow row in dt1.Rows)
                {
                    if (row["website"].ToString() == website)
                    {
                        odd_win1  = row["odd_win"].ToString();
                        odd_draw1 = row["odd_draw"].ToString();
                        odd_lose1 = row["odd_lose"].ToString();
                    }
                }
                foreach (DataRow row in dt2.Rows)
                {
                    if (row["website"].ToString() == website)
                    {
                        odd_win2  = row["odd_win"].ToString();
                        odd_draw2 = row["odd_draw"].ToString();
                        odd_lose2 = row["odd_lose"].ToString();
                    }
                }
                doc_item.Add("odd_win1", odd_win1);
                doc_item.Add("odd_draw1", odd_draw1);
                doc_item.Add("odd_lose1", odd_lose1);
                doc_item.Add("odd_win2", odd_win2);
                doc_item.Add("odd_draw2", odd_draw2);
                doc_item.Add("odd_lose2", odd_lose2);

                website_odds.Add(doc_item.AsBsonDocument);
            }
        }
        doc.Add("website_odds", website_odds);



        doc.Add("order_nos", doc_max["order_nos"].AsBsonArray);
        doc.Add("bids", doc_max["bids"].AsBsonArray);
        doc.Add("odds", doc_max["odds"].AsBsonArray);
        return(doc);
    }
Ejemplo n.º 7
0
    public static BsonDocument get_max_from_single_match(string start_time, string host, string client, int max_count, ArrayList list_websites)
    {
        string sql = "select * from europe_500 where start_time='{0}' and host='{1}' and client='{2}'";

        sql = string.Format(sql, start_time, host, client);
        DataTable dt = SQLServerHelper.get_table(sql);

        //ArrayList list_fix_websites = new ArrayList();

        double[] max = new double[3] {
            -999999, -999999, -99999
        };
        string[] websites = new string[3] {
            "", "", ""
        };

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            //bool is_fix_website = false;
            //foreach (string website in ArrayList)
            //{
            //    if (website == dt.Rows[i]["website"].ToString()) is_fix_website = true;
            //}
            //if (is_fix_website == false) continue;

            bool is_in_websites = false;
            foreach (string website in list_websites)
            {
                if (website == dt.Rows[i]["website"].ToString())
                {
                    is_in_websites = true;
                }
            }
            if (is_in_websites == false)
            {
                continue;
            }
            double[] input = new double[3] {
                Convert.ToDouble(dt.Rows[i]["odd_win"].ToString()),
                Convert.ToDouble(dt.Rows[i]["odd_draw"].ToString()),
                Convert.ToDouble(dt.Rows[i]["odd_lose"].ToString())
            };
            if (input[0] > max[0])
            {
                max[0] = input[0]; websites[0] = dt.Rows[i]["website"].ToString();
            }
            if (input[1] > max[1])
            {
                max[1] = input[1]; websites[1] = dt.Rows[i]["website"].ToString();
            }
            if (input[2] > max[2])
            {
                max[2] = input[2]; websites[2] = dt.Rows[i]["website"].ToString();
            }
        }


        BsonDocument doc_max = Match500Analyse.get_min_by_wave(max, max_count);



        BsonDocument doc = new BsonDocument();

        doc.Add("doc_id", DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond.ToString());
        doc.Add("start_time", start_time);
        doc.Add("host", host);
        doc.Add("client", client);
        doc.Add("type", "single-match-max");
        doc.Add("bid_count", doc_max["bid_count"].ToString());
        doc.Add("min_value", doc_max["min_value"].ToString());
        doc.Add("max_value", doc_max["max_value"].ToString());

        BsonArray array_websites = new BsonArray();

        foreach (string website in websites)
        {
            array_websites.Add(website);
        }
        doc.Add("websites", array_websites);

        BsonArray array_orign_odds = new BsonArray();

        foreach (double odd in max)
        {
            array_orign_odds.Add(odd.ToString("f2"));
        }
        doc.Add("orign_odds", array_orign_odds);


        BsonArray website_odds = new BsonArray();

        foreach (string website in websites)
        {
            bool is_has = false;

            foreach (BsonDocument doc_item in website_odds)
            {
                if (doc_item["website"].ToString() == website)
                {
                    is_has = true;
                }
            }
            if (is_has == false)
            {
                BsonDocument doc_item = new BsonDocument();
                doc_item.Add("website", website);
                string odd_win  = "";
                string odd_draw = "";
                string odd_lose = "";
                foreach (DataRow row in dt.Rows)
                {
                    if (row["website"].ToString() == website)
                    {
                        odd_win  = row["odd_win"].ToString();
                        odd_draw = row["odd_draw"].ToString();
                        odd_lose = row["odd_lose"].ToString();
                    }
                }
                doc_item.Add("odd_win", odd_win);
                doc_item.Add("odd_draw", odd_draw);
                doc_item.Add("odd_lose", odd_lose);

                website_odds.Add(doc_item.AsBsonDocument);
            }
        }
        doc.Add("website_odds", website_odds);

        doc.Add("order_nos", doc_max["order_nos"].AsBsonArray);
        doc.Add("bids", doc_max["bids"].AsBsonArray);
        doc.Add("odds", doc_max["odds"].AsBsonArray);


        return(doc);
    }