Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Design/DesignScenario.cs =================================================================== diff -u -r4412 -r4426 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Design/DesignScenario.cs (.../DesignScenario.cs) (revision 4412) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Design/DesignScenario.cs (.../DesignScenario.cs) (revision 4426) @@ -278,8 +278,43 @@ /// The head PL4. /// public double? HeadPl4 { get; set; } - + /// + /// Clone the input part of the current scenario to a new instance + /// + /// + /// + public DesignScenario CloneInput(string locationName) + { + // Synchronize scenario data (Note: do not attempt to synchronize the ModelFactors as these are set by the direct + // properties in the scenario such as the Required Safeties. ModelFactors is just a place holder. + var newCurrentScenario = new DesignScenario(); + newCurrentScenario.LocationName = locationName; + newCurrentScenario.LocationScenarioID = LocationScenarioID; + newCurrentScenario.PolderLevel = PolderLevel; + newCurrentScenario.RiverLevel = RiverLevel; + newCurrentScenario.RiverLevelLow = RiverLevelLow; + newCurrentScenario.DikeTableHeight = DikeTableHeight; + newCurrentScenario.RequiredSafetyFactorStabilityInnerSlope = RequiredSafetyFactorStabilityInnerSlope; + newCurrentScenario.RequiredSafetyFactorStabilityOuterSlope = RequiredSafetyFactorStabilityOuterSlope; + newCurrentScenario.RequiredSafetyFactorPiping = RequiredSafetyFactorPiping; + newCurrentScenario.UpliftCriterionPiping = UpliftCriterionPiping; + newCurrentScenario.UpliftCriterionStability = UpliftCriterionStability; + newCurrentScenario.PlLineOffsetBelowDikeTopAtPolder = PlLineOffsetBelowDikeTopAtPolder; + newCurrentScenario.PlLineOffsetBelowDikeTopAtRiver = PlLineOffsetBelowDikeTopAtRiver; + newCurrentScenario.PlLineOffsetBelowShoulderBaseInside = PlLineOffsetBelowShoulderBaseInside; + newCurrentScenario.PlLineOffsetBelowDikeToeAtPolder = PlLineOffsetBelowDikeToeAtPolder; + newCurrentScenario.UsePlLineOffsetBelowDikeCrestMiddle = UsePlLineOffsetBelowDikeCrestMiddle; + newCurrentScenario.PlLineOffsetBelowDikeCrestMiddle = PlLineOffsetBelowDikeCrestMiddle; + newCurrentScenario.UsePlLineOffsetFactorBelowShoulderCrest = UsePlLineOffsetFactorBelowShoulderCrest; + newCurrentScenario.PlLineOffsetFactorBelowShoulderCrest = PlLineOffsetFactorBelowShoulderCrest; + newCurrentScenario.HeadPl2 = HeadPl2; + newCurrentScenario.HeadPl3 = HeadPl3; + newCurrentScenario.HeadPl4 = HeadPl4; + return newCurrentScenario; + } + + /// /// Clears the errors. /// public void ClearErrors() Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs =================================================================== diff -u -r4422 -r4426 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 4422) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 4426) @@ -373,7 +373,7 @@ { // Synchronize scenario data (Note: do not attempt to synchronize the ModelFactors as these are set by the direct // properties in the scenario such as the Required Safeties. ModelFactors is just a place holder. - location.CurrentScenario = location.SynchronizeCurrentScenarioWithScenarioData(designScenario); + location.CurrentScenario = designScenario.CloneInput(location.Name); location.Scenarios.Clear(); location.PlLineOffsetBelowDikeToeAtPolder = designScenario.PlLineOffsetBelowDikeToeAtPolder; location.PlLineOffsetBelowDikeTopAtPolder = designScenario.PlLineOffsetBelowDikeTopAtPolder; Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs =================================================================== diff -u -r4412 -r4426 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs (.../OperationalCalculator.cs) (revision 4412) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs (.../OperationalCalculator.cs) (revision 4426) @@ -592,7 +592,7 @@ { if (designScenario != null) { - location.CurrentScenario = location.SynchronizeCurrentScenarioWithScenarioData(designScenario); + location.CurrentScenario = designScenario.CloneInput(location.Name); location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = designScenario.RequiredSafetyFactorStabilityInnerSlope; location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs =================================================================== diff -u -r4412 -r4426 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs (.../Location.cs) (revision 4412) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs (.../Location.cs) (revision 4426) @@ -36,7 +36,7 @@ { // Added initial value as these properties must be tested for real values on import - // Start of parameters that are also defined in modelparameters + // Start of parameters that are also defined in ModelParameters private string name = ""; private SensorLocation sensorLocation; @@ -446,40 +446,6 @@ /// public DesignScenario CurrentScenario { get; set; } - public DesignScenario SynchronizeCurrentScenarioWithScenarioData(DesignScenario designScenario) - { - // Synchronize scenario data (Note: do not attempt to synchronize the ModelFactors as these are set by the direct - // properties in the scenario such as the Required Safeties. ModelFactors is just a place holder. - var newCurrentScenario = new DesignScenario(); - newCurrentScenario.LocationName = Name; - newCurrentScenario.LocationScenarioID = designScenario.LocationScenarioID; - newCurrentScenario.PolderLevel = designScenario.PolderLevel; - newCurrentScenario.RiverLevel = designScenario.RiverLevel; - newCurrentScenario.RiverLevelLow = designScenario.RiverLevelLow; - newCurrentScenario.DikeTableHeight = designScenario.DikeTableHeight; - newCurrentScenario.RequiredSafetyFactorStabilityInnerSlope = - designScenario.RequiredSafetyFactorStabilityInnerSlope; - newCurrentScenario.RequiredSafetyFactorStabilityOuterSlope = - designScenario.RequiredSafetyFactorStabilityOuterSlope; - newCurrentScenario.RequiredSafetyFactorPiping = designScenario.RequiredSafetyFactorPiping; - newCurrentScenario.UpliftCriterionPiping = designScenario.UpliftCriterionPiping; - newCurrentScenario.UpliftCriterionStability = designScenario.UpliftCriterionStability; - newCurrentScenario.PlLineOffsetBelowDikeTopAtPolder = designScenario.PlLineOffsetBelowDikeTopAtPolder; - newCurrentScenario.PlLineOffsetBelowDikeTopAtRiver = designScenario.PlLineOffsetBelowDikeTopAtRiver; - newCurrentScenario.PlLineOffsetBelowShoulderBaseInside = - designScenario.PlLineOffsetBelowShoulderBaseInside; - newCurrentScenario.PlLineOffsetBelowDikeToeAtPolder = designScenario.PlLineOffsetBelowDikeToeAtPolder; - newCurrentScenario.UsePlLineOffsetBelowDikeCrestMiddle = - designScenario.UsePlLineOffsetBelowDikeCrestMiddle; - newCurrentScenario.PlLineOffsetBelowDikeCrestMiddle = designScenario.PlLineOffsetBelowDikeCrestMiddle; - newCurrentScenario.UsePlLineOffsetFactorBelowShoulderCrest = designScenario.UsePlLineOffsetFactorBelowShoulderCrest; - newCurrentScenario.PlLineOffsetFactorBelowShoulderCrest = designScenario.PlLineOffsetFactorBelowShoulderCrest; - newCurrentScenario.HeadPl2 = designScenario.HeadPl2; - newCurrentScenario.HeadPl3 = designScenario.HeadPl3; - newCurrentScenario.HeadPl4 = designScenario.HeadPl4; - return newCurrentScenario; - } - /// /// Gets or sets the type of the dam project. ///