Beispiel #1
0
        //修改过程
        private void updateprocess()
        {
            Model.process propeocess1  = processM.GetProcessbyid(editprocess.Processpre);
            Model.process nextprocess1 = processM.GetProcessbyid(editprocess.Processpre);
            //修改名称
            if (this.textBox_name.Text != editprocess.processname)
            {
                editprocess.processname = this.textBox_name.Text;
            }
            //修改规则
            if (this.comboBox_rule.Text != editprocess.andrule)
            {
                editprocess.andrule = this.comboBox_rule.Text;
            }
            editprocess.condition = this.comboBox_condition.Text;

            //修改角色
            IList <Model.Role> mrlist = (from Model.Role r in this.mSelectRole
                                         where r.Checked == true
                                         select r).ToList <Model.Role>();

            //删除原有
            this._accepterattribM.DeleteByProcessId(editprocess.processId);
            //新增
            Model.accepterattrib accepter = new Book.Model.accepterattrib();
            foreach (Model.Role r in mrlist)
            {
                accepter.accepterattribID = Guid.NewGuid().ToString();
                accepter.processId        = editprocess.processId;
                accepter.acceptertype     = "个人";
                accepter.RoleId           = r.RoleId;
                this._accepterattribM.Insert(accepter);
            }


            //修改上一过程
            if (this.comboBox_procespre.Text != propeocess1.processname)
            {
                Model.process proprocess2  = processM.SelectProcessbyname(this.comboBox_procespre.Text);
                Model.process nextprocess2 = processM.GetProcessbyid(proprocess2.Processnex);

                editprocess.Processpre = proprocess2.processId;
                editprocess.Processnex = nextprocess2.processId;

                propeocess1.Processnex  = nextprocess1.processId;
                nextprocess1.Processpre = propeocess1.processId;

                proprocess2.Processnex  = editprocess.processId;
                nextprocess2.Processpre = editprocess.processId;

                processM.Update(editprocess);
                processM.Update(propeocess1);
                processM.Update(nextprocess1);
                processM.Update(proprocess2);
                processM.Update(nextprocess2);
                return;
            }
            processM.Update(editprocess);
        }
Beispiel #2
0
        //重写
        protected override void Save()
        {
            if (!this.gridView1.PostEditor() || !this.gridView1.UpdateCurrentRow())
            {
                return;
            }
            switch (action)
            {
            case "insert":
                Model.process preprocess = new Book.Model.process();
                foreach (Model.process pro in processlist)
                {
                    if (pro.processname == this.comboBox_procespre.Text)
                    {
                        preprocess = pro;
                    }
                }
                Model.process nextprocess = processM.GetProcessbyid(preprocess.Processnex);
                //待添加的过程
                Model.process currentproccess = new Book.Model.process();
                currentproccess.WorkflowId = wid;
                currentproccess.processId  = Guid.NewGuid().ToString();
                if (this.checkname(wid, this.textBox_name.Text))
                {
                    currentproccess.processname = this.textBox_name.Text;
                    currentproccess.andrule     = this.comboBox_rule.Text;
                    currentproccess.condition   = this.comboBox_condition.Text;
                    currentproccess.descript    = this.textBox_description.Text;
                    currentproccess.Processpre  = preprocess.processId;
                    currentproccess.Processnex  = nextprocess == null ? null : nextprocess.processId;
                    currentproccess.InsertTime  = DateTime.Now;
                    currentproccess.number      = 1;
                    currentproccess.processType = "中间";
                    preprocess.Processnex       = currentproccess.processId;
                    if (nextprocess != null)
                    {
                        nextprocess.Processpre = currentproccess.processId;
                    }


                    processM.Insert(currentproccess);
                    processM.Update(preprocess);
                    processM.Update(nextprocess);

                    BL.accepterattribManager accepterm = new Book.BL.accepterattribManager();

                    Model.accepterattrib accepter = new Book.Model.accepterattrib();

                    IList <Model.Role> mrlist = (from Model.Role r in this.mSelectRole
                                                 where r.Checked == true
                                                 select r).ToList <Model.Role>();

                    foreach (Model.Role currentRole in mrlist)
                    {
                        accepter.accepterattribID = Guid.NewGuid().ToString();
                        accepter.processId        = currentproccess.processId;
                        accepter.acceptertype     = "个人";
                        accepter.RoleId           = currentRole.RoleId;

                        accepterm.Insert(accepter);
                    }
                }
                break;

            case "update":
                updateprocess();
                break;
            }
        }