Added generic overloads

This commit is contained in:
Sipke Schoorstra 2019-01-01 22:29:51 +01:00
parent 57875e3aa3
commit ecaf551c99
4 changed files with 14 additions and 12 deletions

View file

@ -24,7 +24,7 @@ namespace Elsa.Activities.Primitives.Handlers
public override LocalizedString Description => T["Iterate over a list of items."];
public IStringLocalizer<ForEachHandler> T { get; }
public override IEnumerable<LocalizedString> GetEndpoints() => Endpoints(T["Next"], T["Done"]);
protected override IEnumerable<LocalizedString> GetEndpoints() => Endpoints(T["Next"], T["Done"]);
protected override async Task<ActivityExecutionResult> OnExecuteAsync(ForEach activity, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken)
{

View file

@ -24,7 +24,7 @@ namespace Elsa.Activities.Primitives.Handlers
public override LocalizedString Description => T["Evaluate a boolean condition and continues execution based on the outcome."];
public IStringLocalizer<IfElseHandler> T { get; }
public override IEnumerable<LocalizedString> GetEndpoints() => Endpoints(T["True"], T["False"]);
protected override IEnumerable<LocalizedString> GetEndpoints() => Endpoints(T["True"], T["False"]);
protected override async Task<ActivityExecutionResult> OnExecuteAsync(IfElse activity, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken)
{

View file

@ -16,25 +16,27 @@ namespace Elsa.Handlers
public virtual LocalizedString DisplayText => new LocalizedString(ActivityType.Name, ActivityType.Name);
public virtual LocalizedString Description => new LocalizedString("", "");
public Task<bool> CanExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnCanExecuteAsync(activityContext, workflowContext, cancellationToken);
public Task<ActivityExecutionResult> ExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnExecuteAsync(activityContext, workflowContext, cancellationToken);
public Task<ActivityExecutionResult> ExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnExecuteAsync(activityContext, workflowContext, cancellationToken);
public Task<ActivityExecutionResult> ResumeAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnResumeAsync(activityContext, workflowContext, cancellationToken);
protected virtual Task<bool> OnCanExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnCanExecuteAsync((T)activityContext.Activity, workflowContext, cancellationToken);
protected virtual Task<bool> OnCanExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnCanExecuteAsync((T) activityContext.Activity, workflowContext, cancellationToken);
protected virtual Task<bool> OnCanExecuteAsync(T activity, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => Task.FromResult(OnCanExecute(activity, workflowContext));
protected virtual Task<ActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnExecuteAsync((T)activityContext.Activity, workflowContext, cancellationToken);
protected virtual Task<ActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnExecuteAsync((T) activityContext.Activity, workflowContext, cancellationToken);
protected virtual Task<ActivityExecutionResult> OnExecuteAsync(T activity, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => Task.FromResult(OnExecute(activity, workflowContext));
protected virtual Task<ActivityExecutionResult> OnResumeAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => Task.FromResult(OnResume(activityContext, workflowContext));
protected virtual Task<ActivityExecutionResult> OnResumeAsync(T activity, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => Task.FromResult(OnResume(activity, workflowContext));
protected virtual bool OnCanExecute(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnCanExecute((T)activityContext.Activity, workflowContext);
protected virtual bool OnCanExecute(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnCanExecute((T) activityContext.Activity, workflowContext);
protected virtual bool OnCanExecute(T activity, WorkflowExecutionContext workflowContext) => true;
protected virtual ActivityExecutionResult OnExecute(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnExecute((T)activityContext.Activity, workflowContext);
protected virtual ActivityExecutionResult OnExecute(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnExecute((T) activityContext.Activity, workflowContext);
protected virtual ActivityExecutionResult OnExecute(T activity, WorkflowExecutionContext workflowContext) => Noop();
protected virtual ActivityExecutionResult OnResume(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnResume((T)activityContext.Activity, workflowContext);
protected virtual ActivityExecutionResult OnResume(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnResume((T) activityContext.Activity, workflowContext);
protected virtual ActivityExecutionResult OnResume(T activity, WorkflowExecutionContext workflowContext) => Noop();
protected NoopResult Noop() => new NoopResult();
protected IEnumerable<LocalizedString> Endpoints(params LocalizedString[] endpoints) => endpoints;
public virtual IEnumerable<LocalizedString> GetEndpoints(IActivity activity) => Endpoints();
public virtual IEnumerable<LocalizedString> GetEndpoints() => Endpoints(GetEndpoint());
protected virtual LocalizedString GetEndpoint(IActivity activity) => GetEndpoint();
public virtual IEnumerable<LocalizedString> GetEndpoints(IActivity activity) => GetEndpoints((T) activity);
protected virtual IEnumerable<LocalizedString> GetEndpoints(T activity) => Endpoints(GetEndpoint());
protected virtual IEnumerable<LocalizedString> GetEndpoints() => Endpoints(GetEndpoint());
protected virtual LocalizedString GetEndpoint(IActivity activity) => GetEndpoint((T) activity);
protected virtual LocalizedString GetEndpoint(T activity) => GetEndpoint();
protected virtual LocalizedString GetEndpoint() => new LocalizedString("Done", "Done", true);
}
}

View file

@ -16,7 +16,7 @@ namespace Elsa.Handlers
public IStringLocalizer<UnknownActivityHandler> T { get; }
public override LocalizedString Category => T["System"];
public override IEnumerable<LocalizedString> GetEndpoints() => Enumerable.Empty<LocalizedString>();
protected override IEnumerable<LocalizedString> GetEndpoints() => Enumerable.Empty<LocalizedString>();
protected override ActivityExecutionResult OnExecute(UnknownActivity activity, WorkflowExecutionContext workflowContext)
{