Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs =================================================================== diff -u -r4221 -r4396 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs (.../Location.cs) (revision 4221) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/Location.cs (.../Location.cs) (revision 4396) @@ -445,6 +445,39 @@ /// The current scenario. /// 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.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.