using CY.Infrastructure.Common; using CY.Infrastructure.Logging; using CY.SQLDAL; using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using static CY.WebForm.MainPage; using CY.Model.OA; using CY.WebForm.Helper; using CY.Infrastructure.Query; using System.IO; namespace CY.WebForm.Pages.business { public partial class CorporateClientsUpLoadContract : BasePage { /// /// 选择文件 /// List SelFile { set; get; } /// /// 合同附件集合 /// List fileDataList { set; get; } = new List(); /// /// 附件个数 /// public int FileCount { get; set; } protected void Page_Load(object sender, EventArgs e) { UCPager1.AspNetPager.PageSize=5; UCPager1.AspNetPager.PageChanged += AspNetPager1_PageChanged; if (Request["deleteKeyIds"] != null&& Request["deleteKeyIds"]!="") { if (Request["deleteKeyIds"] == "all") { //删除说有页面 string keyid = Request["deleteKeyIds"].ToString(); string pageID = Request["Keyid"]; Database DC = new Database(); string sqlStr = string.Format(@" SELECT[Keyid] ,[CorporateClientsid] ,[CorporateClientsName] ,[FileName] ,[PageCode] ,[FilePath] ,[Remark] FROM[dbo].[OA_CorporateClientContract] where CorporateClientsid='{0}'ORDER BY PageCode ", pageID); try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); var a = myCmd.ExecuteReader(); //myDa.Dispose(); fileDataList = new List(); OA_CorporateClientsContract Contract; while (a.Read()) { //注意如何将每次读取到的记录添加到listbox1中(因为第一次做时出错了,嘿嘿) Contract = new OA_CorporateClientsContract(); Contract.Keyid = a.GetGuid(0); Contract.CorporateClientsid = a.GetGuid(1); Contract.CorporateClientsName = a.GetString(2); Contract.FileName = a.GetString(3); Contract.PageCode = a.GetInt32(4); Contract.FilePath = a.GetString(5); Contract.Remark = a.GetString(6); fileDataList.Add(Contract); } a.Close(); //关闭sqldatareader if (fileDataList.Count > 0) { foreach (var item in fileDataList) { FileInfo file = new FileInfo(Server.MapPath(item.FilePath));//指定文件路径 if (file.Exists)//判断文件是否存在 { file.Attributes = FileAttributes.Normal;//将文件属性设置为普通,比方说只读文件设置为普通 file.Delete();//删除文件 } sqlStr = string.Format(@" DELETE FROM [dbo].[OA_CorporateClientContract] where Keyid='{0}'", item.Keyid); myCmd = new SqlCommand(sqlStr, DC.Connection); myCmd.ExecuteNonQuery(); myCmd.Dispose(); } } JavaScript.MessageBox("删除成功", this); // Response.Redirect("/Pages/business/CorporateClientsUpLoadContract.aspx"); } catch (Exception ee) { new Log4NetAdapter().Log("查找合同出错:" + ee.Message); JavaScript.MessageBox("删除失败", this); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } else { //删除页面 string keyid = Request["deleteKeyIds"].ToString(); Database DC = new Database(); string sqlStr = string.Format(@" SELECT[Keyid] ,[CorporateClientsid] ,[CorporateClientsName] ,[FileName] ,[PageCode] ,[FilePath] ,[Remark] FROM[dbo].[OA_CorporateClientContract] where Keyid='{0}'ORDER BY PageCode ", keyid); try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); var a = myCmd.ExecuteReader(); //myDa.Dispose(); fileDataList = new List(); OA_CorporateClientsContract Contract; while (a.Read()) { //注意如何将每次读取到的记录添加到listbox1中(因为第一次做时出错了,嘿嘿) Contract = new OA_CorporateClientsContract(); Contract.Keyid = a.GetGuid(0); Contract.CorporateClientsid = a.GetGuid(1); Contract.CorporateClientsName = a.GetString(2); Contract.FileName = a.GetString(3); Contract.PageCode = a.GetInt32(4); Contract.FilePath = a.GetString(5); Contract.Remark = a.GetString(6); fileDataList.Add(Contract); } a.Close(); //关闭sqldatareader if (fileDataList.Count > 0) { FileInfo file = new FileInfo(Server.MapPath(fileDataList[0].FilePath));//指定文件路径 if (file.Exists)//判断文件是否存在 { file.Attributes = FileAttributes.Normal;//将文件属性设置为普通,比方说只读文件设置为普通 file.Delete();//删除文件 } } sqlStr = string.Format(@" DELETE FROM [dbo].[OA_CorporateClientContract] where Keyid='{0}'", keyid); myCmd = new SqlCommand(sqlStr, DC.Connection); myCmd.ExecuteNonQuery(); JavaScript.MessageBox("删除成功", this); // Response.Redirect("/Pages/business/CorporateClientsUpLoadContract.aspx"); } catch (Exception ee) { new Log4NetAdapter().Log("查找合同出错:" + ee.Message); JavaScript.MessageBox("删除失败", this); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } Response.AppendHeader("deleteKeyIds", ""); } if (!IsPostBack) BindList(); } public Guid GetKeyid() { return Request["Keyid"].ToGuid2(); } //绑定列表 private void BindList() { Pagination pa = new Pagination(); pa.PageSize = UCPager1.AspNetPager.PageSize; pa.PageIndex = UCPager1.AspNetPager.CurrentPageIndex; Guid Keyid = Request["Keyid"].ToGuid2(); if(Keyid==null) { JavaScript.MessageBox("未找到该客户", this, false, false); return; } Database DC = new Database(); string sqlStr =string.Format(@" select * from (select ROW_NUMBER() OVER(Order by PageCode) AS RowNumber,* from [dbo].[OA_CorporateClientContract] where CorporateClientsid='{0}' ) as b where b.RowNumber BETWEEN ({1}-1)*({2})+1 and {1}*{2} order by PageCode ", Keyid,pa.PageIndex,pa.PageSize); int count = 0; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); var a = myCmd.ExecuteReader(); //myDa.Dispose(); fileDataList = new List (); OA_CorporateClientsContract Contract ; while (a.Read()) { //注意如何将每次读取到的记录添加到listbox1中(因为第一次做时出错了,嘿嘿) Contract = new OA_CorporateClientsContract(); Contract.Keyid = a.GetGuid(1); Contract.CorporateClientsid = a.GetGuid(2); Contract.CorporateClientsName = a.GetString(3); Contract.FileName = a.GetString(4); Contract.PageCode = a.GetInt32(5); Contract.FilePath = a.GetString(6); Contract.Remark = a.GetString(7); fileDataList.Add(Contract); } a.Close(); //关闭sqldatareader sqlStr = string.Format("select count(*) from [dbo].[OA_CorporateClientContract] where CorporateClientsid='{0}'", Keyid); myCmd = new SqlCommand(sqlStr, DC.Connection); count = (int)myCmd.ExecuteScalar(); } catch (Exception ee) { new Log4NetAdapter().Log("查找合同出错:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } FileCount = fileDataList.Count; this.RepClientList.DataSource = fileDataList;// fileDataList.AsEnumerable(); this.RepClientList.DataBind(); UCPager1.AspNetPager.RecordCount = count; } //分页事件 protected void AspNetPager1_PageChanged(object src, EventArgs e) { BindList(); } protected void btn_Submit_Click_multi(object sender, EventArgs e) { var files = Request.Files; //if (files.Count <= 0) // return; HttpPostedFile postedFile; List fileList = new List(); for (int i=0;i< files.Count;i++) { if (files.Keys[i]=="file2") { postedFile = files[i]; if (postedFile.ContentLength == 0) continue; fileList.Add(postedFile); } } upLoadContractFile uploadContract = null; OA_CorporateClientsContract contract = null; Guid? g = null; foreach (var item in fileList) { int page = 0; try { page = pagecount(item); } catch (Exception) { continue; } try { g = GetContractFileID(page); } catch (Exception) { continue; } uploadContract = new upLoadContractFile(); if (g != null) { try { uploadContract.SavAndUpDataContractFile(item, CountractFileKeiId: g); JavaScript.MessageBoxandhideLoadingIndicator( "上传文件成功", this); //JavaScript.RefreshSelf(this); //JavaScript.RefreshOpener(this); } catch (Exception) { JavaScript.MessageBoxandhideLoadingIndicator("上传文件失败", this); // JavaScript.RefreshSelf(this); //JavaScript.RefreshOpener(this); } continue; } //新建走下面页面 contract = new OA_CorporateClientsContract { CorporateClientsid = Request["Keyid"].ToGuid2(), FileName = System.IO.Path.GetFileName(item.FileName), PageCode = page, Creater = CurrentUser.TrueMemberId, }; try { uploadContract.SavAndUpDataContractFile(item, contract); JavaScript.MessageBox("上传文件成功", this); } catch (Exception) { JavaScript.MessageBox( "上传文件失败", this); } } BindList(); } protected void btn_Submit_Click_DELLALL(object sender, EventArgs e) { string pageID = Request["Keyid"]; Database DC = new Database(); string sqlStr = string.Format(@" SELECT[Keyid] ,[CorporateClientsid] ,[CorporateClientsName] ,[FileName] ,[PageCode] ,[FilePath] ,[Remark] FROM[dbo].[OA_CorporateClientContract] where CorporateClientsid='{0}'ORDER BY PageCode ", pageID); try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); var a = myCmd.ExecuteReader(); //myDa.Dispose(); fileDataList = new List(); OA_CorporateClientsContract Contract; while (a.Read()) { //注意如何将每次读取到的记录添加到listbox1中(因为第一次做时出错了,嘿嘿) Contract = new OA_CorporateClientsContract(); Contract.Keyid = a.GetGuid(0); Contract.CorporateClientsid = a.GetGuid(1); Contract.CorporateClientsName = a.GetString(2); Contract.FileName = a.GetString(3); Contract.PageCode = a.GetInt32(4); Contract.FilePath = a.GetString(5); Contract.Remark = a.GetString(6); fileDataList.Add(Contract); } a.Close(); //关闭sqldatareader if (fileDataList.Count > 0) { foreach (var item in fileDataList) { FileInfo file = new FileInfo(Server.MapPath(item.FilePath));//指定文件路径 if (file.Exists)//判断文件是否存在 { file.Attributes = FileAttributes.Normal;//将文件属性设置为普通,比方说只读文件设置为普通 file.Delete();//删除文件 } sqlStr = string.Format(@" DELETE FROM [dbo].[OA_CorporateClientContract] where Keyid='{0}'", item.Keyid); myCmd = new SqlCommand(sqlStr, DC.Connection); myCmd.ExecuteNonQuery(); myCmd.Dispose(); } } JavaScript.MessageBox("删除成功", this); // Response.Redirect("/Pages/business/CorporateClientsUpLoadContract.aspx"); } catch (Exception ee) { new Log4NetAdapter().Log("查找合同出错:" + ee.Message); JavaScript.MessageBox("删除失败", this); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } BindList(); } protected void btn_Submit_Click(object sender, EventArgs e) { var files = Request.Files; if (files.Count <= 0) return; // return; HttpPostedFile postedFile=null; for (int i = 0; i < files.Count; i++) { if (files.Keys[i] == "filesel") { postedFile = files[i]; if (postedFile.ContentLength == 0) { return; } break; } } Guid? g = GetContractFileID(); upLoadContractFile uploadContract = new upLoadContractFile(); if (g != null) { try { uploadContract.SavAndUpDataContractFile(postedFile,CountractFileKeiId :g); JavaScript.MessageBoxandhideLoadingIndicator("上传文件成功", this); //JavaScript.RefreshSelf(this); //JavaScript.RefreshOpener(this); BindList(); } catch (Exception) { JavaScript.MessageBoxandhideLoadingIndicator("上传文件失败", this); // JavaScript.RefreshSelf(this); //JavaScript.RefreshOpener(this); BindList(); } return; } //新建走下面页面 OA_CorporateClientsContract contract = new OA_CorporateClientsContract { CorporateClientsid = Request["Keyid"].ToGuid2(), FileName = System.IO.Path.GetFileName(postedFile.FileName), PageCode = Convert.ToInt32(this.TextPage.Value), Creater= CurrentUser.TrueMemberId, }; try { uploadContract.SavAndUpDataContractFile(postedFile, contract); JavaScript.MessageBox("上传文件成功", this); //JavaScript.RefreshSelf(this); //JavaScript.RefreshOpener(this); BindList(); } catch (Exception ) { JavaScript.MessageBox("上传文件失败", this); // JavaScript.RefreshSelf(this); //JavaScript.RefreshOpener(this); BindList(); } // CY.WebForm.cs.UploadCS.Upload(System.Web.HttpContext.Current.Request.MapPath("contractImgs/") + Guid.NewGuid().ToString() + fileName) //var files = Request.Files; //for (int iFile = 0; iFile < files.Count; iFile++) //{ // ///'检查文件扩展名字 // HttpPostedFile postedFile = files[iFile]; // string fileName, fileExtension; // fileName = System.IO.Path.GetFileName(postedFile.FileName); // if (fileName != "") // { // fileExtension = System.IO.Path.GetExtension(fileName); // //strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "
"); // //strMsg.Append("客户端文件地址:" + postedFile.FileName + "
"); // //strMsg.Append("上传文件的文件名:" + fileName + "
"); // //strMsg.Append("上传文件的扩展名:" + fileExtension + "

"); // ///'可根据扩展名字的不同保存到不同的文件夹 // ///注意:可能要修改你的文件夹的匿名写入权限。 // /// // // postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("contractImgs/") + Guid.NewGuid().ToString()+ fileName); // } //} } public void test() { return; } /// /// 获取当前页面的guiid,判断是否是新建页面 如果没有,则获取页面的页码 /// /// public Guid? GetContractFileID(int? Pagecode=null) { Guid Keyid = Request["Keyid"].ToGuid2(); Database DC = new Database(); if (Pagecode != null) { try { Pagecode = Convert.ToInt32(Pagecode); } catch (Exception) { return null; } } else { try { Pagecode = Convert.ToInt32(this.TextPage.Value); } catch (Exception) { return null; } } string sqlStr = string.Format(@" SELECT[Keyid] FROM[dbo].[OA_CorporateClientContract] where CorporateClientsid='{0}' and [PageCode]='{1}' ", Keyid, Pagecode); try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); var a = myCmd.ExecuteReader(); //myDa.Dispose(); List ff = new List(); OA_CorporateClientsContract Contract; while (a.Read()) { //注意如何将每次读取到的记录添加到listbox1中(因为第一次做时出错了,嘿嘿) Contract = new OA_CorporateClientsContract(); Contract.Keyid = a.GetGuid(0); ff.Add(Contract); } a.Close(); //关闭sqldatareader if (ff.Count >= 0) return ff[0].Keyid; else return null; } catch (Exception ee) { new Log4NetAdapter().Log("查找合同出错:" + ee.Message); return null; } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } public int pagecount(HttpPostedFile file) { try { string filepagecode = System.IO.Path.GetFileNameWithoutExtension(file.FileName); return Convert.ToInt32(filepagecode); } catch (Exception) { JavaScript.MessageBox(file.FileName + "文件上传失败,命名规则冲突", this); throw; } } } }