Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationImporter.cs =================================================================== diff -u -r65c74eaad22b576971bae588c9793d76950b8cad -r0bae0773243658d37a619b2904879e11c6aebe82 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationImporter.cs (.../ClosingStructuresCalculationConfigurationImporter.cs) (revision 65c74eaad22b576971bae588c9793d76950b8cad) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationImporter.cs (.../ClosingStructuresCalculationConfigurationImporter.cs) (revision 0bae0773243658d37a619b2904879e11c6aebe82) @@ -119,128 +119,13 @@ private bool TrySetStochasts(ClosingStructuresCalculationConfiguration readCalculation, StructuresCalculation calculation) { - if (!readCalculation.ValidateStructureBaseStochasts(Log)) - { - return false; - } - if (!ValidateStochasts(readCalculation)) - { - return false; - } + var assigner = new ClosingStructuresCalculationStochastAssigner( + readCalculation, + calculation); - string calculationName = calculation.Name; - ClosingStructuresInput input = calculation.InputParameters; - return ConfigurationImportHelper.TrySetStandardDeviationStochast( - ClosingStructuresConfigurationSchemaIdentifiers.LevelCrestStructureNotClosingStochastName, - calculationName, - input, - readCalculation.LevelCrestStructureNotClosing, - i => i.LevelCrestStructureNotClosing, - (i, d) => i.LevelCrestStructureNotClosing = d, - Log) - && ConfigurationImportHelper.TrySetStandardDeviationStochast( - ClosingStructuresConfigurationSchemaIdentifiers.AreaFlowAperturesStochastName, - calculationName, - input, - readCalculation.AreaFlowApertures, - i => i.AreaFlowApertures, - (i, d) => i.AreaFlowApertures = d, - Log) - && ConfigurationImportHelper.TrySetStandardDeviationStochast( - ClosingStructuresConfigurationSchemaIdentifiers.DrainCoefficientStochastName, - calculationName, - input, - readCalculation.DrainCoefficient, - i => i.DrainCoefficient, - (i, d) => i.DrainCoefficient = d, - Log) - && ConfigurationImportHelper.TrySetStandardDeviationStochast( - ClosingStructuresConfigurationSchemaIdentifiers.InsideWaterLevelStochastName, - calculationName, - input, - readCalculation.InsideWaterLevel, - i => i.InsideWaterLevel, - (i, d) => i.InsideWaterLevel = d, - Log) - && ConfigurationImportHelper.TrySetStandardDeviationStochast( - ClosingStructuresConfigurationSchemaIdentifiers.ThresholdHeightOpenWeirStochastName, - calculationName, - input, - readCalculation.ThresholdHeightOpenWeir, - i => i.ThresholdHeightOpenWeir, - (i, d) => i.ThresholdHeightOpenWeir = d, - Log) - && ConfigurationImportHelper.TrySetStandardDeviationStochast( - ConfigurationSchemaIdentifiers.AllowedLevelIncreaseStorageStochastName, - calculationName, - input, - readCalculation.AllowedLevelIncreaseStorage, - i => i.AllowedLevelIncreaseStorage, - (i, d) => i.AllowedLevelIncreaseStorage = d, - Log) - && ConfigurationImportHelper.TrySetStandardDeviationStochast( - ConfigurationSchemaIdentifiers.FlowWidthAtBottomProtectionStochastName, - calculationName, - input, - readCalculation.FlowWidthAtBottomProtection, - i => i.FlowWidthAtBottomProtection, - (i, d) => i.FlowWidthAtBottomProtection = d, - Log) - && ConfigurationImportHelper.TrySetStandardDeviationStochast( - ConfigurationSchemaIdentifiers.ModelFactorSuperCriticalFlowStochastName, - calculationName, - input, - readCalculation.ModelFactorSuperCriticalFlow, - i => i.ModelFactorSuperCriticalFlow, - (i, d) => i.ModelFactorSuperCriticalFlow = d, - Log) - && ConfigurationImportHelper.TrySetStandardDeviationStochast( - ConfigurationSchemaIdentifiers.WidthFlowAperturesStochastName, - calculationName, - input, - readCalculation.WidthFlowApertures, - i => i.WidthFlowApertures, - (i, d) => i.WidthFlowApertures = d, - Log) - && ConfigurationImportHelper.TrySetVariationCoefficientStochast( - ConfigurationSchemaIdentifiers.CriticalOvertoppingDischargeStochastName, - calculationName, - input, - readCalculation.CriticalOvertoppingDischarge, - i => i.CriticalOvertoppingDischarge, - (i, d) => i.CriticalOvertoppingDischarge = d, - Log) - && ConfigurationImportHelper.TrySetVariationCoefficientStochast( - ConfigurationSchemaIdentifiers.StorageStructureAreaStochastName, - calculationName, - input, - readCalculation.StorageStructureArea, - i => i.StorageStructureArea, - (i, d) => i.StorageStructureArea = d, - Log) - && ConfigurationImportHelper.TrySetVariationCoefficientStochast( - ConfigurationSchemaIdentifiers.StormDurationStochastName, - calculationName, - input, - readCalculation.StormDuration, - i => i.StormDuration, - (i, d) => i.StormDuration = d, - Log); + return assigner.Assign(); } - private bool ValidateStochasts(ClosingStructuresCalculationConfiguration configuration) - { - if (configuration.DrainCoefficient?.StandardDeviation != null - || configuration.DrainCoefficient?.VariationCoefficient != null) - { - Log.LogCalculationConversionError( - RingtoetsCommonIOResources.StructuresCalculationStochastAssigner_ValidateStochasts_Cannot_define_spread_for_DrainCoefficient, - configuration.Name); - return false; - } - return true; - } - /// /// Sets the orientation. ///