public static OperationResult <TNext> ContinueOnSuccess <TPrev, TNext>(this OperationResult <TPrev> prevOperationResult, Func <TPrev, OperationResult <TNext> > nextOperation)
 => prevOperationResult.AssertNotNull(nameof(prevOperationResult))
 .IsSuccess
         ? prevOperationResult
 .Continue(x => nextOperation.AssertNotNull(nameof(nextOperation))
           .Invoke(prevOperationResult.Value))
         : prevOperationResult.AsFailure <TNext>();
 public static Task <OperationResult <TNext> > ContinueOnSuccessAsync <TPrev, TNext>(this OperationResult <TPrev> prevOperationResult, AsyncFunc <TPrev, OperationResult <TNext> > nextOperation)
 => prevOperationResult.AssertNotNull(nameof(prevOperationResult))
 .IsSuccess
         ? prevOperationResult
 .ContinueAsync(x => nextOperation.AssertNotNull(nameof(nextOperation))
                .Invoke(prevOperationResult.Value))
         : Task.FromResult(prevOperationResult.AsFailure <TNext>());
Ejemplo n.º 3
0
 public static OperationResult <TPrimary> Do <TPrimary, TSecondary>(this OperationResult <TPrimary> primaryOperationResult, OperationResult <TSecondary> secondaryOperationResult)
 => secondaryOperationResult.AssertNotNull(nameof(secondaryOperationResult))
 .IsSuccess
             ? primaryOperationResult
             : secondaryOperationResult.AsFailure <TPrimary>();
Ejemplo n.º 4
0
 public static Task <OperationResult <TPrimary> > DoAsync <TPrimary, TSecondary>(this Task <OperationResult <TPrimary> > primaryOperationResult, OperationResult <TSecondary> secondaryOperationResult)
 => secondaryOperationResult.AssertNotNull(nameof(secondaryOperationResult))
 .IsSuccess
             ? primaryOperationResult
             : Task.FromResult(secondaryOperationResult.AsFailure <TPrimary>());
 public static OperationResult <TNext> ContinueOnSuccess <TNext>(this OperationResult prevOperationResult, Func <OperationResult <TNext> > nextOperation)
 => prevOperationResult.AssertNotNull(nameof(prevOperationResult))
 .IsSuccess
         ? prevOperationResult
 .Continue(nextOperation)
         : prevOperationResult.AsFailure <TNext>();