예제 #1
0
 private void AcceptButton_Click(object sender, RoutedEventArgs e)
 {
     //合法性校验
     if (InputVarification() == false)
     {
         return;
     }
     //数据插入数据表
     EditQlevel();
     mainDataSet.UpdateRuntimeDataSet();
     this.DialogResult = true;
     this.Close();
 }
 private void AcceptButton_Click(object sender, RoutedEventArgs e)
 {
     //合法性校验
     if (InputVarification() == false)
     {
         return;
     }
     //数据插入数据表
     if (IsCreateCheckBox.IsChecked == true)
     {
         CreateUserGroup();
     }
     else
     {
         EditUserGroup();
     }
     mainDataSet.UpdateRuntimeDataSet();
     this.DialogResult = true;
     this.Close();
 }
예제 #3
0
        private void TaskDispatch()
        {
            ProcedureStep nextStep;
            UserGroup     curGroup;
            bool          bolIsArchived = false;

            foreach (ProcedureTask curTask in DispatchTasks)
            {
                //物勒工名
                string strLog;
                strLog = "\nStep: " + curTask.CurrentStep.Name + " Handler: " + curTask.Handler.Name + ";";
                //从原handler任务列表中删除
                curTask.Handler.HandleTasks.Remove(curTask);
                curTask.Description += strLog;
                //获取下一步Handler
                nextStep = curTask.CurrentStep.NextStep;
                if (nextStep == null)
                {
                    //完成,存入归档数据库
                    mainDataSet.ArchiveTask(curTask);
                    bolIsArchived = true;
                    continue;
                }
                curTask.CurrentStep = nextStep;
                if (nextStep.IsFeedback == false)
                {
                    //获取负责人组(单向)
                    curGroup = nextStep.HandleRole;
                    //智能分配负责人(双向)
                    curTask.Handler = GetHandler(curGroup);
                }
                else
                {
                    //如果是反馈步骤,则不挂接处理人组,直接反馈给提交者
                    curTask.Handler = curTask.Submitter;
                }
                curTask.Handler.HandleTasks.Add(curTask);
                curTask.Status = "Process";
            }
            mainDataSet.UpdateRuntimeDataSet();
            if (bolIsArchived == true)
            {
                mainDataSet.UpdateArchiveDataSet();
            }
        }