Add Exception property to WorkflowFault (#283)
This commit is contained in:
parent
d38af75d75
commit
3f153c0f13
|
|
@ -1,8 +1,11 @@
|
|||
namespace Elsa.Models
|
||||
using System;
|
||||
|
||||
namespace Elsa.Models
|
||||
{
|
||||
public class WorkflowFault
|
||||
{
|
||||
public string FaultedActivityId { get; set; }
|
||||
public string Message { get; set; }
|
||||
public Exception Exception { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -89,14 +89,15 @@ namespace Elsa.Services.Models
|
|||
Workflow.Status = WorkflowStatus.Executing;
|
||||
}
|
||||
|
||||
public void Fault(IActivity activity, Exception exception) => Fault(activity, exception.Message);
|
||||
public void Fault(IActivity activity, Exception exception) => Fault(activity, exception.Message, exception);
|
||||
|
||||
public void Fault(IActivity activity, string errorMessage)
|
||||
public void Fault(IActivity activity, string errorMessage, Exception exception = null)
|
||||
{
|
||||
Workflow.FaultedAt = clock.GetCurrentInstant();
|
||||
Workflow.Fault = new WorkflowFault
|
||||
{
|
||||
Message = errorMessage,
|
||||
Exception = exception,
|
||||
FaultedActivity = activity
|
||||
};
|
||||
Workflow.Status = WorkflowStatus.Faulted;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,20 @@
|
|||
namespace Elsa.Services.Models
|
||||
using System;
|
||||
|
||||
namespace Elsa.Services.Models
|
||||
{
|
||||
public class WorkflowFault
|
||||
{
|
||||
public IActivity FaultedActivity { get; set; }
|
||||
public string Message { get; set; }
|
||||
public Exception Exception { get; set; }
|
||||
|
||||
public Elsa.Models.WorkflowFault ToInstance()
|
||||
{
|
||||
return new Elsa.Models.WorkflowFault
|
||||
{
|
||||
FaultedActivityId = FaultedActivity?.Id,
|
||||
Message = Message
|
||||
Message = Message,
|
||||
Exception = Exception
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Elsa.Extensions;
|
||||
|
|
@ -12,9 +12,11 @@ namespace Elsa.Results
|
|||
public class FaultWorkflowResult : ActivityExecutionResult
|
||||
{
|
||||
private readonly string errorMessage;
|
||||
private Exception exception;
|
||||
|
||||
public FaultWorkflowResult(Exception exception) : this(exception.Message)
|
||||
{
|
||||
this.exception = exception;
|
||||
}
|
||||
|
||||
public FaultWorkflowResult(string errorMessage)
|
||||
|
|
@ -35,7 +37,7 @@ namespace Elsa.Results
|
|||
x => x.ActivityFaultedAsync(workflowContext, currentActivity, errorMessage, cancellationToken),
|
||||
logger);
|
||||
|
||||
workflowContext.Fault(workflowContext.CurrentActivity, errorMessage);
|
||||
workflowContext.Fault(workflowContext.CurrentActivity, errorMessage, exception);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue