Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs
===================================================================
diff -u -r2950 -r3142
--- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs (.../DamProject.cs) (revision 2950)
+++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs (.../DamProject.cs) (revision 3142)
@@ -297,10 +297,20 @@
currentProgramVersion = GetMainVersion(currentProgramVersion);
if (!currentProgramVersion.Equals(damProjectVersion))
{
- damProjectData.ClearResults();
+ if (IsOutDatedFileSupported(damProjectData))
+ {
+ damProjectData.ClearResults();
+ }
+ else
+ {
+ ClearProject();
+ string message = LocalizationManager.GetTranslatedText(this, "UnsupportedDamProjectFile");
+ LogManager.Messages.Add(new LogMessage(LogMessageType.Error, DamProjectData, message));
+ }
}
}
}
+
// Project still needs a reference to soilmaterials database; to be resolved later.
// This will become obsolete as soon as Delphi DGeoStability version is no longer used.
ResolveBackwardCompatibility();
@@ -309,7 +319,8 @@
});
// Add stability as standard mechanism when not yet available.
- if ((damProjectData.DamProjectCalculationSpecification.DamCalculationSpecifications.Count == 0) && (damProjectData.DamProjectType != DamProjectType.AssessOld))
+ if (!damProjectData.DamProjectCalculationSpecification.DamCalculationSpecifications.Any()
+ && damProjectData.DamProjectType != DamProjectType.AssessOld)
{
damProjectData.DamProjectCalculationSpecification.DamCalculationSpecifications.Add(new DamFailureMechanismeCalculationSpecification());
UpdateForOlderProjects();
@@ -338,6 +349,21 @@
}
}
+ private static bool IsOutDatedFileSupported(DamProjectData projectData)
+ {
+ var calculationSpecifications = projectData.DamProjectCalculationSpecification.DamCalculationSpecifications;
+ foreach (DamFailureMechanismeCalculationSpecification calculationSpecification in calculationSpecifications)
+ {
+ if (calculationSpecification.CalculationModel is MStabModelType &&
+ calculationSpecification.StabilityModelType != MStabModelType.UpliftVan)
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
private void ResolveBackwardCompatibility()
{
if (DamProjectData.VersionInfo.FileVersionAsRead < DamProjectData.VersionInfo.FileVersion)
Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml
===================================================================
diff -u -r3133 -r3142
--- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml (.../Translations.xml) (revision 3133)
+++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml (.../Translations.xml) (revision 3142)
@@ -582,4 +582,5 @@
+
\ No newline at end of file