public void deleteUpload5(object sender, EventArgs e) { string filePath = ""; int id = DataList[5].id; if ("-1".Equals(DataList[5].finished)) { //删除数据库中的数据 if (id != null) { Maticsoft.BLL.evidence evidence = new Maticsoft.BLL.evidence(); evidence.Delete(id); //MessageBox.Show("f**k"+id); } } else { //中断上传线程 if (uploadThread != null) { uploadThread.Suspend(); //uploadThread.Abort(); } //查询路径和id foreach (FilesUploadBean filesBean in filesBeans) { if (filesBean.getInit() && filesBean.getCaseId().Equals(ClueInfo.caseId.ToString())) { filePath = filesBean.evPathBean; id = filesBean.id; break; } } //删除已上传的文件 if (filePath != "") { Ftp.Uploader.deletePath(filePath); //MessageBox.Show("f**k" + id + " " + filePath); //初始化上传页面 filesBeans[index].setInit(false); Ftp.Uploader.reset(); initUploadHandlePage(); } //删除数据库中的数据 if (id != null) { Maticsoft.BLL.evidence evidence = new Maticsoft.BLL.evidence(); evidence.Delete(id); //MessageBox.Show("f**k"+id); } } //重新加载页面 searchDataList(""); }
private void uploadButton_Click(object sender, EventArgs e) { int caseId = BDCloud.common.ClueInfo.caseId; if (String.IsNullOrWhiteSpace(FilePath.Text)) { MessageBox.Show("请选择数据上传"); return; } if (String.IsNullOrWhiteSpace(txtEvName.Text)) { MessageBox.Show("请输入数据名称"); return; } if (uploadThread == null || uploadThread.ThreadState == ThreadState.Stopped || uploadThread.ThreadState == ThreadState.Aborted) { ShowSystemStatus(); uploadButton.Text = "暂停"; uploadThread = new Thread(() => { if (!insertDataToDB()) //将上传行为插入到数据库中 { uploadButton.Text = "上传"; return; } Maticsoft.BLL.evidence evidence_update = new Maticsoft.BLL.evidence(); DataSet ds = evidence_update.GetList("1=1 ORDER BY id desc LIMIT 1"); int eviId = Convert.ToInt32(ds.Tables[0].Rows[0]["id"].ToString()); cur_upload_eviId = eviId; Ftp.Uploader.uploadPath(FilePath.Text); }); uploadThread.Name = "uploadThread"; uploadThread.Start(); } else if (uploadThread.ThreadState == ThreadState.Suspended) { ShowSystemStatus(); userControl12.isPause = true; userControl12.resetPauseButton(); uploadButton.Text = "暂停"; uploadThread.Resume(); } else if (uploadThread.ThreadState == ThreadState.Running) { ShowSystemStatus(); userControl12.isPause = false; userControl12.resetPauseButton(); uploadButton.Text = "继续上传"; uploadThread.Suspend(); } else { Console.Out.WriteLine(uploadThread.ThreadState); } }
/// <summary> /// 暂停按钮委托方法 /// </summary> /// <returns></returns> public void pauseUpload(object sender, EventArgs e) { Maticsoft.BLL.evidence evidence_update = new Maticsoft.BLL.evidence(); DataSet ds = evidence_update.GetList("1=1 ORDER BY id desc LIMIT 1"); int eviId = Convert.ToInt32((sender as Control).Parent.Controls["label_id"].Text); string path = (sender as Control).Parent.Controls["label_localpath"].Text; if (eviId == cur_upload_eviId) { cur_upload_eviId = -1; } else { cur_upload_eviId = eviId; } if (uploadThread == null || uploadThread.ThreadState == ThreadState.Stopped || uploadThread.ThreadState == ThreadState.Aborted) { uploadThread = new Thread(() => { Ftp.Uploader.uploadPath(path); }); uploadThread.Name = "uploadThread"; uploadThread.Start(); } else if (uploadThread.ThreadState == ThreadState.Suspended) { uploadThread.Resume(); } else if (uploadThread.ThreadState == ThreadState.Running) { uploadThread.Suspend(); } }
/// <summary> /// 更新数据库finished字段 /// </summary> /// <returns></returns> public void uploadDatabaseFinished() { string serchQuery = "finished = '' or finished IS NULL"; Maticsoft.BLL.evidence evidence_old = new Maticsoft.BLL.evidence(); DataSet ds = evidence_old.GetList(serchQuery); Maticsoft.Model.evidence evidence_new = new Maticsoft.Model.evidence(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { evidence_new.id = Convert.ToInt32(ds.Tables[0].Rows[i]["id"].ToString()); evidence_new.evName = ds.Tables[0].Rows[i]["evName"].ToString(); evidence_new.caseID = Convert.ToInt32(ds.Tables[0].Rows[i]["caseID"].ToString()); evidence_new.evType = Convert.ToInt32(ds.Tables[0].Rows[i]["evType"].ToString()); evidence_new.comment = ds.Tables[0].Rows[i]["comment"].ToString(); evidence_new.evAdmin = ds.Tables[0].Rows[i]["evAdmin"].ToString(); evidence_new.dataTypes = Convert.ToInt32(ds.Tables[0].Rows[i]["dataTypes"].ToString()); evidence_new.finished = "-1"; evidence_new.localPath = ds.Tables[0].Rows[0]["localPath"].ToString(); evidence_old.Update(evidence_new); } }
/// <summary> /// 根据id获取数据库数据更新控件 /// </summary> /// <returns></returns> public void ThreadGetData(DataLineA.UserControl1 ctl, string evId) { //查询数据库,赋值给进度条 try { string serchQuery = "id=" + evId; Maticsoft.BLL.evidence evidence1 = new Maticsoft.BLL.evidence(); DataSet ds = evidence1.GetList(serchQuery); if (ds.Tables[0].Rows.Count != 0) { if (!(ds.Tables[0].Rows[0]["finished"].ToString() == null || "".Equals(ds.Tables[0].Rows[0]["finished"].ToString()) || ds.Tables[0].Rows[0]["finished"].ToString() == "-1")) //表示已上传完 { ctl.isFinished = true; switch (ds.Tables[0].Rows[0]["finished"].ToString()) { case ("1"): ctl.extent = 20; break; case ("2"): ctl.extent = 45; break; case ("3"): ctl.extent = 80; break; case ("4"): ctl.extent = 99; break; case ("5"): ctl.extent = 100; break; case ("true"): break; default: ctl.extent = 0; break; } ctl.Controls["label3"].Text = ds.Tables[0].Rows[0]["evSize"].ToString() + "KB"; ctl.Controls["label6"].Text = ds.Tables[0].Rows[0]["uploadNum"].ToString(); } else if (ds.Tables[0].Rows[0]["finished"].ToString() == "-1")//上传失败 { ctl.isFinished = false; //ctl.isPause = true; //ctl.isFailed = true; ctl.extent = (int)(ProgressCache.getProgress(Convert.ToInt32(evId))); if (evId == cur_upload_eviId.ToString()) { ((PictureBox)ctl.Controls["pictureBox1"]).Image = Properties.Resources.pause; } else { ((PictureBox)ctl.Controls["pictureBox1"]).Image = Properties.Resources.start; } } else //未上传完 { ctl.isFinished = false; ctl.isFailed = false; if (this.uploadMessage.Text != null && this.progressLabel.Text != "") { // Console.WriteLine(this.progressLabel.Text); //string text = this.progressLabel.Text.Split('%')[0]; //ctl.extent = Convert.ToInt32(text); ctl.extent = (int)(ProgressCache.getProgress(Convert.ToInt32(evId))); } else { ctl.extent = 0; } if (evId == cur_upload_eviId.ToString()) { ((PictureBox)ctl.Controls["pictureBox1"]).Image = Properties.Resources.pause; } else { ((PictureBox)ctl.Controls["pictureBox1"]).Image = Properties.Resources.start; } } } else { ctl.init(); } ctl.resetProcessBar(); } catch (System.ArgumentNullException e) { Console.WriteLine("________________Exception_third___________________"); } }
/// <summary> /// 根据页数设置数据(翻页按钮专用) /// </summary> /// <returns></returns> private void setDataListByPage(int page) { //清空控件list aaaa.Clear(); bbbb.Clear(); if (!initDataList && null != UIthread)//如果不是首次加载页面,则杀死ui线程 { UIthread.Abort(); Console.WriteLine("-------[UI更新进度线程杀死] UIthread Alive:{0}--------"); } else { initDataList = false; } string startP = ((page - 1) * numPerPage).ToString();//开始条数 string id = ClueInfo.caseId.ToString(); string type = ""; if (typeList_d1.Text != "处理状态") { switch (typeList_d1.Text) { case ("上传中"): type = " and finished = ''"; break; case ("上传完成"): type = " and finished = true"; break; case ("解析中"): type = " and (finished = 1 or finished = 2 or finished = 3 or finished = 4)"; break; case ("解析完成"): type = " and finished = 5"; break; case ("解析失败"): type = " and finished = 0"; break; case ("上传失败"): type = " and finished = -1"; break; } } string serchQuery = "caseID=" + id + type; if (isSearch_d1 && search_d1.Text != null && !"".Equals(search_d1.Text) && !"请输入要搜索的内容".Equals(search_d1.Text))//如果有搜索条件 { serchQuery = serchQuery + " and (evName LIKE '%" + search_d1.Text + "%' or evAdmin LIKE '%" + search_d1.Text + "%') order by id desc" + " limit " + startP + "," + numPerPage; } else { serchQuery = serchQuery + " order by id desc" + " limit " + startP + "," + numPerPage; } Maticsoft.BLL.evidence evidence1 = new Maticsoft.BLL.evidence(); DataSet ds = evidence1.GetList(serchQuery); //由于下foreach遍历获取到的Control控件是逆序的,采用栈的方式重新反向排序 Stack <Control> Cons = new Stack <Control>(); foreach (Control ctl in this.Controls["tabPages"].Controls["tabDataList"].Controls) //遍历相应容器中的所有控件 { if (ctl as DataLineA.UserControl1 != null) //如果是数据列 { ctl.Visible = false; Cons.Push(ctl); } } //遍历栈 int i = 0; foreach (DataLineA.UserControl1 c in Cons) { Maticsoft.Model.evidence resEvi = new Maticsoft.Model.evidence(); if (i < ds.Tables[0].Rows.Count) { resEvi.addTime = ds.Tables[0].Rows[i]["addTime"].ToString().Split(' ')[0]; resEvi.evAdmin = ds.Tables[0].Rows[i]["evAdmin"].ToString(); resEvi.evSize = ds.Tables[0].Rows[i]["evSize"].ToString(); resEvi.evType = Convert.ToInt32(ds.Tables[0].Rows[i]["evType"].ToString()); resEvi.evName = ds.Tables[0].Rows[i]["evName"].ToString(); resEvi.uploadNum = ds.Tables[0].Rows[i]["uploadNum"].ToString(); resEvi.finished = ds.Tables[0].Rows[i]["finished"].ToString(); resEvi.id = Convert.ToInt32(ds.Tables[0].Rows[i]["id"].ToString()); resEvi.localPath = ds.Tables[0].Rows[i]["localpath"].ToString(); setDataListValue(c, resEvi); } else { Cons.Clear(); break; } if (i < DataList.Count()) { DataList[i] = resEvi; } else { DataList.Add(resEvi); } i++; } //重新开启新的线程 UIthread = new Thread(new ThreadStart(UIthreadRefresh)); UIthread.Start(); //设置文本内容 string pageTextNew = "总共" + totalDataNum + "条,当前" + nowDataPage + "/" + totalPage + "页"; pageinformation_d2.Text = pageTextNew; }
/// <summary> /// 初始化 /// </summary> /// <param name="initQuery">查询语句</param> /// <returns></returns> private void init(string initQuery) { nowDataPage = 1; numPerPage = 10; Maticsoft.BLL.evidence evidence1 = new Maticsoft.BLL.evidence(); string searchQuery = initQuery;//初始化条件(查询条件) DataSet ds = evidence1.GetList(searchQuery); totalDataNum = ds.Tables[0].Rows.Count; if (totalDataNum == 0 || totalDataNum == numPerPage) { totalPage = 1; //MessageBox.Show("无相应记录。"); } else { if (totalDataNum % numPerPage == 0) { totalPage = ds.Tables[0].Rows.Count / numPerPage; } else { totalPage = ds.Tables[0].Rows.Count / numPerPage + 1; } } //设置文本内容 string pageText = "总共" + totalDataNum + "条,当前" + nowDataPage + "/" + totalPage + "页"; pageinformation_d2.Text = pageText; //根据页数设置按钮位置 switch (totalPage) { case 1: btnpage2_d2.Visible = false; btnpage3_d2.Visible = false; btnpage4_d2.Visible = false; btnpage5_d2.Visible = false; btnnextpage_d2.Left = originalBtn - 4 * 25; panel_page_jump_d2.Left = originalPpj - 4 * 25; page_jump_d2.Left = originalPj - 4 * 25; break; case 2: btnpage2_d2.Visible = true; btnpage3_d2.Visible = false; btnpage4_d2.Visible = false; btnpage5_d2.Visible = false; btnnextpage_d2.Left = originalBtn - 3 * 25; panel_page_jump_d2.Left = originalPpj - 3 * 25; page_jump_d2.Left = originalPj - 3 * 25; break; case 3: btnpage2_d2.Visible = true; btnpage3_d2.Visible = true; btnpage4_d2.Visible = false; btnpage5_d2.Visible = false; btnnextpage_d2.Left = originalBtn - 2 * 25; panel_page_jump_d2.Left = originalPpj - 2 * 25; page_jump_d2.Left = originalPj - 2 * 25; break; case 4: btnpage2_d2.Visible = true; btnpage3_d2.Visible = true; btnpage4_d2.Visible = true; btnpage5_d2.Visible = false; btnnextpage_d2.Left = originalBtn - 25; panel_page_jump_d2.Left = originalPpj - 25; page_jump_d2.Left = originalPj - 25; break; default: btnpage2_d2.Visible = true; btnpage3_d2.Visible = true; btnpage4_d2.Visible = true; btnpage5_d2.Visible = true; btnnextpage_d2.Left = originalBtn; panel_page_jump_d2.Left = originalPpj; page_jump_d2.Left = originalPj; break; } changePageValue(); reSetPage(); }