public async Task <global::Elsa.Models.WorkflowDefinitionVersion> AddAsync(global::Elsa.Models.WorkflowDefinitionVersion definition, CancellationToken cancellationToken = default) { var entity = Map(definition); await _workflowDefinitionVersionRepository.InsertAsync(entity, cancellationToken : cancellationToken); await _unitOfWorkManager.Current.SaveChangesAsync(cancellationToken); return(Map(entity)); }
public async Task CreateAsync(WorkflowDefinitionCreateDto input) { var workflow = new WorkflowDefinitionVersion( GuidGenerator.Create().ToString(), input.Name, input.Description, input.IsSingleton, input.IsDisabled); workflow.Activities = input.Activities .Select(x => new ActivityDefinition(x.Id, x.Type, x.State, x.Left, x.Top)) .ToList(); workflow.Connections = input.Connections.Select( x => new ConnectionDefinition(GuidGenerator.Create().ToString(), x.SourceActivityId, x.DestinationActivityId, x.Outcome)).ToList(); workflow.IsLatest = true; await _workflowDefinitionVersionRepository.InsertAsync(workflow); }