// Copyright (C) Stichting Deltares 2017. All rights reserved. // // This file is part of Ringtoets. // // Ringtoets is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // All names, logos, and references to "Deltares" are registered trademarks of // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. using System; using Ringtoets.Common.Utils.Properties; namespace Ringtoets.Common.Utils { /// /// This class is capable of comparing Ringtoets database versions. /// public static class RingtoetsVersionHelper { private const string validDatabaseVersion = "5"; private const string currentDatabaseVersion = "17.1"; /// /// Gets the current database version. /// /// The database version. public static string GetCurrentDatabaseVersion() { return currentDatabaseVersion; } /// /// Returns if the is newer than the current database version. /// /// The version to compare. /// true if is newer than the current /// database version, false otherwise. public static bool IsNewerThanCurrent(string version) { var versionComparer = new RingtoetsVersionComparer(); return versionComparer.Compare(version, currentDatabaseVersion) > 0; } /// /// Returns if the is a valid database version. /// /// The version to compare. /// true if is a valid database version, /// false otherwise. /// A valid version must be greater than . public static bool IsValidVersion(string version) { var versionComparer = new RingtoetsVersionComparer(); return versionComparer.Compare(version, validDatabaseVersion) >= 0; } /// /// Validates if the is a valid database version. /// /// The version to compare. /// Thrown when is not a /// valid Ringtoets database version. /// public static void ValidateVersion(string version) { if (!IsValidVersion(version)) { throw new ArgumentException(string.Format(Resources.RingtoetsVersionHelper_Version_0_Not_Valid, version), version); } } } }