using System; using System.Data; using System.IO; using System.Windows.Forms; using Cyberpipe.HFS_logicfile; using Cyberpipe.udfiles; using DevComponents.DotNetBar; namespace Cyberpipe.HFS_Forms { public partial class Frm_HFSfiles : Office2007Form { public Frm_HFSfiles() { InitializeComponent(); } #region 公共变量 HFS_Affair HFSAClass = new HFS_Affair();//实例化ModuleClass文件夹下的FrmAffairClass公共类 PictureBox PB; //string Imadir = ""; #endregion public Frm_HFSfiles(PictureBox _PB) { InitializeComponent(); PB = _PB; } private void Frm_HFSfiles_Load(object sender, EventArgs e) { bool show_bool = true; if (int.Parse(Tag.ToString()) == 0) show_bool = true; else show_bool = false; listView_Dir.Visible = show_bool; BT_ADD.Visible = show_bool; BT_DELETE.Visible = show_bool; TB_名称.Visible = !show_bool; LB_名称.Visible = !show_bool; //panel_Title.BackgroundImage = Image.FromFile(photoDir + "\\Image\\" + ModuleClass.FrmAffairClass.Redact_T + this.Tag.ToString() + ".JPG"); switch (int.Parse(Tag.ToString())) { case 0: { listView_Dir.Items.Clear();//清空所有项的集合 listView_Dir.Columns.Clear();//清空所有列的集合 listView_Dir.GridLines = true;//在各数据之间形成网格线 listView_Dir.View = View.Details;//显示列名称 listView_Dir.FullRowSelect = true;//在单击某项时,对其进行选中 listView_Dir.Columns.Add("文件路径", listView_Dir.Width - 5, HorizontalAlignment.Center);//设置列标头的名称及大小 break; } case 1: case 2: { if (int.Parse(Tag.ToString()) == 1) { LB_名称.Text = "文件名称:"; TB_名称.Text = HFS_Affair.Redact_N; } if (int.Parse(Tag.ToString()) == 2) { TB_名称.Visible = show_bool; LB_名称.Text = "是否删除该文件?"; } break; } } //FrmAClass.Clarity(panel_All.Controls); } private void BT_ADD_Click(object sender, EventArgs e) { openFileDialog1.Filter="所有文件(*.*)|*.*"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { string Fdir = openFileDialog1.FileName; for (int i = 0; i < listView_Dir.Items.Count; i++) { if (Fdir == listView_Dir.Items[i].Text) { MessageBox.Show("该文件已存在,无法添加。"); return; } } ListViewItem lvi = new ListViewItem(Fdir);//实例化一个项 listView_Dir.Items.Add(lvi);//添加列信息 if (Fdir.Length > listView_Dir.Width) listView_Dir.Width = Fdir.Length; } } private void BT_OK_Click(object sender, EventArgs e) { string sdir = "";//原目录 string ddir = "";//目的目录 int m = int.Parse(Tag.ToString());//当前操作的标识 int n = -1;//是否修改成功 int PID = int.Parse(HFS_Affair.Redact_M);//操用节点的ID号 //获得项目名称 string prjdirsql = "select NODEPATH,NODENAME from casic_hfs where" + " NODEID=" + PID; DataTable dt = OledbHelper.QueryTable(prjdirsql); string projdir = dt.Rows[0][0].ToString(); string filename = dt.Rows[0][1].ToString(); switch (m) { case 0: { if (listView_Dir.Items.Count > 0) { HFS_Affair.ADD_LV.Items.Clear();//清空所有项的集合 HFS_Affair.ADD_LV.Columns.Clear();//清空所有列的集合 HFS_Affair.ADD_LV.GridLines = true;//在各数据之间形成网格线 HFS_Affair.ADD_LV.View = View.Details;//显示列名称 HFS_Affair.ADD_LV.Columns.Add("文件名", 80, HorizontalAlignment.Center);//设置列标头的名称及大小 for (int i = 0; i < listView_Dir.Items.Count; i++) { sdir = listView_Dir.Items[i].Text; //ddir = Cyberpipe.HFS_logicfile.HFS_Affair.Redact_D + "\\" + HFSAClass.Files_Name(sdir, m); ddir = projdir+"\\"+HFSAClass.Files_Name(sdir, m); //添加文件 FileStream fs = File.OpenRead(sdir); //文件转为byte[] byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, buffer.Length); UpDownFile upfolder = new UpDownFile(Utility.udserviceurl); string newfileurl = Utility.uploadpath + "\\HFS\\" + ddir; int result = upfolder.UploadFiles(newfileurl, buffer); //判断上传时文件是否存在 if (result == 0) { sdir = "insert into casic_hfs (NODEPID,NODENAME,NODEPATH,NODETYPE,NODESIGN)" + " values(" + PID + ",'" + HFSAClass.Files_Name(sdir, m) + "','" + projdir + "'," + m + ",'" + Utility.userName + "')"; OledbHelper.getsqlcom(sdir); DataSet DS = OledbHelper.getDataSet("select max(NODEID) from casic_hfs", "casic_hfs"); ListViewItem lvi = new ListViewItem(HFSAClass.Files_Name(ddir, m));//实例化一个项 lvi.Tag = int.Parse(DS.Tables[0].Rows[0][0].ToString()); HFS_Affair.ADD_LV.Items.Add(lvi);//添加列信息 } else if (result == 1) listView_Dir.Items[i].Remove(); else if(result==2) { if (MessageBox.Show("文件夹下有同名文件,是否替换?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) result = upfolder.UploadFilesDir(newfileurl, buffer); if (result == 0) { MessageBox.Show("文件覆盖成功"); } } DialogResult = DialogResult.OK;//将当前窗体的对话框返回值设为OK } } else { MessageBox.Show("添加的文件不能为空。"); } break; } case 1: { PB = null; ddir = HFS_Affair.Redact_D + "\\" + filename; sdir = HFSAClass.UpAndDown_Dir(HFS_Affair.Redact_D) + "\\Files\\HFS\\" + TB_名称.Text.Trim(); sdir = "update casic_hfs set NODENAME='" + TB_名称.Text.Trim() + "',NODEPATH='" + projdir + "' where NODEID=" + HFS_Affair.Redact_M; break; } case 2: { PB = null; ddir = HFS_Affair.Redact_D + "\\" + filename; ; sdir = "delete casic_hfs where NODEID=" + HFS_Affair.Redact_M; break; } } if (m > 0) { //n = HFSAClass.Folder_Handle(ddir, "", TB_名称.Text.Trim(), m); UpDownFile upfolder = new UpDownFile(Utility.udserviceurl); string filenameurl = Utility.uploadpath + "\\HFS\\" + projdir + "\\" + HFS_Affair.Redact_N; n = upfolder.File_Handle(filenameurl, "", TB_名称.Text.Trim(), m); if (n == 1) { DialogResult = DialogResult.Cancel;//将当前窗体的对话框返回值设为Cancel } else { OledbHelper.getsqlcom(sdir); if (m == 1) HFS_Affair.Redact_N = TB_名称.Text; DialogResult = DialogResult.OK;//将当前窗体的对话框返回值设为OK } } Close(); } private void BT_DELETE_Click(object sender, EventArgs e) { if (listView_Dir.SelectedItems.Count > 0) { ListViewItem HLVI = listView_Dir.SelectedItems[0]; HLVI.Remove(); } else { MessageBox.Show("请选择要删除的文件。"); } } private void BT_CANEL_Click(object sender, EventArgs e) { DialogResult = DialogResult.Cancel;//将当前窗体的对话框返回值设为Cancel Close(); } private void F_添加文件_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') BT_OK_Click(sender, e); } } }