/// <summary> /// 初始化添加过程(在添加流程的同时添加开始结束过程) /// </summary> private void addprocess(string wfid) { Model.process beginprocess = new Book.Model.process(); //开始过程 beginprocess.processId = Guid.NewGuid().ToString(); Model.process finishprocess = new Book.Model.process(); //结束过程 finishprocess.processId = Guid.NewGuid().ToString(); #region add begin process beginprocess.WorkflowId = wfid; beginprocess.descript = "开始"; beginprocess.number = 0; beginprocess.andrule = "全拒绝"; beginprocess.processname = "开始"; beginprocess.Processnex = finishprocess.processId; beginprocess.processType = "开始"; processmanage.Insert(beginprocess); #endregion #region add finish process finishprocess.WorkflowId = wfid; finishprocess.Processpre = beginprocess.processId; finishprocess.processname = "结束"; finishprocess.number = 0; finishprocess.andrule = "全拒绝"; finishprocess.processType = "结束"; finishprocess.descript = "结束"; processmanage.Insert(finishprocess); #endregion }
//重写 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; } }