Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs
===================================================================
diff -u -r2901 -r2903
--- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs (.../DamProject.cs) (revision 2901)
+++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs (.../DamProject.cs) (revision 2903)
@@ -339,7 +339,7 @@
{
if (DamProjectData.VersionInfo.FileVersionAsRead < DamProjectData.VersionInfo.FileVersion)
{
- string message = LocalizationManager.GetTranslatedText(this, "OpenProjectWarningFileVersion_0");
+ string message = LocalizationManager.GetTranslatedText(this, "OpenProjectWarningFileVersion");
LogManager.Messages.Add(new LogMessage(LogMessageType.Warning, DamProjectData, message));
BackwardCompatibility.Update(DamProjectData, this.ProjectFileName, DamProjectData.VersionInfo.FileVersionAsRead);
}
Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml
===================================================================
diff -u -r2871 -r2903
--- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml (.../Translations.xml) (revision 2871)
+++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml (.../Translations.xml) (revision 2903)
@@ -596,5 +596,5 @@
-
+
\ No newline at end of file
Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/IO/BackwardCompatibility.cs
===================================================================
diff -u -r2883 -r2903
--- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/IO/BackwardCompatibility.cs (.../BackwardCompatibility.cs) (revision 2883)
+++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/IO/BackwardCompatibility.cs (.../BackwardCompatibility.cs) (revision 2903)
@@ -38,14 +38,31 @@
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(projectFileName);
- XmlNodeList locationNodes = xmlDocument.GetElementsByTagName("Subject");
+ XmlNodeList locationNodes;
+ locationNodes = xmlDocument.GetElementsByTagName("Subject");
+ bool isDamLiveProject = false;
+ if (locationNodes.Count == 0)
+ {
+ isDamLiveProject = true;
+ locationNodes = xmlDocument.GetElementsByTagName("Location");
+ }
foreach (XmlNode node in locationNodes)
{
- var attributeType = node.Attributes?["type"];
- if ((attributeType != null) && (attributeType.Value == "Deltares.Dam.Data.Location"))
+ bool isCorrectLocation = isDamLiveProject;
+ if (!isCorrectLocation)
{
+ var attributeType = node.Attributes?["type"];
+ isCorrectLocation =
+ (attributeType != null) && (attributeType.Value == "Deltares.Dam.Data.Location");
+ }
+ if (isCorrectLocation)
+ {
var attributeName = node.Attributes?["Name"];
var location = damProjectData.WaterBoard.Dikes[0].Locations.Find(item => item.Name.Equals(attributeName.Value));
+
+ // Older DamLive projects do not have scenarios defined, so add them if needed
+ AddScenarioIfNoScenariosDefined(location);
+
double? value;
if (fileVersion <= 1)
{
@@ -66,6 +83,18 @@
}
}
+ private static void AddScenarioIfNoScenariosDefined(Location location)
+ {
+ if (location.Scenarios.Count == 0)
+ {
+ location.Scenarios.Add(new Scenario()
+ {
+ RiverLevel = 0.0,
+ RiverLevelLow = 0.0
+ });
+ }
+ }
+
private static double? AttributeValueFromNode(XmlNode node, string attributeName)
{
double? value = null;