Index: DamClients/DamUI/trunk/src/Dam/Forms/DamPlugin.cs =================================================================== diff -u -r2234 -r2235 --- DamClients/DamUI/trunk/src/Dam/Forms/DamPlugin.cs (.../DamPlugin.cs) (revision 2234) +++ DamClients/DamUI/trunk/src/Dam/Forms/DamPlugin.cs (.../DamPlugin.cs) (revision 2235) @@ -25,6 +25,7 @@ using System.Drawing; using System.IO; using System.Linq; +using System.Reflection; using System.Windows.Forms; using Deltares.Dam.Data; using Deltares.Dam.Data.DamEngineIo; @@ -82,8 +83,6 @@ private CsvExportData lastDesignResult = null; private LocationResult lastLocationResult = null; private LocationJob currentLocationJob = null; - private DamProjectVersionXmlHandler damProjectVersionXmlHandler; - private readonly GridViewControl locationsControl = new GridViewControl { Name = "Locations", ShowToolbar = true, HideUnusedColumns = true @@ -190,8 +189,6 @@ LocalizationManager.CultureChanged += (sender, args) => UpdateNavigatorTopItem(); // for backward compatibility - damProjectVersionXmlHandler = new DamProjectVersionXmlHandler(); - XmlHandler.RegisterObjectHandler(damProjectVersionXmlHandler); XmlHandler.RegisterObjectHandler(new FailureMechanismeParamatersMStabXmlHandler()); // This is to force the version type (Alpha, Pre-Alpha etc.) to be updated @@ -381,18 +378,6 @@ /// public bool IsChartVisible { get; set; } - private string GetMainVersion(string fullVersion) - { - if (fullVersion.Contains(".")) - { - string[] currentVer = fullVersion.Split(".".ToCharArray()); - var main = currentVer[0]; - var sec = currentVer[1]; - return main + "." + sec; - } - return fullVersion; - } - public void Assign(object source) { var projectData = source as DamProjectData; @@ -404,17 +389,6 @@ projectData.ClearResults(); } - var damProjectVersion = damProjectVersionXmlHandler.GetDamProjectVersion(); - damProjectVersion = GetMainVersion(damProjectVersion); - if (damProjectVersion != null) - { - var currentProgramVersion = GetMainVersion(About.Version); - if (!currentProgramVersion.Equals(damProjectVersion)) - { - projectData.ClearResults(); - } - } - initial = false; // var args = Environment.GetCommandLineArgs(); Index: DamClients/DamUI/trunk/src/Dam/Tests/TestHelper/ProjectLoader.cs =================================================================== diff -u -r2168 -r2235 --- DamClients/DamUI/trunk/src/Dam/Tests/TestHelper/ProjectLoader.cs (.../ProjectLoader.cs) (revision 2168) +++ DamClients/DamUI/trunk/src/Dam/Tests/TestHelper/ProjectLoader.cs (.../ProjectLoader.cs) (revision 2235) @@ -34,6 +34,8 @@ { public class ProjectLoader { + private const string currentTestVersion = "19.1"; + private static DamProjectData LoadDike(string projectDataFolder) { var damProject = new DamProject{ DamProjectData = new DamProjectData() }; @@ -54,6 +56,7 @@ { using (var damProject = new DamProject()) { + damProject.SetTestProgramVersion(currentTestVersion); return (damProject.OpenXMLProject(dataFileOrPath) as DamProjectData); } } Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs =================================================================== diff -u -r2234 -r2235 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs (.../DamProject.cs) (revision 2234) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs (.../DamProject.cs) (revision 2235) @@ -29,6 +29,7 @@ using Deltares.Standard.IO.DtoAssembler; using Deltares.Standard.Reflection; using System.IO; +using Deltares.Dam.Data.IO; using Deltares.Geotechnics.Soils; using Deltares.Standard; using Deltares.Standard.IO; @@ -48,7 +49,9 @@ public class DamProject : IDisposable { private string projectFileName; + private string testProgramVersion; private DamProjectData damProjectData; + public static ProjectPathLocation ProjectWorkingPathLocation = ProjectPathLocation.InApplicationMap; public static string UserWorkingPath = DamProject.GetNewTempDirectory(); public static string ProjectMapWorkingPath = DamProject.GetNewTempDirectory(); @@ -222,8 +225,39 @@ project.SaveXMLProject(fileName, null); } + private string GetMainVersion(string fullVersion) + { + if (fullVersion.Contains(".")) + { + string[] currentVer = fullVersion.Split(".".ToCharArray()); + var main = currentVer[0]; + var sec = currentVer[1]; + return main + "." + sec; + } + return fullVersion; + } + + /// + /// Sets the test program version. + /// Note: To be used by unit tests only. + /// + /// The test version. + public void SetTestProgramVersion(string testVersion) + { + testProgramVersion = testVersion; + } + + /// + /// Opens the XML project. + /// + /// Name of the file. + /// public object OpenXMLProject(string fileName) { + // To retrieve file version from xml, add handler. + var damProjectVersionXmlHandler = new DamProjectVersionXmlHandler(); + XmlHandler.RegisterObjectHandler(damProjectVersionXmlHandler); + ClearProject(); this.ProjectFileName = fileName; DataEventPublisher.InvokeWithoutPublishingEvents(() => @@ -238,6 +272,24 @@ ClearProject(); damProjectData.DamProjectType = DamProjectType.AssessOld; } + else + { + var damProjectVersion = damProjectVersionXmlHandler.GetDamProjectVersion(); + damProjectVersion = GetMainVersion(damProjectVersion); + if (damProjectVersion != null) + { + var currentProgramVersion = About.Version; + if (currentProgramVersion == null) + { + currentProgramVersion = testProgramVersion; + } + currentProgramVersion = GetMainVersion(currentProgramVersion); + if (!currentProgramVersion.Equals(damProjectVersion)) + { + damProjectData.ClearResults(); + } + } + } //var LVersion = xmlSerializer.xmlDocument.Version; // Project still needs a reference to soilmaterials database; to be resolved later UpdateSoilDatabaseReferences(damProjectFolder); Index: DamClients/DamUI/trunk/src/Dam/Tests/LoadCompatiblityTest.cs =================================================================== diff -u -r2168 -r2235 --- DamClients/DamUI/trunk/src/Dam/Tests/LoadCompatiblityTest.cs (.../LoadCompatiblityTest.cs) (revision 2168) +++ DamClients/DamUI/trunk/src/Dam/Tests/LoadCompatiblityTest.cs (.../LoadCompatiblityTest.cs) (revision 2235) @@ -25,9 +25,13 @@ using System.Linq; using Deltares.Dam.Data; +using Deltares.Dam.Data.IO; +using Deltares.Dam.Forms; using Deltares.Dam.TestHelper; using Deltares.Geotechnics.Soils; using Deltares.Geotechnics.SurfaceLines; +using Deltares.Standard; +using Deltares.Standard.IO.Xml; using Deltares.Standard.TestUtils; using KellermanSoftware.CompareNetObjects; @@ -429,7 +433,6 @@ string dataFolder, string projectFilename) { string fullProjectFilename = Path.Combine(dataFolder, projectFilename); - using (var projectData = ProjectLoader.LoadProjectData(fullProjectFilename)) { Assert.AreEqual(0, projectData.DesignCalculations.Count);