コード例 #1
0
        public void Save_Click(object sender, AjaxEventArgs e)
        {
            string workItemId = HWorkItemId.Value.ToString();
            IWorkflowSession wflsession = RuntimeContextExamples.GetRuntimeContext().getWorkflowSession();
            IWorkItem wi = wflsession.findWorkItemById(workItemId);
            String sn = (String)wi.TaskInstance.AliveProcessInstance.getProcessInstanceVariable("sn");
            LoanInfoDAO lid = new LoanInfoDAO();
            LoanInfo loanInfo = lid.findBySn(sn);
            loanInfo.SalaryIsReal = Boolean.Parse(salaryIsReal.SelectedItem.Value);
            loanInfo.CreditStatus = Boolean.Parse(creditStatus.SelectedItem.Value);
            loanInfo.RiskEvaluator = riskEvaluator.Text;
            loanInfo.RiskInfoInputDate = DateTime.Parse(riskInfoInputDate.Text);

            //1、首先通过"收入状况是否属实"和"信用状况是否合格"这两项指标来设置RiskFlag流程变量
            if (loanInfo.SalaryIsReal && loanInfo.CreditStatus)
            {
                loanInfo.RiskFlag = false;//false表示风险评估通过
            }
            else
            {
                loanInfo.RiskFlag = true;//表示有风险
            }
            //2、将RiskFlag设置到流程变量
            try
            {
                wi.TaskInstance.AliveProcessInstance.setProcessInstanceVariable("RiskFlag", loanInfo.RiskFlag);
            }
            catch
            {
                throw;
            }

            //3、保存业务数据
            lid.attachDirty(loanInfo);
            try
            {
                if (wi != null)
                {
                    if (wi.ActorId == this.User.Identity.Name)
                    {
                        wi.complete(comments.Text);
                    }
                }
            }
            catch
            {
                throw;
            }
        }
コード例 #2
0
        public void Save_Click(object sender, AjaxEventArgs e)
        {
            LoanInfoDAO loanInfoDAO = new LoanInfoDAO();
            LoanInfo loanInfo=new LoanInfo()
            {
                ApplicantName=applicantName.Text,
                ApplicantId=applicantId.Text,
                Address=address.Text,
                Salary=int.Parse(salary.Text),
                LoanValue=int.Parse(loanValue.Text),
                ReturnDate = returnDate.SelectedDate.ToString("yyyy-MM-dd"),
                Loanteller=loanteller.Text,
                AppInfoInputDate=DateTime.Parse(appInfoInputDate.Text)
            };

            // 一、执行业务业务操作,保存业务数据
            loanInfoDAO.attachDirty(loanInfo);

            // 二、开始执行流程操作
            IWorkflowSession workflowSession = RuntimeContextExamples.GetRuntimeContext().getWorkflowSession();

            try
            {
                // 1、创建流程实例
                IProcessInstance procInst =
                    workflowSession.createProcessInstance("LoanProcess", this.User.Identity.Name);
                // 2、设置流程变量/业务属性字段
                procInst.setProcessInstanceVariable("sn", loanInfo.Sn);// 设置流水号
                procInst.setProcessInstanceVariable("applicantName", loanInfo.ApplicantName);//贷款人姓名
                procInst.setProcessInstanceVariable("loanValue", loanInfo.LoanValue);// 贷款数额

                // 3、启动流程实例,run()方法启动实例并创建第一个环节实例、分派任务
                procInst.run();
            }
            catch
            {
                throw;
            }
        }