示例#1
0
        public List <DocObject> GetDocObjectsByTemplateId(List <int> flowTemplateIds)
        {
            List <DocObject> elements = new List <DocObject>();

            if (flowTemplateIds != null && flowTemplateIds.Count > 0)
            {
                string    sql = "select TF_DocObject.* from TF_DocObject,TaskInfo,Flow,FlowTemplate where TF_DocObject.ID=TaskInfo.EntityId and TaskInfo.FlowID=Flow.ID and Flow.TemplateID in (" + flowTemplateIds + ")";
                DataTable dt  = sqlHelper.Query(sql);
                if (dt != null && dt.Rows.Count > 0)
                {
                    FormObjectLogic fol = FormObjectLogic.GetInstance();
                    FormItemLogic   fil = FormItemLogic.GetInstance();
                    UserLogic       ul  = UserLogic.GetInstance();
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        DocObject element = new DocObject();
                        element.ID       = Convert.ToInt32(dt.Rows[i]["ID"]);
                        element.Name     = dt.Rows[i]["Name"].ToString();
                        element.Form     = fol.GetFormObject(Convert.ToInt32(dt.Rows[i]["FormID"]));
                        element.DocItems = fil.GetFormItemsByIds(dt.Rows[i]["DocItems"].ToString());
                        element.Owner    = ul.GetUser(Convert.ToInt32(dt.Rows[i]["Owner"]));
                        element.Remark   = dt.Rows[i]["Remark"].ToString();
                        element.Flag     = Convert.ToInt32(dt.Rows[i]["Flag"]);
                        elements.Add(element);
                    }
                }
            }
            return(elements);
        }
示例#2
0
        public List <DocObject> GetAllDocObjects()
        {
            List <DocObject> elements = new List <DocObject>();
            string           sql      = "select * from TF_DocObject";
            DataTable        dt       = sqlHelper.Query(sql);

            if (dt != null && dt.Rows.Count > 0)
            {
                FormObjectLogic fol = FormObjectLogic.GetInstance();
                FormItemLogic   fil = FormItemLogic.GetInstance();
                UserLogic       ul  = UserLogic.GetInstance();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DocObject element = new DocObject();
                    element.ID       = Convert.ToInt32(dt.Rows[i]["ID"]);
                    element.Name     = dt.Rows[i]["Name"].ToString();
                    element.Form     = fol.GetFormObject(Convert.ToInt32(dt.Rows[i]["FormID"]));
                    element.DocItems = fil.GetFormItemsByIds(dt.Rows[i]["DocItems"].ToString());
                    element.Owner    = ul.GetUser(Convert.ToInt32(dt.Rows[i]["Owner"]));
                    element.Remark   = dt.Rows[i]["Remark"].ToString();
                    element.Flag     = Convert.ToInt32(dt.Rows[i]["Flag"]);
                    elements.Add(element);
                }
            }
            return(elements);
        }
示例#3
0
        public List <FormObject> GetFormObjectsByUser(User user)
        {
            List <FormObject> elements = new List <FormObject>();
            string            sql      = "select * from TF_FormObject where Owner=" + user.ID;
            DataTable         dt       = sqlHelper.Query(sql);

            if (dt != null && dt.Rows.Count > 0)
            {
                FormTypeLogic ftl = FormTypeLogic.GetInstance();
                FormItemLogic fil = FormItemLogic.GetInstance();
                UserLogic     ul  = UserLogic.GetInstance();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    FormObject element = new FormObject();
                    element.ID        = Convert.ToInt32(dt.Rows[i]["ID"]);
                    element.FormName  = dt.Rows[i]["FormName"].ToString();
                    element.FormType  = ftl.GetFormType(Convert.ToInt32(dt.Rows[i]["FormType"]));
                    element.FormItems = fil.GetFormItemsByIds(dt.Rows[i]["FormItems"].ToString());
                    element.Owner     = ul.GetUser(Convert.ToInt32(dt.Rows[i]["Owner"]));
                    element.Remark    = dt.Rows[i]["Remark"].ToString();
                    elements.Add(element);
                }
            }
            return(elements);
        }
示例#4
0
        public static FormObject GetFormModule(FormObject formObject, User user)
        {
            FormObject module = new FormObject();

            module.ID       = formObject.ID;
            module.FormName = formObject.FormName;
            module.FormType = formObject.FormType;
            if (user != null)
            {
                module.Owner = user;
            }
            else
            {
                module.Owner = formObject.Owner;
            }
            module.Remark    = formObject.Remark;
            module.FormItems = new List <FormItem>();
            foreach (FormItem item in formObject.FormItems)
            {
                FormItem fi = new FormItem();
                fi.ItemName  = item.ItemName;
                fi.ItemType  = item.ItemType;
                fi.ItemValue = "";
                fi.Flag      = item.Flag;
                int id = FormItemLogic.GetInstance().AddFormItem(fi);
                fi.ID = id;
                module.FormItems.Add(fi);
            }
            return(module);
        }
