private static bool ResolveSuccessByPolicy(OperationResult[] operationResults, int successfulOpResCounter, AggregationPolicyEnum aggregationPolicy) { if (aggregationPolicy == AggregationPolicyEnum.Any) { return(successfulOpResCounter > 0); } return(successfulOpResCounter == operationResults.Length); }
public OperationResult Evaluate(OperationResult[] operationResults, AggregationPolicyEnum aggregationPolicy) { operationResults.Analayze(out var errorsMessageBuilder, out var failedOpResCounter, out var successfulOpResCounter); var success = failedOpResCounter == 0 || ResolveSuccessByPolicy(operationResults, successfulOpResCounter, aggregationPolicy); return(new OperationResult(success, errorMessage: errorsMessageBuilder?.ToString())); }