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()));
        }