Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }