From 7c7e27fad7deb4c82a5ca7e5cb19184fa324b8d5 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 20 Nov 2022 19:06:28 +0200 Subject: AzureUtils PPC VersionTag kind of working. --- .../Tango.AzureUtils/Database/DatabaseManager.cs | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs') diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs index 836e66c9f..4202b45a7 100644 --- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs +++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs @@ -229,13 +229,13 @@ namespace Tango.AzureUtils.Database } } - public async Task UpgradePPCVersion(IWebAppBase sourceApp, IWebAppBase targetApp) + public async Task UpgradePPCVersion(IWebAppBase sourceApp, IWebAppBase targetApp, String versionTag) { - var latestPPCVersion = await GetLatestPPCVersion(sourceApp); + var latestPPCVersion = await GetLatestPPCVersion(sourceApp, versionTag); var targetDataSource = (await targetApp.GetMachineServiceSettingsAsync()).ToDataSource(); - OnProgress(AzureUtilsStage.Database, $"Adding PPC database entry for version '{latestPPCVersion.Version}'..."); + OnProgress(AzureUtilsStage.Database, $"Adding PPC database entry for version '{latestPPCVersion.VersionAndTag}'..."); using (var db = ObservablesContext.CreateDefault(targetDataSource)) { @@ -274,12 +274,12 @@ namespace Tango.AzureUtils.Database } } - public async Task DowngradePPCVersion(IWebAppBase app) + public async Task DowngradePPCVersion(IWebAppBase app, String versionTag) { - var latestPPCVersion = await GetLatestPPCVersion(app); + var latestPPCVersion = await GetLatestPPCVersion(app, versionTag); var dataSource = (await app.GetMachineServiceSettingsAsync()).ToDataSource(); - OnProgress(AzureUtilsStage.Database, $"Removing PPC database entry for version '{latestPPCVersion.Version}'..."); + OnProgress(AzureUtilsStage.Database, $"Removing PPC database entry for version '{latestPPCVersion.VersionAndTag}'..."); using (var db = ObservablesContext.CreateDefault(dataSource)) { @@ -321,7 +321,7 @@ namespace Tango.AzureUtils.Database } } - public async Task GetLatestPPCVersion(IWebAppBase app) + public async Task GetLatestPPCVersion(IWebAppBase app, String versionTag) { OnProgress(AzureUtilsStage.Database, $"Getting latest PPC version on '{app.Name}'..."); @@ -342,7 +342,7 @@ namespace Tango.AzureUtils.Database using (var db = ObservablesContext.CreateDefault(dataSource)) { - var versions = await db.TangoVersions.ToListAsync(); + var versions = await db.TangoVersions.Where(x => x.Tag == versionTag).ToListAsync(); var latest_version = versions.OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault(); return latest_version; } @@ -409,14 +409,14 @@ namespace Tango.AzureUtils.Database } } - public async Task ValidatePPCDatabaseUpgrade(IWebAppBase sourceApp, IWebAppBase targetApp) + public async Task ValidatePPCDatabaseUpgrade(IWebAppBase sourceApp, IWebAppBase targetApp, String versionTag) { OnProgress(AzureUtilsStage.Validating, "Validating PPC database upgrade..."); var sourceSettings = await sourceApp.GetMachineServiceSettingsAsync(); var targetSettings = await targetApp.GetMachineServiceSettingsAsync(); - var latestSourcePPCVersion = await GetLatestPPCVersion(sourceApp); + var latestSourcePPCVersion = await GetLatestPPCVersion(sourceApp, versionTag); //Check if there is any source PPC version. if (latestSourcePPCVersion == null) @@ -424,12 +424,12 @@ namespace Tango.AzureUtils.Database throw new ValidationException("Could not locate a PPC version entry on the source database."); } - var latestTargetPPCVersion = await GetLatestPPCVersion(targetApp); + var latestTargetPPCVersion = await GetLatestPPCVersion(targetApp, versionTag); //Check target latest PPC version is older if there is any. if (latestTargetPPCVersion != null && Version.Parse(latestSourcePPCVersion.Version) <= Version.Parse(latestTargetPPCVersion.Version)) { - throw new ValidationException($"PPC source version is '{latestSourcePPCVersion.Version}' while target version is '{latestTargetPPCVersion.Version}'."); + throw new ValidationException($"PPC source version is '{latestSourcePPCVersion.VersionAndTag}' while target version is '{latestTargetPPCVersion.VersionAndTag}'."); } } -- cgit v1.3.1