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;