Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculatorSingle.cs =================================================================== diff -u -r4540 -r4689 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculatorSingle.cs (.../DesignCalculatorSingle.cs) (revision 4540) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculatorSingle.cs (.../DesignCalculatorSingle.cs) (revision 4689) @@ -21,6 +21,7 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text; using Deltares.DamEngine.Calculators.KernelWrappers.Common; using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces; @@ -59,6 +60,7 @@ designScenario.CalculationResult = CalculationResult.NoRun; try { + // Perform validation int errorCount = kernelWrapper.Validate(kernelDataInput, kernelDataOutput, out validationMessages); if (errorCount > 0) { @@ -74,7 +76,8 @@ // Perform calculation kernelWrapper.Execute(kernelDataInput, kernelDataOutput, out locationCalculationMessages); } - + bool hasError = locationCalculationMessages.Any(message => message.MessageType == LogMessageType.Error); + designScenario.CalculationResult = hasError ? CalculationResult.RunFailed : CalculationResult.Succeeded; // Process output calculationMessages.AddRange(locationCalculationMessages); var sb = new StringBuilder(); @@ -85,7 +88,6 @@ var resultMessage = sb.ToString(); - designScenario.CalculationResult = CalculationResult.Succeeded; kernelWrapper.PostProcess(damKernelInput, kernelDataOutput, designScenario, resultMessage, out designResults); } catch (Exception exception)