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); }
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)); }
private async Task <dynamic> BuildActivityShapeAsync(IActivity activity, CancellationToken cancellationToken) { return(await activityShapeFactory.BuildDesignShapeAsync(activity, cancellationToken)); }