示例#5
0
        public static FormItemLogic GetInstance()
        {
            if (instance == null)
            {
                instance = new FormItemLogic();
            }

            return(instance);
        }
示例#6
0
        private void button1_Click(object sender, EventArgs e)
        {
            FormItem      formItem = formEditControl1.Field;
            FormItemLogic al       = FormItemLogic.GetInstance();
            int           id       = al.AddFormItem(formItem);

            if (id > 0)
            {
                formItem.ID = id;
                LoadFormItems();
                MessageBox.Show("添加成功!");
            }
        }
示例#7
0
        private void button1_Click(object sender, EventArgs e)
        {
            FormItemLogic fil = FormItemLogic.GetInstance();

            foreach (FormItem item in items)
            {
                int id = fil.AddFormItem(item);
                if (id > 0)
                {
                    item.ID = id;
                }
            }
            this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }
示例#8
0
        private void LoadFormItems()
        {
            List <FormItem> elements = FormItemLogic.GetInstance().GetAllFormItems();

            comboBox1.Items.Clear();
            foreach (FormItem element in elements)
            {
                comboBox1.Items.Add(element);
            }
            if (comboBox1.Items.Count > 0)
            {
                comboBox1.SelectedIndex = 0;
            }
            dataGridView1.DataSource = FormItemLogic.GetInstance().GetFormItems(string.Empty);
        }
示例#9
0
        private DataTable Search(string name, string type)
        {
            string nm = "";

            if (!string.IsNullOrEmpty(name) && name.Trim() != "")
            {
                nm = " and ItemName like '%" + name + "%'";
            }
            string ty = "";

            if (type != "--不限--")
            {
                ty = " and ItemType='" + Commons.GetType((SystemType)Enum.Parse(typeof(SystemType), comboBox2.Text)).FullName + "'";
            }
            string where = "(1=1)" + nm + ty;
            return(FormItemLogic.GetInstance().GetFormItems(where));
        }
示例#10
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (comboBox1.SelectedIndex > -1)
     {
         FormItem      formItem = formEditControl1.Field;
         FormItemLogic al       = FormItemLogic.GetInstance();
         if (al.UpdateFormItem(formItem))
         {
             LoadFormItems();
             MessageBox.Show("修改成功!");
         }
     }
     else
     {
         MessageBox.Show("先选定要修改的表单字段!");
     }
 }
示例#11
0
        public FormObject GetFormObject(int id)
        {
            string    sql = "select * from TF_FormObject where ID=" + id;
            DataTable dt  = sqlHelper.Query(sql);

            if (dt != null && dt.Rows.Count > 0)
            {
                FormObject element = new FormObject();
                element.ID        = id;
                element.FormName  = dt.Rows[0]["FormName"].ToString();
                element.FormType  = FormTypeLogic.GetInstance().GetFormType(Convert.ToInt32(dt.Rows[0]["FormType"]));
                element.FormItems = FormItemLogic.GetInstance().GetFormItemsByIds(dt.Rows[0]["FormItems"].ToString());
                element.Owner     = UserLogic.GetInstance().GetUser(Convert.ToInt32(dt.Rows[0]["Owner"]));
                element.Remark    = dt.Rows[0]["Remark"].ToString();
                return(element);
            }
            return(null);
        }
