Exemple #1
0
        public async Task <IWorkflowResult <NoWorkflowResult> > ApproveAsync(ApproveHolidayViewModel model)
        {
            var holiday = await FindOrCreate(model.Id);

            var triggerParam = new TriggerParam(HolidayApprovalWorkflow.APPROVE_TRIGGER, holiday)
                               .AddVariable(ApproveHolidayViewModel.KEY, model);

            var triggerResult = this._workflowEngine.Trigger(triggerParam);

            var info      = this.ToWorkflowTriggerInfo(holiday, triggerResult);
            var viewModel = new NoWorkflowResult(holiday.Assignee);

            return(new WorkflowResult <Holiday, NoWorkflowResult>(info, holiday, viewModel));
        }
Exemple #2
0
        public async Task <IWorkflowResult <NoWorkflowResult> > 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)
                               .AddVariable(ApplyHolidayViewModel.KEY, model);

            var triggerResult = this._workflowEngine.Trigger(triggerParam);

            var info      = this.ToWorkflowTriggerInfo(holiday, triggerResult);
            var viewModel = new NoWorkflowResult(holiday.Assignee);

            return(new WorkflowResult <Holiday, NoWorkflowResult>(info, holiday, viewModel));
        }