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);