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