// If your activity returns a value, derive from CodeActivity<TResult> // and return the value from the Execute method. protected override void Execute(NativeActivityContext context) { ActivityResult result = (ActivityResult)context.GetValue <Object>(stepInfo); var step = (JQ.QA.Model.WF_StepInfo)result.Data; step.State = 1; step.IsProcessed = true; IWF_StepInfoService stepInfoService = new WF_StepInfoService(); stepInfoService.EditEntity(step); //Create next step JQ.QA.Model.WF_StepInfo nextStep = new JQ.QA.Model.WF_StepInfo() { Comment = string.Empty, FlowTo = -1, State = (short)WFEnum.WFStateEnum.IsComplete, InstanceId = Guid.Empty, IsStartStep = false, ParentStepID = step.ID, ProcessBy = (int)step.FlowTo, ProcessTime = DateTime.Now, WF_InstanceID = step.WF_InstanceID, SubTime = DateTime.Now, StepResult = (short)WFEnum.WFEnum.IsPass }; if (result.Result == (short)WFEnum.WFEnum.IsPass) { nextStep.StepName = "To Finance Dep, end of workflow."; nextStep.IsEndStep = true; nextStep.IsProcessed = true; step.WF_Instance.Status = (short)WFEnum.WFStateEnum.IsComplete; stepInfoService.AddEntity(nextStep); stepInfoService.EditEntity(step); result.Result = (short)WFEnum.WFEnum.IsPass; result.NextStepBookMarkName = nextStep.StepName; } else { step.IsProcessed = true; result.Data = step; result.Result = (short)WFEnum.WFEnum.IsReject; result.NextStepBookMarkName = ""; } context.SetValue(NextStepName, result.NextStepBookMarkName); context.SetValue(StepNodeResult, result); }
// If your activity returns a value, derive from CodeActivity<TResult> // and return the value from the Execute method. protected override void Execute(NativeActivityContext context) { //Get the result of the last step and update its state. ActivityResult result = (ActivityResult)context.GetValue <object>(StepInfo); var step = (JQ.QA.Model.WF_StepInfo)result.Data; step.State = 1; //Set the state as an active workflow. step.IsProcessed = true; step.SubTime = DateTime.Now; IWF_StepInfoService stepService = new WF_StepInfoService(); stepService.EditEntity(step); //Create next step JQ.QA.Model.WF_StepInfo nextStep = new JQ.QA.Model.WF_StepInfo() { Comment = string.Empty, FlowTo = 0, InstanceId = Guid.Empty, IsStartStep = false, ParentStepID = step.ID, ProcessBy = (int)step.FlowTo, State = 0, SubTime = DateTime.Now, IsEndStep = false, ProcessTime = DateTime.Now, WF_InstanceID = step.WF_InstanceID }; if (result.Result == (short)WFEnum.WFEnum.IsPass) { nextStep.StepName = "End of the workflow"; nextStep.IsEndStep = true; nextStep.IsProcessed = true; //Set the instance status as finished. step.WF_Instance.Status = 1; stepService.EditEntity(step); } else { nextStep.StepName = "Initiate Application"; nextStep.IsStartStep = true; nextStep.IsProcessed = false; } result.Data = nextStep; result.NextStepBookMarkName = nextStep.StepName; }