Index: Ringtoets/Integration/src/Ringtoets.Integration.Service/RingtoetsDataSynchronizationService.cs
===================================================================
diff -u -r3d995a76fbe93cf9801596e6b959e7f5bcde5805 -rebf9ee4894ed003e5756d9c56be1489d54e57695
--- Ringtoets/Integration/src/Ringtoets.Integration.Service/RingtoetsDataSynchronizationService.cs (.../RingtoetsDataSynchronizationService.cs) (revision 3d995a76fbe93cf9801596e6b959e7f5bcde5805)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Service/RingtoetsDataSynchronizationService.cs (.../RingtoetsDataSynchronizationService.cs) (revision ebf9ee4894ed003e5756d9c56be1489d54e57695)
@@ -27,6 +27,8 @@
using Ringtoets.Common.Data.Calculation;
using Ringtoets.GrassCoverErosionInwards.Data;
using Ringtoets.GrassCoverErosionInwards.Service;
+using Ringtoets.GrassCoverErosionOutwards.Data;
+using Ringtoets.GrassCoverErosionOutwards.Service;
using Ringtoets.HeightStructures.Data;
using Ringtoets.HeightStructures.Service;
using Ringtoets.HydraRing.Data;
@@ -121,17 +123,29 @@
/// Clears the output of the hydraulic boundary locations within the .
///
/// The wich contains the locations.
+ /// The which contains the locations of the failure mechanisms.
/// true when one or multiple locations are affected by clearing the output. false otherwise.
/// Thrown when is null.
- public static bool ClearHydraulicBoundaryLocationOutput(HydraulicBoundaryDatabase hydraulicBoundaryDatabase)
+ public static bool ClearHydraulicBoundaryLocationOutput(HydraulicBoundaryDatabase hydraulicBoundaryDatabase, IAssessmentSection assessmentSection)
{
if (hydraulicBoundaryDatabase == null)
{
throw new ArgumentNullException("hydraulicBoundaryDatabase");
}
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException("assessmentSection");
+ }
- var locationAffected = false;
+ var locationsAffected = false;
+ var failureMechanism = assessmentSection.GetFailureMechanisms().First(fm => fm.GetType() == typeof(GrassCoverErosionOutwardsFailureMechanism)) as GrassCoverErosionOutwardsFailureMechanism;
+
+ if (failureMechanism != null)
+ {
+ locationsAffected = GrassCoverErosionOutwardsDataSynchronizationService.ClearHydraulicBoundaryLocationOutput(failureMechanism.GrassCoverErosionOutwardsHydraulicBoundaryLocations);
+ }
+
foreach (var hydraulicBoundaryLocation in hydraulicBoundaryDatabase.Locations
.Where(hydraulicBoundaryLocation =>
!double.IsNaN(hydraulicBoundaryLocation.DesignWaterLevel) ||
@@ -141,10 +155,10 @@
hydraulicBoundaryLocation.WaveHeight = (RoundedDouble) double.NaN;
hydraulicBoundaryLocation.DesignWaterLevelCalculationConvergence = CalculationConvergence.NotCalculated;
hydraulicBoundaryLocation.WaveHeightCalculationConvergence = CalculationConvergence.NotCalculated;
- locationAffected = true;
+ locationsAffected = true;
}
- return locationAffected;
+ return locationsAffected;
}
}
}
\ No newline at end of file