Index: Riskeer/Piping/src/Riskeer.Piping.Service/PipingCalculationValidationHelper.cs =================================================================== diff -u -rd8dd6b9fbf7990a92a3d1f60839772cdd653c719 -rc7b2f994269437cbd81a5461137f7d8e84505d80 --- Riskeer/Piping/src/Riskeer.Piping.Service/PipingCalculationValidationHelper.cs (.../PipingCalculationValidationHelper.cs) (revision d8dd6b9fbf7990a92a3d1f60839772cdd653c719) +++ Riskeer/Piping/src/Riskeer.Piping.Service/PipingCalculationValidationHelper.cs (.../PipingCalculationValidationHelper.cs) (revision c7b2f994269437cbd81a5461137f7d8e84505d80) @@ -163,16 +163,17 @@ validationResults.Add(Resources.PipingCalculationService_ValidateInput_Cannot_determine_thickness_aquifer_layer); } - PipingSoilProfile pipingSoilProfile = input.StochasticSoilProfile.SoilProfile; double surfaceLevel = input.SurfaceLine.GetZAtL(input.ExitPointL); - validationResults.AddRange(ValidateAquiferLayers(input, pipingSoilProfile, surfaceLevel)); - validationResults.AddRange(ValidateCoverageLayers(input, generalInput, pipingSoilProfile, surfaceLevel)); + validationResults.AddRange(ValidateAquiferLayers(input, surfaceLevel)); + validationResults.AddRange(ValidateCoverageLayers(input, generalInput, surfaceLevel)); return validationResults; } - private static IEnumerable ValidateAquiferLayers(PipingInput input, PipingSoilProfile pipingSoilProfile, double surfaceLevel) + private static IEnumerable ValidateAquiferLayers(PipingInput input, double surfaceLevel) { + PipingSoilProfile pipingSoilProfile = input.StochasticSoilProfile.SoilProfile; + if (!pipingSoilProfile.GetConsecutiveAquiferLayersBelowLevel(surfaceLevel).Any()) { yield return Resources.PipingCalculationService_ValidateInput_No_aquifer_layer_at_ExitPointL_under_SurfaceLine; @@ -194,8 +195,10 @@ } private static IEnumerable ValidateCoverageLayers(PipingInput input, GeneralPipingInput generalInput, - PipingSoilProfile pipingSoilProfile, double surfaceLevel) + double surfaceLevel) { + PipingSoilProfile pipingSoilProfile = input.StochasticSoilProfile.SoilProfile; + if (pipingSoilProfile.GetConsecutiveCoverageLayersBelowLevel(surfaceLevel).Any()) { LogNormalDistribution thicknessCoverageLayer = DerivedPipingInput.GetThicknessCoverageLayer(input); @@ -206,12 +209,11 @@ { yield return Resources.PipingCalculationService_ValidateInput_Cannot_derive_SaturatedVolumicWeight; } + else if (PipingDesignVariableFactory.GetSaturatedVolumicWeightOfCoverageLayer(input).GetDesignValue() < generalInput.WaterVolumetricWeight) + { + yield return Resources.PipingCalculationService_ValidateInput_SaturatedVolumicWeightCoverageLayer_must_be_larger_than_WaterVolumetricWeight; + } } - - if (PipingDesignVariableFactory.GetSaturatedVolumicWeightOfCoverageLayer(input).GetDesignValue() < generalInput.WaterVolumetricWeight) - { - yield return Resources.PipingCalculationService_ValidateInput_SaturatedVolumicWeightCoverageLayer_must_be_larger_than_WaterVolumetricWeight; - } } }