Ejemplo n.º 1
0
        private async Task <dynamic> BuildActivityShapeAsync(Workflow workflow, IActivity activity, CancellationToken cancellationToken)
        {
            var shape = (dynamic)await activityShapeFactory.BuildDesignShapeAsync(activity, cancellationToken);

            var logEntries = workflow.ExecutionLog.Where(x => x.ActivityId == activity.Id).OrderBy(x => x.Timestamp).ToList();

            shape.LogEntries           = logEntries;
            shape.BlockingActivities   = workflow.BlockingActivities;
            shape.HasExecuted          = logEntries.Any();
            shape.HasFaulted           = logEntries.Any(x => x.Faulted);
            shape.IsBlocking           = workflow.BlockingActivities.Any(x => x.Id == activity.Id);
            shape.WorkflowIsDefinition = workflow.IsDefinition();

            return(shape);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Update(string activityName, [FromForm] ActivityEditorUpdateModel model, CancellationToken cancellationToken)
        {
            var activity = await workflowTokenizer.DetokenizeActivityAsync(JToken.Parse(model.ActivityJson ?? "{}"), cancellationToken);

            var editorShape = await displayManager.UpdateEditorAsync(activity, this, false);

            if (!ModelState.IsValid)
            {
                return(View("Edit", new ActivityEditorEditViewModel
                {
                    ActivityJson = JsonConvert.SerializeObject(activity),
                    ActivityEditorShape = editorShape
                }));
            }

            dynamic designShape = await activityShapeFactory.BuildDesignShapeAsync(activity, cancellationToken);

            return(View("Display", designShape));
        }
Ejemplo n.º 3
0
 private async Task <dynamic> BuildActivityShapeAsync(IActivity activity, CancellationToken cancellationToken)
 {
     return(await activityShapeFactory.BuildDesignShapeAsync(activity, cancellationToken));
 }