Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs =================================================================== diff -u -r1965 -r2041 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 1965) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 2041) @@ -68,27 +68,37 @@ for (int locationIndex = 0; locationIndex < damProjectData.Dike.Locations.Count; locationIndex++) { var location = damProjectData.Dike.Locations[locationIndex].Copy(); - for (int subSoilScenarioIndex = 0; subSoilScenarioIndex < location.Segment.SoilProfileProbabilities.Count; subSoilScenarioIndex++) + if (location.Segment.SoilProfileProbabilities.Count == 0) { - var soiProfileProbability = location.Segment.SoilProfileProbabilities[subSoilScenarioIndex]; - for (int designScenarioIndex = 0; designScenarioIndex < location.Scenarios.Count; designScenarioIndex++) + var message = new LogMessage(); + message.Message = string.Format(Resources.DesignCalculatorNoSoilProfilesAvailableForLocation, location.Name); + message.MessageType = LogMessageType.Warning; + damProjectData.CalculationMessages.Add(message); + } + else + { + for (int subSoilScenarioIndex = 0; subSoilScenarioIndex < location.Segment.SoilProfileProbabilities.Count; subSoilScenarioIndex++) { - DesignScenario designScenario = location.Scenarios[designScenarioIndex]; - designScenario.Location = location; - var projectPath = damProjectData.ProjectPath != "" ? damProjectData.ProjectPath : Directory.GetCurrentDirectory(); - var designResults = new List(); - var calculationMessages = new List(); - designCalculatorTasks.Add(new DesignCalculatorTask() + var soiProfileProbability = location.Segment.SoilProfileProbabilities[subSoilScenarioIndex]; + for (int designScenarioIndex = 0; designScenarioIndex < location.Scenarios.Count; designScenarioIndex++) { - Location = location, - SoiProfileProbability = soiProfileProbability, - DesignScenario = designScenario, - ProjectPath = projectPath, - CalculationMap = damProjectData.CalculationMap, - FailureMechanismeCalculationSpecification = damProjectData.DamProjectCalculationSpecification.CurrentSpecification.Copy(), - DesignResults = designResults, - CalculationMessages = calculationMessages - }); + DesignScenario designScenario = location.Scenarios[designScenarioIndex]; + designScenario.Location = location; + var projectPath = damProjectData.ProjectPath != "" ? damProjectData.ProjectPath : Directory.GetCurrentDirectory(); + var designResults = new List(); + var calculationMessages = new List(); + designCalculatorTasks.Add(new DesignCalculatorTask() + { + Location = location, + SoiProfileProbability = soiProfileProbability, + DesignScenario = designScenario, + ProjectPath = projectPath, + CalculationMap = damProjectData.CalculationMap, + FailureMechanismeCalculationSpecification = damProjectData.DamProjectCalculationSpecification.CurrentSpecification.Copy(), + DesignResults = designResults, + CalculationMessages = calculationMessages + }); + } } } } Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/TestFiles/MacroStabilityNoProfilesInputFile.xml =================================================================== diff -u --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/TestFiles/MacroStabilityNoProfilesInputFile.xml (revision 0) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/TestFiles/MacroStabilityNoProfilesInputFile.xml (revision 2041) @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx =================================================================== diff -u -r1983 -r2041 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 1983) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 2041) @@ -297,4 +297,7 @@ Prepare of calculator for Macro Stability did not succeed + + No soil profiles available for location '{0}' + \ No newline at end of file Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs =================================================================== diff -u -r1983 -r2041 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 1983) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 2041) @@ -236,6 +236,15 @@ } /// + /// Looks up a localized string similar to No soil profiles available for location '{0}'. + /// + internal static string DesignCalculatorNoSoilProfilesAvailableForLocation { + get { + return ResourceManager.GetString("DesignCalculatorNoSoilProfilesAvailableForLocation", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Location '{0}', subsoil scenario '{1}', design scenario '{2}': The preparation for this calculation failed.. /// internal static string DesignCalculatorPrepareError { Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs =================================================================== diff -u -r1974 -r2041 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 1974) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/MacroStabilityInwardsTests.cs (.../MacroStabilityInwardsTests.cs) (revision 2041) @@ -860,6 +860,39 @@ } } + [Test] + [SetUICulture("nl-NL")] + public void TestGiveFeedBackWhenNoProfilesAreAvailable() + { + // Based on "dam/IssueRelatedData/MWDAM-1341/HHNK Leggerstudie\DAM Leggerstudie.defx" + // Import as Design -Primary dike: "DAM Leggerstudie.defx" + // Select first location and start calculation + // xml file is created with rev.2039 + const string calcDir = "TestGiveFeedBackWhenNoProfilesAreAvailable"; + if (Directory.Exists(calcDir)) + { + Directory.Delete(calcDir, true); // delete previous results + } + + Directory.CreateDirectory(calcDir); + + const string fileName = @"TestFiles\MacroStabilityNoProfilesInputFile.xml"; + string inputString = File.ReadAllText(fileName); + inputString = XmlAdapter.ChangeValueInXml(inputString, "ProjectPath", ""); // Current directory will be used + inputString = XmlAdapter.ChangeValueInXml(inputString, "CalculationMap", calcDir); // Current directory will be used + EngineInterface engineInterface = new EngineInterface(inputString); + Assert.IsNotNull(engineInterface.DamProjectData); + + string outputString = engineInterface.Run(); + + Assert.IsNotNull(outputString); + var output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + Assert.AreEqual(null, output.Results.CalculationResults.DesignResults); + Assert.AreEqual(1, output.Results.CalculationMessages.Length); + Assert.AreEqual(MessageMessageType.Warning, output.Results.CalculationMessages[0].MessageType); + Assert.AreEqual("Geen ondergrond profielen beschikbaar voor locatie '12-2_027'", output.Results.CalculationMessages[0].Message1); + } + private string ChangeInputModel(string input, InputStabilityModelType modelType) { string pattern = "StabilityModelType=\"Bishop\""; Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj =================================================================== diff -u -r2037 -r2041 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj (.../Deltares.DamEngine.IntegrationTests.csproj) (revision 2037) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/Deltares.DamEngine.IntegrationTests.csproj (.../Deltares.DamEngine.IntegrationTests.csproj) (revision 2041) @@ -86,6 +86,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx =================================================================== diff -u -r1983 -r2041 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 1983) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 2041) @@ -294,4 +294,7 @@ Voorbereiding van het rekenhart voor Macrostabiliteit is niet geslaagd. + + Geen ondergrond profielen beschikbaar voor locatie '{0}' + \ No newline at end of file