Index: Riskeer/Piping/src/Riskeer.Piping.Service/Probabilistic/ProbabilisticPipingCalculationService.cs =================================================================== diff -u -rc83c9a034596ebd85ec7a403f83c75bfd23abffa -r5b3b027a635753b053c5c1ca87b09bd42fc7e907 --- Riskeer/Piping/src/Riskeer.Piping.Service/Probabilistic/ProbabilisticPipingCalculationService.cs (.../ProbabilisticPipingCalculationService.cs) (revision c83c9a034596ebd85ec7a403f83c75bfd23abffa) +++ Riskeer/Piping/src/Riskeer.Piping.Service/Probabilistic/ProbabilisticPipingCalculationService.cs (.../ProbabilisticPipingCalculationService.cs) (revision 5b3b027a635753b053c5c1ca87b09bd42fc7e907) @@ -420,15 +420,15 @@ { string[] messages = ValidateHydraulicBoundaryDatabase(assessmentSection).ToArray(); - if (messages.Any()) + if (messages.Length > 0) { CalculationServiceHelper.LogMessagesAsError(messages); return true; } messages = ValidateInput(calculation.InputParameters, generalInput).ToArray(); - if (messages.Any()) + if (messages.Length > 0) { CalculationServiceHelper.LogMessagesAsError(messages); return true; Index: Riskeer/Piping/src/Riskeer.Piping.Service/SemiProbabilistic/SemiProbabilisticPipingCalculationService.cs =================================================================== diff -u -re2b60a183f95fefe71686ac319c22bb7ad644bca -r5b3b027a635753b053c5c1ca87b09bd42fc7e907 --- Riskeer/Piping/src/Riskeer.Piping.Service/SemiProbabilistic/SemiProbabilisticPipingCalculationService.cs (.../SemiProbabilisticPipingCalculationService.cs) (revision e2b60a183f95fefe71686ac319c22bb7ad644bca) +++ Riskeer/Piping/src/Riskeer.Piping.Service/SemiProbabilistic/SemiProbabilisticPipingCalculationService.cs (.../SemiProbabilisticPipingCalculationService.cs) (revision 5b3b027a635753b053c5c1ca87b09bd42fc7e907) @@ -66,27 +66,13 @@ CalculationServiceHelper.LogValidationBegin(); - CalculationServiceHelper.LogMessagesAsWarning(PipingCalculationValidationHelper.GetValidationWarnings(calculation.InputParameters).ToArray()); + LogAnyWarnings(calculation); - string[] inputValidationResults = ValidateInput(calculation.InputParameters, generalInput, normativeAssessmentLevel).ToArray(); + bool hasErrors = LogAnyErrors(calculation, generalInput, normativeAssessmentLevel); - if (inputValidationResults.Length > 0) - { - CalculationServiceHelper.LogMessagesAsError(inputValidationResults); - CalculationServiceHelper.LogValidationEnd(); - return false; - } - - List validationResults = new PipingCalculator(CreateInputFromData(calculation.InputParameters, - generalInput, - normativeAssessmentLevel), - PipingSubCalculatorFactory.Instance).Validate(); - - CalculationServiceHelper.LogMessagesAsError(validationResults.ToArray()); - CalculationServiceHelper.LogValidationEnd(); - return validationResults.Count == 0; + return !hasErrors; } /// @@ -147,6 +133,33 @@ } } + private static void LogAnyWarnings(SemiProbabilisticPipingCalculation calculation) + { + CalculationServiceHelper.LogMessagesAsWarning(PipingCalculationValidationHelper.GetValidationWarnings(calculation.InputParameters).ToArray()); + } + + private static bool LogAnyErrors(SemiProbabilisticPipingCalculation calculation, GeneralPipingInput generalInput, RoundedDouble normativeAssessmentLevel) + { + string[] messages = ValidateInput(calculation.InputParameters, generalInput, normativeAssessmentLevel).ToArray(); + + if (messages.Length > 0) + { + CalculationServiceHelper.LogMessagesAsError(messages); + return true; + } + + messages = new PipingCalculator(CreateInputFromData(calculation.InputParameters, generalInput, normativeAssessmentLevel), + PipingSubCalculatorFactory.Instance).Validate().ToArray(); + + if (messages.Length > 0) + { + CalculationServiceHelper.LogMessagesAsError(messages); + return true; + } + + return false; + } + private static List ValidateInput(SemiProbabilisticPipingInput input, GeneralPipingInput generalInput, RoundedDouble normativeAssessmentLevel) { var validationResults = new List();