Index: DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs =================================================================== diff -u -r1159 -r1168 --- DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 1159) +++ DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 1168) @@ -453,6 +453,21 @@ designOptions.NewDepthDitch = location.NewDepthDitch; designOptions.StabilityDesignMethod = ConversionHelper.ConvertToInputStabilityDesignMethod(location.StabilityDesignMethod); inputLocation.DesignOptions = designOptions; + // Modelfactors + if (location.ModelFactors != null) + { + inputLocation.ModelFactors = new LocationModelFactors(); + inputLocation.ModelFactors.RequiredSafetyFactorPipingSpecified = location.ModelFactors.RequiredSafetyFactorPiping.HasValue; + inputLocation.ModelFactors.RequiredSafetyFactorPiping = location.ModelFactors.RequiredSafetyFactorPiping ?? 0.0; + inputLocation.ModelFactors.RequiredSafetyFactorStabilityInnerSlopeSpecified = location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope.HasValue; + inputLocation.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope ?? 0.0; + inputLocation.ModelFactors.RequiredSafetyFactorStabilityOuterSlopeSpecified = location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope.HasValue; + inputLocation.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope ?? 0.0; + inputLocation.ModelFactors.UpliftCriterionPipingSpecified = location.ModelFactors.UpliftCriterionPiping.HasValue; + inputLocation.ModelFactors.UpliftCriterionPiping = location.ModelFactors.UpliftCriterionPiping ?? 0.0; + inputLocation.ModelFactors.UpliftCriterionStabilitySpecified = location.ModelFactors.UpliftCriterionStability.HasValue; + inputLocation.ModelFactors.UpliftCriterionStability = location.ModelFactors.UpliftCriterionStability ?? 0.0; + } inputLocations[i] = inputLocation; } Index: DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs =================================================================== diff -u -r1159 -r1168 --- DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 1159) +++ DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 1168) @@ -396,6 +396,17 @@ location.StabilityDesignMethod = ConversionHelper.ConvertToDamStabilityDesignMethod(designOptions.StabilityDesignMethod); } + // Modelfactors + var modelFactors = inputLocation.ModelFactors; + if (modelFactors != null) + { + location.ModelFactors = new ModelFactors(); + location.ModelFactors.RequiredSafetyFactorPiping = (modelFactors.RequiredSafetyFactorPipingSpecified ? (double?)modelFactors.RequiredSafetyFactorPiping : null); + location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = (modelFactors.RequiredSafetyFactorStabilityInnerSlopeSpecified ? (double?)modelFactors.RequiredSafetyFactorStabilityInnerSlope : null); + location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = (modelFactors.RequiredSafetyFactorStabilityOuterSlopeSpecified ? (double?)modelFactors.RequiredSafetyFactorStabilityOuterSlope : null); + location.ModelFactors.UpliftCriterionPiping = (modelFactors.UpliftCriterionPipingSpecified ? (double?)modelFactors.UpliftCriterionPiping : null); + location.ModelFactors.UpliftCriterionStability = (modelFactors.UpliftCriterionStabilitySpecified ? (double?)modelFactors.UpliftCriterionStability : null); + } dikeLocations.Add(location); } Index: DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs =================================================================== diff -u -r1159 -r1168 --- DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 1159) +++ DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 1168) @@ -234,12 +234,12 @@ location.RedesignDikeHeight = false; location.RedesignDikeShoulder = false; location.ShoulderEmbankmentMaterial = "ShoulderMat" + (i + 1).ToString(); ; - location.StabilityShoulderGrowSlope = 10.0 * i + 0.10; - location.StabilityShoulderGrowDeltaX = 10.0 * i + 0.11; - location.StabilitySlopeAdaptionDeltaX = 10.0 * i + 0.12; - location.SlopeAdaptionStartCotangent = 10.0 * i + 0.13; - location.SlopeAdaptionEndCotangent = 10.0 * i + 0.14; - location.SlopeAdaptionStepCotangent = 10.0 * i + 0.15; + location.StabilityShoulderGrowSlope = 10.0 * i + 0.50; + location.StabilityShoulderGrowDeltaX = 10.0 * i + 0.51; + location.StabilitySlopeAdaptionDeltaX = 10.0 * i + 0.52; + location.SlopeAdaptionStartCotangent = 10.0 * i + 0.53; + location.SlopeAdaptionEndCotangent = 10.0 * i + 0.54; + location.SlopeAdaptionStepCotangent = 10.0 * i + 0.55; location.UseNewDikeTopWidth = true; location.UseNewDikeSlopeInside = true; location.UseNewDikeSlopeOutside = true; @@ -248,18 +248,27 @@ location.UseNewMaxHeightShoulderAsFraction = true; location.UseNewMinDistanceDikeToeStartDitch = true; location.UseNewDitchDefinition = true; - location.NewDikeTopWidth = 10.0 * i + 0.16; - location.NewDikeSlopeInside = 10.0 * i + 0.17; - location.NewDikeSlopeOutside = 10.0 * i + 0.18; - location.NewShoulderTopSlope = 10.0 * i + 0.19; - location.NewShoulderBaseSlope = 10.0 * i + 0.20; - location.NewMaxHeightShoulderAsFraction = 10.0 * i + 0.21; - location.NewMinDistanceDikeToeStartDitch = 10.0 * i + 0.22; + location.NewDikeTopWidth = 10.0 * i + 0.56; + location.NewDikeSlopeInside = 10.0 * i + 0.57; + location.NewDikeSlopeOutside = 10.0 * i + 0.58; + location.NewShoulderTopSlope = 10.0 * i + 0.59; + location.NewShoulderBaseSlope = 10.0 * i + 0.60; + location.NewMaxHeightShoulderAsFraction = 10.0 * i + 0.61; + location.NewMinDistanceDikeToeStartDitch = 10.0 * i + 0.62; location.UseNewDitchDefinition = true; - location.NewWidthDitchBottom = 10.0 * i + 0.23; - location.NewSlopeAngleDitch = 10.0 * i + 0.24; - location.NewDepthDitch = 10.0 * i + 0.25; + location.NewWidthDitchBottom = 10.0 * i + 0.63; + location.NewSlopeAngleDitch = 10.0 * i + 0.64; + location.NewDepthDitch = 10.0 * i + 0.65; location.StabilityDesignMethod = StabilityDesignMethod.SlopeAdaptionBeforeShoulderAdaption; + // ModelFactors + location.ModelFactors = new ModelFactors() + { + RequiredSafetyFactorPiping = 10.0 * i + 0.65, + RequiredSafetyFactorStabilityInnerSlope = 10.0 * i + 0.66, + RequiredSafetyFactorStabilityOuterSlope = 10.0 * i + 0.67, + UpliftCriterionStability = 10.0 * i + 0.68, + UpliftCriterionPiping = 10.0 * i + 0.69 + }; dike.Locations.Add(location); }