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(Match100Analyse.get_info_from_doc(doc)); } sb.Append("----------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine); this.txt_result.Text = sb.ToString(); Application.DoEvents(); }
private void btn_single_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>(); 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 = new BsonDocument(); for (int i = 1; i < 101; i++) { doc = Match100Analyse.get_max_from_single_match(start_time, host, client, i, list_websites); list.Add(doc); sb.Append("----------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine); sb.Append(Match100Analyse.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(); }
public void get_two_by_start_time_desc(List <BsonDocument> list) { StringBuilder sb = new StringBuilder(); sb.Append("BY START TIME ASC:" + 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("start_time"); persent.DataType = Type.GetType("System.String"); dt.Columns.Add(persent); for (int i = 0; i < list.Count; i++) { DataRow row_new = dt.NewRow(); row_new["order"] = i; DateTime time1 = Convert.ToDateTime(list[i]["start_time1"].ToString()); DateTime time2 = Convert.ToDateTime(list[i]["start_time2"].ToString()); TimeSpan span = time1 - time2; row_new["start_time"] = span.Seconds > 0 ? list[i]["start_time2"].ToString() : list[i]["start_time1"].ToString(); dt.Rows.Add(row_new); } dt.DefaultView.Sort = "start_time 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(Match100Analyse.get_info_from_doc(doc)); } sb.Append("----------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine); this.txt_result.Text = sb.ToString(); Application.DoEvents(); }
public void get_two_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(Match100Analyse.get_info_from_doc(doc)); } sb.Append("----------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine); this.txt_result.Text = sb.ToString(); Application.DoEvents(); }
private void btn_compute_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(); string id = this.txt_id.Text; string add = this.txt_add.Text; string a_start_time = ""; string a_host = ""; string a_client = ""; dt.Columns.Add("start_time"); dt.Columns.Add("host"); dt.Columns.Add("client"); foreach (DataGridViewRow row in dgv_match.Rows) { if (row.Cells["id"].Value.ToString() == id) { a_start_time = row.Cells["start_time"].Value.ToString(); a_host = row.Cells["host"].Value.ToString(); a_client = row.Cells["client"].Value.ToString(); } if (Convert.ToBoolean(row.Cells["selected"].Value) == true && row.Cells["id"].Value.ToString() != id) { 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++) { BsonDocument doc = Match100Analyse.get_max_from_two_match_with_persent_1( a_start_time, a_host, a_client, dt.Rows[i]["start_time"].ToString(), dt.Rows[i]["host"].ToString(), dt.Rows[i]["client"].ToString(), 50, list_websites, add); list.Add(doc); sb.Append("----------------------------------------------------------------------------------------------------------------------------------------" + Environment.NewLine); sb.Append(Match100Analyse.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_two_persent_asc.Checked) { get_two_by_persent_asc(list); } if (cb_two_persent_desc.Checked) { get_two_by_persent_desc(list); } if (cb_two_start_time_asc.Checked) { get_two_by_start_time_asc(list); } if (cb_two_start_time_desc.Checked) { get_two_by_start_time_desc(list); } }