Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs =================================================================== diff -u -r6404 -r6774 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 6404) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/Dike.cs (.../Dike.cs) (revision 6774) @@ -195,6 +195,8 @@ throw new DikeException("The dike ring has no locations defined"); } + var isValidationFailed = false; + var messageList = new List(); foreach (Location location in Locations) { ValidateLocationForPiping(isPiping, location); @@ -206,17 +208,27 @@ .Concat(validator.ValidateGeometryPointsAreOrdered(location.SurfaceLine)).ToArray(); if (validationResults.Length > 0) { - throw new SurfaceLineException(validationResults[0].Text); + foreach (ValidationResult validationResult in validationResults) + { + messageList.Add(location.SurfaceLine.Name + ": " + validationResult.Text); + } + isValidationFailed = true; } } if (location.Scenarios.Count < 1) { - throw new DikeException("Location " + location.Name + " has no scenarios, at least one scenario is required."); + messageList.Add("Location " + location.Name + " has no scenarios, at least one scenario is required."); + isValidationFailed = true; } ValidateLocationForOperational(isOperational, location); } + + if (isValidationFailed) + { + throw new DikeException(string.Join(Environment.NewLine, messageList)); + } } ///