/// <summary> /// 将视图状态中的数据进行提交 /// 1、判断是否有删除的数据,如果有,则删除 /// 2、判断是否有新增的数据,如果有,则新增 /// 3、剔除PARENTGUID为-1的数据 /// </summary> public void Submit() { DataTable dt1 = this.AttachmentList; JTable tab1 = new JTable(this.TableName); List <SearchField> condition = new List <SearchField>(); Dictionary <String, object> dic1 = new Dictionary <string, object>(); foreach (DataRow dr1 in dt1.Rows) { if (dr1["PARENTGUID"].ToString() != "-1") { if (dr1["DataStatus"].ToString() == "deletedata") //需要删除数据 { //删除文件 if (String.IsNullOrEmpty(dr1["FILEDIR"].ToString()) == false && String.IsNullOrEmpty(dr1["ENCRYPTFILENAME"].ToString()) == false) { String fileName = dr1["FILEDIR"].ToString() + dr1["ENCRYPTFILENAME"].ToString(); fileName = Server.MapPath(fileName); if (File.Exists(fileName)) { File.Delete(fileName); } } //删除数据库中的相关数据 condition.Clear(); condition.Add(new SearchField("GUIDID", dr1["GUIDID"].ToString())); dic1.Clear(); dic1["DEL"] = "1"; //逻辑删除数据 tab1.EditData(dic1, condition); //tab1.DeleteData(condition); } if (dr1["DataStatus"].ToString() == "newdata") //表示新增数据 { //将文件名改名,去掉$$符号 if (String.IsNullOrEmpty(dr1["FILEDIR"].ToString()) == false && String.IsNullOrEmpty(dr1["ENCRYPTFILENAME"].ToString()) == false) { String fileName = dr1["FILEDIR"].ToString() + dr1["ENCRYPTFILENAME"].ToString(); String fileName1 = dr1["FILEDIR"].ToString() + dr1["ENCRYPTFILENAME"].ToString().Replace("$$", ""); fileName = Server.MapPath(fileName); fileName1 = Server.MapPath(fileName1); File.Copy(fileName, fileName1); File.Delete(fileName); } //更新数据中的数据 dic1.Clear(); dic1 = FrameLib.GetDictionaryByDataRow(dr1); dic1["ENCRYPTFILENAME"] = dic1["ENCRYPTFILENAME"].ToString().Replace("$$", ""); dic1.Remove("DataStatus"); tab1.InsertData(dic1); } } } tab1.Close(); }
/// <summary> /// 新增一条数据 /// </summary> /// <param name="data1"></param> public void NewData(DataRow data1) { Dictionary <string, object> data2 = FrameLib.GetDictionaryByDataRow(data1); NewData(data2); }