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.
///