Beispiel #1
0
        /// <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();
        }
Beispiel #2
0
        /// <summary>
        /// 新增一条数据
        /// </summary>
        /// <param name="data1"></param>
        public void NewData(DataRow data1)
        {
            Dictionary <string, object> data2 = FrameLib.GetDictionaryByDataRow(data1);

            NewData(data2);
        }