Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijerVnkTests.cs =================================================================== diff -u -r1353 -r1354 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijerVnkTests.cs (.../PipingSellmeijerVnkTests.cs) (revision 1353) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/PipingSellmeijerVnkTests.cs (.../PipingSellmeijerVnkTests.cs) (revision 1354) @@ -151,7 +151,13 @@ Assert.AreEqual(CalculationResult.Succeeded, ConversionHelper.ConvertToCalculationResult(output.Results.CalculationResults.DesignResults[0].CalculationResult)); // expected value = -1 because exception was raised for the shoulder width Assert.AreEqual(-1.0, output.Results.CalculationResults.DesignResults[0].PipingDesignResults.SellmeijerVnkFactor, tolerance); - Assert.AreEqual("The new shoulder width is too large to fit in the current surface line.", output.Results.CalculationResults.DesignResults[0].PipingDesignResults.ResultMessage); + Assert.AreEqual("The new shoulder width is too large to fit in the current surface line.", + output.Results.CalculationResults.DesignResults[0].PipingDesignResults.ResultMessage); + Assert.AreEqual("Location Profiel 1, subsoil scenario 'soilprofile_01', design scenario '1': " + + "The calculation failed with error message " + + "'The design was not successful in location 'Profiel 1', soilprofile 'soilprofile_01', " + + "The new shoulder width is too large to fit in the current surface line.'", + output.Results.CalculationMessages[0].Message1); } } Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculatorShoulderPerPoint.cs =================================================================== diff -u -r1353 -r1354 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculatorShoulderPerPoint.cs (.../DesignCalculatorShoulderPerPoint.cs) (revision 1353) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculatorShoulderPerPoint.cs (.../DesignCalculatorShoulderPerPoint.cs) (revision 1354) @@ -135,12 +135,23 @@ } string resultMessage = sb.ToString(); kernelWrapper.PostProcess(damKernelInput, kernelDataOutput, designScenario, resultMessage, out designResults); + + string evaluationMessage; + DesignAdvise designAdvise; + bool designSuccessful = kernelWrapper.EvaluateDesign(damKernelInput, kernelDataInput, kernelDataOutput, out designAdvise, out evaluationMessage); + if (!designSuccessful) + { + throw new DesignCalculatorException(String.Format(Resources.DesignUnsuccessful, + damKernelInput.Location.Name, damKernelInput.SubSoilScenario) + ", " + evaluationMessage); + } } catch (Exception exception) { string resultMessage = exception.Message; kernelWrapper.PostProcess(damKernelInput, kernelDataOutput, designScenario, resultMessage, out designResults); ChangeSafetyFactor(designResults, -1); + throw new DesignCalculatorException(String.Format(Resources.DesignUnsuccessful, + damKernelInput.Location.Name, damKernelInput.SubSoilScenario) + ", " + resultMessage); } finally { @@ -150,15 +161,6 @@ designCalculations.Add(designResult); } } - - string evaluationMessage; - DesignAdvise designAdvise; - bool designSuccessful = kernelWrapper.EvaluateDesign(damKernelInput, kernelDataInput, kernelDataOutput, out designAdvise, out evaluationMessage); - if (!designSuccessful) - { - throw new DesignCalculatorException(String.Format(Resources.DesignUnsuccessful, - damKernelInput.Location.Name, damKernelInput.SubSoilScenario) + ", " + evaluationMessage); - } } private static void ChangeSafetyFactor(List designResults, double safetyFactor)