示例#12
0
 private void button3_Click(object sender, EventArgs e)
 {
     if (comboBox1.SelectedIndex > -1)
     {
         if (MessageBox.Show("确定要删除该表单字段?", "删除提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
         {
             FormItem formItem = new FormItem();
             formItem.ID = ((FormItem)comboBox1.SelectedItem).ID;
             if (FormItemLogic.GetInstance().DeleteFormItem(formItem))
             {
                 LoadFormItems();
             }
         }
     }
     else
     {
         MessageBox.Show("先选定要删除的表单字段!");
     }
 }
示例#13
0
        private DocObject GetDocObject()
        {
            string name = textBox1.Text.Trim();

            if (name == "")
            {
                name = "未命名文档";
            }

            DocObject document = new DocObject();

            document.ID     = (doc == null ? 0 : doc.ID);
            document.Name   = name;
            document.Form   = form;
            document.Owner  = this.User;//文档的作者自动更新为最后修改文档的用户
            document.Remark = textBox2.Text;
            FormItemLogic fil = FormItemLogic.GetInstance();

            foreach (Control c in panel2.Controls)
            {
                if (c is DocEditControl)
                {
                    DocEditControl dec  = c as DocEditControl;
                    FormItem       item = dec.Field;
                    int            id   = 0;
                    if (doc != null)
                    {
                        id = fil.SaveFormItem(item);
                    }
                    else
                    {
                        id = fil.AddFormItem(item);
                    }
                    if (id > 0)
                    {
                        item.ID = id;
                        document.DocItems.Add(item);
                    }
                }
            }
            doc = document;
            return(document);
        }
示例#14
0
        public bool DeleteFormObject(FormObject element, User user)
        {
            if (user == null)
            {
                return(false);
            }
            string s       = "(1>1)";
            int    adminId = Common.AdminId;

            if (user.ID == adminId)
            {
                s = "(1=1)";
            }
            string sql = "delete from TF_FormObject where ID=" + element.ID + " and (Owner=" + user.ID + " or " + s + ")";
            int    r   = sqlHelper.ExecuteSql(sql);

            if (r > 0)
            {
                FormItemLogic.GetInstance().DeleteFormItems(FormItemLogic.GetItemString(element.FormItems));
            }
            return(r > 0);
        }
示例#15
0
        public bool DeleteDocObject(DocObject element, User user)
        {
            if (user == null)
            {
                return(false);
            }
            string s       = "(1>1)";
            int    adminId = Common.AdminId;

            if (user.ID == adminId)
            {
                s = "(1=1)";
            }
            string sql = "delete from TF_DocObject where ID=" + element.ID + " and (Owner=" + user.ID + " or " + s + ")";
            int    r   = sqlHelper.ExecuteSql(sql);

            if (r > 0)
            {
                FormItemLogic.GetInstance().DeleteFormItems(FormItemLogic.GetItemString(element.DocItems));//删除字段信息
                AttachmentLogic al = AttachmentLogic.GetInstance();
                foreach (FormItem item in element.DocItems)
                {
                    if (item.ItemType == "System.Object")//是附件,顺带把附件记录也删除
                    {
                        string[] ss = item.ItemValue.Split("|".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                        if (ss.Length > 1)
                        {
                            int id;
                            if (int.TryParse(ss[0], out id))
                            {
                                al.DeleteAttachment(id);
                            }
                        }
                    }
                }
            }
            return(r > 0);
        }
示例#16
0
        public int AddFormObject(FormObject element)
        {
            string s = "";

            if (element.Owner != null)
            {
                s = element.Owner.ID.ToString();
            }
            else
            {
                s = "0";
            }
            string sql = "insert into TF_FormObject (FormName, FormType, FormItems, Owner, Remark) values ('" + element.FormName + "', " + element.FormType.ID + ", '" + FormItemLogic.GetItemString(element.FormItems) + "', " + s + ", '" + element.Remark + "'); select SCOPE_IDENTITY()";
            object obj = sqlHelper.ExecuteSqlReturn(sql);
            int    R;

            if (obj != null && obj != DBNull.Value && int.TryParse(obj.ToString(), out R))
            {
                return(R);
            }
            else
            {
                return(0);
            }
        }
示例#17
0
        /// <summary>
        /// 批量更新
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        public bool UpgradeList(List <FormObject> list, User user)
        {
            if (user == null)
            {
                return(false);
            }
            string s       = "(1>1)";
            int    adminId = Common.AdminId;

            if (user.ID == adminId)
            {
                s = "(1=1)";
            }
            int errCount = 0;

            foreach (FormObject element in list)
            {
                string sqlStr = "if exists (select 1 from TF_FormObject where ID=" + element.ID + ") update TF_FormObject set FormName='" + element.FormName + "', FormType=" + element.FormType.ID + ", FormItems='" + FormItemLogic.GetItemString(element.FormItems) + "', Remark='" + element.Remark + "' where ID=" + element.ID + " and (Owner=" + user.ID + " or " + s + ") else insert into TF_FormObject (FormName, FormType, FormItems, Owner, Remark) values ('" + element.FormName + "', " + element.FormType.ID + ", '" + FormItemLogic.GetItemString(element.FormItems) + "', " + element.Owner.ID + ", '" + element.Remark + "')";
                try
                {
                    sqlHelper.ExecuteSql(sqlStr);
                }
                catch (Exception)
                {
                    errCount++;
                }
            }
            return(errCount == 0);
        }
示例#18
0
        public bool UpdateFormObject(FormObject element, User user)
        {
            if (user == null)
            {
                return(false);
            }
            string s       = "(1>1)";
            int    adminId = Common.AdminId;

            if (user.ID == adminId)
            {
                s = "(1=1)";
            }
            string sql = "update TF_FormObject set FormName='" + element.FormName + "', FormType=" + element.FormType.ID + ", FormItems='" + FormItemLogic.GetItemString(element.FormItems) + "', Remark='" + element.Remark + "' where ID=" + element.ID + " and (Owner=" + user.ID + " or " + s + ")";
            int    r   = sqlHelper.ExecuteSql(sql);

            return(r > 0);
        }