public static OperationResult ContinueOnSuccessWhen(this OperationResult prevOperationResult, Predicate condition, Func <OperationResult> nextOperation) => prevOperationResult .ContinueWhen(x => x.IsSuccess && condition.AssertNotNull(nameof(condition)) .Invoke(), nextOperation);
public static Task <OperationResult> BranchOnFailureWhenAsync(this OperationResult currentOperationResult, bool condition, AsyncAction branchAction) => currentOperationResult .BranchWhenAsync(x => x.IsFailure && condition, branchAction);
public static Task <OperationResult> BranchOnFailureWhenAsync(this OperationResult currentOperationResult, Predicate condition, AsyncAction <IOperationError> branchAction) => currentOperationResult .BranchWhenAsync(x => x.IsFailure && condition.AssertNotNull(nameof(condition)) .Invoke(), x => branchAction.AssertNotNull(nameof(branchAction)) .Invoke(x.Error));
public static Task <OperationResult <T> > BranchOnFailureAsync <T>(this OperationResult <T> currentOperationResult, AsyncAction <IOperationError> branchAction) => currentOperationResult .BranchWhenAsync(x => x.IsFailure, x => branchAction.AssertNotNull(nameof(branchAction)) .Invoke(x.Error));
public static OperationResult <T> BranchOnFailureWhen <T>(this OperationResult <T> currentOperationResult, Predicate <IOperationError> condition, Action <IOperationError> branchAction) => currentOperationResult .BranchWhen(x => x.IsFailure && condition.AssertNotNull(nameof(condition)) .Invoke(x.Error), x => branchAction.AssertNotNull(nameof(branchAction)) .Invoke(x.Error));
public static OperationResult ContinueOnSuccessWhen(this OperationResult prevOperationResult, bool condition, Func <OperationResult> nextOperation) => prevOperationResult .ContinueWhen(x => x.IsSuccess && condition, nextOperation);
public static Task <OperationResult <T> > ContinueOnSuccessWhenAsync <T>(this OperationResult <T> prevOperationResult, bool condition, AsyncFunc <OperationResult <T> > nextOperation) => prevOperationResult .ContinueWhenAsync(x => x.IsSuccess && condition, nextOperation);
public static OperationResult BranchOnFailureWhen(this OperationResult currentOperationResult, bool condition, Action <IOperationError> branchAction) => currentOperationResult .BranchWhen(x => x.IsFailure && condition, x => branchAction.AssertNotNull(nameof(branchAction)) .Invoke(x.Error));
public static Task <OperationResult <T> > BranchOnFailureWhenAsync <T>(this OperationResult <T> currentOperationResult, AsyncPredicate condition, Action branchAction) => currentOperationResult .BranchWhenAsync(async x => x.IsFailure && await condition.AssertNotNull(nameof(condition)) .Invoke(), branchAction);
public static Task <OperationResult <T> > ContinueOnFailureAsync <T>(this OperationResult <T> prevOperationResult, AsyncFunc <object, OperationResult <T> > recoveryOperation) => prevOperationResult .ContinueWhenAsync(x => x.IsFailure, x => recoveryOperation.AssertNotNull(nameof(recoveryOperation)) .Invoke(prevOperationResult.Error));
public static OperationResult ContinueOnFailure(this OperationResult prevOperationResult, Func <OperationResult> recoveryOperation) => prevOperationResult .ContinueWhen(x => x.IsFailure, recoveryOperation);
public static Task <OperationResult <T> > ContinueOnFailureAsync <T>(this OperationResult <T> prevOperationResult, AsyncFunc <OperationResult <T> > recoveryOperation) => prevOperationResult .ContinueWhenAsync(x => x.IsFailure, recoveryOperation);
public static OperationResult ContinueOnFailure <T>(this OperationResult <T> prevOperationResult, Func <object, OperationResult> recoveryOperation) => prevOperationResult .ContinueWhen(x => x.IsFailure, x => recoveryOperation.AssertNotNull(nameof(recoveryOperation)) .Invoke(prevOperationResult.Error));
public static OperationResult BranchOnFailure(this OperationResult currentOperationResult, Action branchAction) => currentOperationResult .BranchWhen(x => x.IsFailure, branchAction);
public static OperationResult <T> ContinueOnSuccessWhen <T>(this OperationResult <T> prevOperationResult, bool condition, Func <T, OperationResult <T> > nextOperation) => prevOperationResult .ContinueWhen(x => x.IsSuccess && condition, x => nextOperation.AssertNotNull(nameof(nextOperation)) .Invoke(prevOperationResult.Value));
public static Task <OperationResult <T> > BranchOnFailureWhenAsync <T>(this OperationResult <T> currentOperationResult, AsyncPredicate <IOperationError> condition, AsyncAction <IOperationError> branchAction) => currentOperationResult .BranchWhenAsync(async x => x.IsFailure && await condition.AssertNotNull(nameof(condition)) .Invoke(x.Error), x => branchAction.AssertNotNull(nameof(branchAction)) .Invoke(x.Error));
public static OperationResult <T> ContinueOnSuccessWhen <T>(this OperationResult <T> prevOperationResult, Predicate <T> condition, Func <OperationResult <T> > nextOperation) => prevOperationResult .ContinueWhen(x => x.IsSuccess && condition.AssertNotNull(nameof(condition)) .Invoke(prevOperationResult.Value), nextOperation);
public static OperationResult <T> BranchOnFailureWhen <T>(this OperationResult <T> currentOperationResult, Predicate condition, Action branchAction) => currentOperationResult .BranchWhen(x => x.IsFailure && condition.AssertNotNull(nameof(condition)) .Invoke(), branchAction);
public static Task <OperationResult> ContinueOnSuccessWhenAsync(this OperationResult prevOperationResult, AsyncPredicate condition, AsyncFunc <OperationResult> nextOperation) => prevOperationResult .ContinueWhenAsync(async x => x.IsSuccess && await condition.AssertNotNull(nameof(condition)) .Invoke(), nextOperation);
public static OperationResult BranchOnFailureWhen(this OperationResult currentOperationResult, bool condition, Action branchAction) => currentOperationResult .BranchWhen(x => x.IsFailure && condition, branchAction);
public static Task <OperationResult <T> > ContinueOnSuccessWhenAsync <T>(this OperationResult <T> prevOperationResult, Predicate condition, AsyncFunc <T, OperationResult <T> > nextOperation) => prevOperationResult .ContinueWhenAsync(x => x.IsSuccess && condition.AssertNotNull(nameof(condition)) .Invoke(), x => nextOperation.AssertNotNull(nameof(nextOperation)) .Invoke(prevOperationResult.Value));
public static Task <OperationResult <T> > BranchOnFailureAsync <T>(this OperationResult <T> currentOperationResult, AsyncAction branchAction) => currentOperationResult .BranchWhenAsync(x => x.IsFailure, branchAction);