Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateStrategy.cs =================================================================== diff -u -r92549be285a5082435e9625732cf33ff50cd60b9 -r2939615955f7dc0d299fd1baa7b2c7dafcca3db2 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateStrategy.cs (.../RingtoetsPipingSurfaceLineUpdateStrategy.cs) (revision 92549be285a5082435e9625732cf33ff50cd60b9) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateStrategy.cs (.../RingtoetsPipingSurfaceLineUpdateStrategy.cs) (revision 2939615955f7dc0d299fd1baa7b2c7dafcca3db2) @@ -25,6 +25,7 @@ using Core.Common.Base; using Core.Common.Utils; using Ringtoets.Piping.Data; +using Ringtoets.Piping.Forms; using Ringtoets.Piping.IO.Importers; using Ringtoets.Piping.Plugin.Properties; using Ringtoets.Piping.Primitives; @@ -166,12 +167,38 @@ { RingtoetsPipingSurfaceLine matchingSurfaceLine = readSurfaceLines.Single(sl => sl.Name == updatedSurfaceLine.Name); updatedSurfaceLine.Update(matchingSurfaceLine); + affectedObjects.Add(updatedSurfaceLine); + affectedObjects.AddRange(UpdateAvailableStochasticSoilModels(updatedSurfaceLine)); } return affectedObjects; } + private IEnumerable UpdateAvailableStochasticSoilModels(RingtoetsPipingSurfaceLine updatedSurfaceLine) + { + IEnumerable affectedCalculations = + failureMechanism.Calculations + .Cast() + .Where(calc => ReferenceEquals(updatedSurfaceLine, calc.InputParameters.SurfaceLine)); + + var affectedObjects = new List(); + foreach (PipingCalculation affectedCalculation in affectedCalculations) + { + IEnumerable matchingSoilModels = GetAvailableStochasticSoilModels(updatedSurfaceLine); + PipingInputService.SetMatchingStochasticSoilModel(affectedCalculation.InputParameters, matchingSoilModels); + affectedObjects.Add(affectedCalculation); + affectedObjects.Add(affectedCalculation.InputParameters); + } + return affectedObjects; + } + + private IEnumerable GetAvailableStochasticSoilModels(RingtoetsPipingSurfaceLine surfaceLine) + { + return PipingCalculationConfigurationHelper.GetStochasticSoilModelsForSurfaceLine(surfaceLine, + failureMechanism.StochasticSoilModels); + } + #endregion ///