public async Task <IWorkflowResult <AssigneeWorkflowResult> > ApproveAsync(ApproveHolidayViewModel model) { var holiday = await FindOrCreate(model.Id); var triggerParam = new TriggerParam(HolidayApprovalWorkflow.APPROVE_TRIGGER, holiday) .AddVariableWithKey <ApproveHolidayViewModel>(model); var triggerResult = await this._workflowEngine.TriggerAsync(triggerParam); var info = await this._workflowEngine.ToWorkflowTriggerInfo(holiday, triggerResult); var viewModel = new AssigneeWorkflowResult(holiday.Assignee); return(new WorkflowResult <Holiday, AssigneeWorkflowResult>(info, holiday, viewModel)); }
public async Task <IWorkflowResult <AssigneeWorkflowResult> > ProcessAsync(IssueViewModel model) { var issue = await FindOrCreate(model.Id); var triggerParam = new TriggerParam(model.Trigger, issue) .AddVariableWithKey <IssueViewModel>(model); var triggerResult = await this._workflowEngine.TriggerAsync(triggerParam); var info = await this._workflowEngine.ToWorkflowTriggerInfo(issue, triggerResult); var viewModel = new AssigneeWorkflowResult(issue.Assignee); return(new WorkflowResult <Issue, AssigneeWorkflowResult>(info, issue, viewModel)); }
public async Task <IWorkflowResult <AssigneeWorkflowResult> > ApplyAsync(ApplyHolidayViewModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var holiday = await FindOrCreate(null); holiday.Superior = "alice"; var triggerParam = new TriggerParam(HolidayApprovalWorkflow.APPLY_TRIGGER, holiday) .AddVariableWithKey <ApplyHolidayViewModel>(model); var triggerResult = await this._workflowEngine.TriggerAsync(triggerParam); var info = await this._workflowEngine.ToWorkflowTriggerInfo(holiday, triggerResult); var viewModel = new AssigneeWorkflowResult(holiday.Assignee); return(new WorkflowResult <Holiday, AssigneeWorkflowResult>(info, holiday, viewModel)); }