Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.Designer.cs =================================================================== diff -u -rfea3ed82dfb6dfcad535eef16efcbaa9c01564ed -rd41c64af372c44d81c66ed5bf25a9469816f3f48 --- Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision fea3ed82dfb6dfcad535eef16efcbaa9c01564ed) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision d41c64af372c44d81c66ed5bf25a9469816f3f48) @@ -91,15 +91,6 @@ } /// - /// Looks up a localized string similar to Validatie mislukt: {0}. - /// - internal static string Error_in_piping_validation_0 { - get { - return ResourceManager.GetString("Error_in_piping_validation_0", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Meerdere aaneengesloten watervoerende lagen gevonden. Er wordt geprobeerd de korrelgrootte en doorlatendheid van de bovenste watervoerende laag af te leiden.. /// internal static string PipingCalculationService_GetInputWarnings_Multiple_aquifer_layers_Attempt_to_determine_values_for_DiameterD70_and_DarcyPermeability_from_top_layer { Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.resx =================================================================== diff -u -r2beed1614ecded5cc316f6deeb8d4b2e7fc73d28 -rd41c64af372c44d81c66ed5bf25a9469816f3f48 --- Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.resx (.../Resources.resx) (revision 2beed1614ecded5cc316f6deeb8d4b2e7fc73d28) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.resx (.../Resources.resx) (revision d41c64af372c44d81c66ed5bf25a9469816f3f48) @@ -120,9 +120,6 @@ Piping berekening niet gelukt: {0} - - Validatie mislukt: {0} - Kan de dikte van het watervoerend pakket niet afleiden op basis van de invoer. Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Service/IWaveConditionsCalculationService.cs =================================================================== diff -u -r3a89e41054c6cfe6babdc150e8282cbe4a6dc672 -rd41c64af372c44d81c66ed5bf25a9469816f3f48 --- Ringtoets/Revetment/src/Ringtoets.Revetment.Service/IWaveConditionsCalculationService.cs (.../IWaveConditionsCalculationService.cs) (revision 3a89e41054c6cfe6babdc150e8282cbe4a6dc672) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.Service/IWaveConditionsCalculationService.cs (.../IWaveConditionsCalculationService.cs) (revision d41c64af372c44d81c66ed5bf25a9469816f3f48) @@ -35,8 +35,8 @@ /// Error and status information is logged during the execution of the operation. /// /// The that holds the information required to perform a calculation. - /// The to determine the if a hydraulic boundary - /// database was loaded, and the validity of the database connection + /// The to determine if a hydraulic boundary + /// database was loaded, and validates the file path of the database. /// The name of the calculation to validate. /// False if given parameters result in validation errors; /// True otherwise. Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Service/Properties/Resources.Designer.cs =================================================================== diff -u -r3a89e41054c6cfe6babdc150e8282cbe4a6dc672 -rd41c64af372c44d81c66ed5bf25a9469816f3f48 --- Ringtoets/Revetment/src/Ringtoets.Revetment.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 3a89e41054c6cfe6babdc150e8282cbe4a6dc672) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision d41c64af372c44d81c66ed5bf25a9469816f3f48) @@ -84,28 +84,28 @@ /// /// Looks up a localized string similar to Kan geen waterstanden afleiden op basis van de invoer. Controleer de opgegeven boven- en ondergrenzen.. /// - internal static string WaveConditionsCalculationService_ValidateInput_No_derived_waterlevels { + internal static string WaveConditionsCalculationService_ValidateInput_No_derived_WaterLevels { get { - return ResourceManager.GetString("WaveConditionsCalculationService_ValidateInput_No_derived_waterlevels", resourceCulture); + return ResourceManager.GetString("WaveConditionsCalculationService_ValidateInput_No_derived_WaterLevels", resourceCulture); } } /// /// Looks up a localized string similar to Kan het toetspeil niet afleiden op basis van de invoer.. /// - internal static string WaveConditionsCalculationService_ValidateInput_No_designwaterlevel_selected { + internal static string WaveConditionsCalculationService_ValidateInput_No_DesignWaterLevel_calculated { get { - return ResourceManager.GetString("WaveConditionsCalculationService_ValidateInput_No_designwaterlevel_selected", resourceCulture); + return ResourceManager.GetString("WaveConditionsCalculationService_ValidateInput_No_DesignWaterLevel_calculated", resourceCulture); } } /// /// Looks up a localized string similar to Er is geen hydraulische randvoorwaardenlocatie geselecteerd.. /// - internal static string WaveConditionsCalculationService_ValidateInput_No_hydraulic_boundary_location_selected { + internal static string WaveConditionsCalculationService_ValidateInput_No_HydraulicBoundaryLocation_selected { get { - return ResourceManager.GetString("WaveConditionsCalculationService_ValidateInput_No_hydraulic_boundary_location_sel" + - "ected", resourceCulture); + return ResourceManager.GetString("WaveConditionsCalculationService_ValidateInput_No_HydraulicBoundaryLocation_selec" + + "ted", resourceCulture); } } Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Service/Properties/Resources.resx =================================================================== diff -u -r3a89e41054c6cfe6babdc150e8282cbe4a6dc672 -rd41c64af372c44d81c66ed5bf25a9469816f3f48 --- Ringtoets/Revetment/src/Ringtoets.Revetment.Service/Properties/Resources.resx (.../Resources.resx) (revision 3a89e41054c6cfe6babdc150e8282cbe4a6dc672) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.Service/Properties/Resources.resx (.../Resources.resx) (revision d41c64af372c44d81c66ed5bf25a9469816f3f48) @@ -120,13 +120,13 @@ Berekening '{0}' voor waterstand '{1}' is niet gelukt. - + Er is geen hydraulische randvoorwaardenlocatie geselecteerd. - + Kan het toetspeil niet afleiden op basis van de invoer. - + Kan geen waterstanden afleiden op basis van de invoer. Controleer de opgegeven boven- en ondergrenzen. \ No newline at end of file Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationService.cs =================================================================== diff -u -r3b9088c00c08d2d55eeb857a6a21a4c43b90fd60 -rd41c64af372c44d81c66ed5bf25a9469816f3f48 --- Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationService.cs (.../WaveConditionsCalculationService.cs) (revision 3b9088c00c08d2d55eeb857a6a21a4c43b90fd60) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.Service/WaveConditionsCalculationService.cs (.../WaveConditionsCalculationService.cs) (revision d41c64af372c44d81c66ed5bf25a9469816f3f48) @@ -66,26 +66,9 @@ public bool Validate(WaveConditionsInput input, HydraulicBoundaryDatabase hydraulicBoundaryDatabase, string name) { - CalculationServiceHelper.LogValidationBeginTime(name); + return CalculationServiceHelper.PerformValidation(name, + () => ValidateAllInputs(hydraulicBoundaryDatabase, input)); - string databaseValidationErrorMessage = ValidateHydraulicBoundaryDatabase(hydraulicBoundaryDatabase); - if (!string.IsNullOrEmpty(databaseValidationErrorMessage)) - { - CalculationServiceHelper.LogMessagesAsError(RingtoetsCommonServiceResources.Error_in_validation_0, databaseValidationErrorMessage); - CalculationServiceHelper.LogValidationEndTime(name); - return false; - } - - string validationErrorMessage = ValidateWaveConditionsInput(input); - if (!string.IsNullOrEmpty(validationErrorMessage)) - { - CalculationServiceHelper.LogMessagesAsError(RingtoetsCommonServiceResources.Error_in_validation_0, validationErrorMessage); - CalculationServiceHelper.LogValidationEndTime(name); - return false; - } - - CalculationServiceHelper.LogValidationEndTime(name); - return true; } public WaveConditionsOutput Calculate(RoundedDouble waterLevel, @@ -158,6 +141,23 @@ return input.UseForeshore ? input.ForeshoreGeometry.Select(c => new HydraRingForelandPoint(c.X, c.Y)) : new HydraRingForelandPoint[0]; } + private static string[] ValidateAllInputs(HydraulicBoundaryDatabase hydraulicBoundaryDatabase, WaveConditionsInput input) + { + string message = ValidateHydraulicBoundaryDatabase(hydraulicBoundaryDatabase); + if (!string.IsNullOrEmpty(message)) + { + return new[]{message}; + } + + message = ValidateWaveConditionsInput(input); + if (!string.IsNullOrEmpty(message)) + { + return new[]{message}; + } + + return Enumerable.Empty().ToArray(); + } + private static string ValidateHydraulicBoundaryDatabase(HydraulicBoundaryDatabase hydraulicBoundaryDatabase) { if (hydraulicBoundaryDatabase == null) @@ -179,17 +179,17 @@ { if (input.HydraulicBoundaryLocation == null) { - return Resources.WaveConditionsCalculationService_ValidateInput_No_hydraulic_boundary_location_selected; + return Resources.WaveConditionsCalculationService_ValidateInput_No_HydraulicBoundaryLocation_selected; } if (double.IsNaN(input.HydraulicBoundaryLocation.DesignWaterLevel)) { - return Resources.WaveConditionsCalculationService_ValidateInput_No_designwaterlevel_selected; + return Resources.WaveConditionsCalculationService_ValidateInput_No_DesignWaterLevel_calculated; } if (!input.WaterLevels.Any()) { - return Resources.WaveConditionsCalculationService_ValidateInput_No_derived_waterlevels; + return Resources.WaveConditionsCalculationService_ValidateInput_No_derived_WaterLevels; } return null; Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Forms.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r8e0924d08a2377125c21114d088b6091bf1eb5fc -rd41c64af372c44d81c66ed5bf25a9469816f3f48 --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Forms.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs) (revision 8e0924d08a2377125c21114d088b6091bf1eb5fc) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Forms.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs) (revision d41c64af372c44d81c66ed5bf25a9469816f3f48) @@ -715,8 +715,9 @@ assessmentSection.Stub(a => a.FailureMechanismContribution).Return( new FailureMechanismContribution(Enumerable.Empty(), 30, 2)); - var calculation = new StabilityStoneCoverWaveConditionsCalculation + var calculationA = new StabilityStoneCoverWaveConditionsCalculation { + Name = "A", InputParameters = { HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "", 1, 1) @@ -731,9 +732,26 @@ } }; + var calculationB = new StabilityStoneCoverWaveConditionsCalculation + { + Name = "B", + InputParameters = + { + HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "", 1, 1) + { + DesignWaterLevel = (RoundedDouble) 12.0 + }, + LowerBoundaryRevetment = (RoundedDouble) 1.0, + UpperBoundaryRevetment = (RoundedDouble) 10.0, + StepSize = WaveConditionsInputStepSize.One, + LowerBoundaryWaterLevels = (RoundedDouble) 1.0, + UpperBoundaryWaterLevels = (RoundedDouble) 10.0 + } + }; + var group = new CalculationGroup(); - group.Children.Add(calculation); - group.Children.Add(calculation); + group.Children.Add(calculationA); + group.Children.Add(calculationB); var failureMechanism = new StabilityStoneCoverFailureMechanism(); failureMechanism.AddSection(new FailureMechanismSection("", new[] @@ -770,10 +788,10 @@ { var messages = m.ToArray(); Assert.AreEqual(4, messages.Length); - StringAssert.StartsWith("Validatie van 'Nieuwe berekening' gestart om: ", messages[0]); - StringAssert.StartsWith("Validatie van 'Nieuwe berekening' beëindigd om: ", messages[1]); - StringAssert.StartsWith("Validatie van 'Nieuwe berekening' gestart om: ", messages[2]); - StringAssert.StartsWith("Validatie van 'Nieuwe berekening' beëindigd om: ", messages[3]); + StringAssert.StartsWith("Validatie van 'A' gestart om: ", messages[0]); + StringAssert.StartsWith("Validatie van 'A' beëindigd om: ", messages[1]); + StringAssert.StartsWith("Validatie van 'B' gestart om: ", messages[2]); + StringAssert.StartsWith("Validatie van 'B' beëindigd om: ", messages[3]); }); } }