aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-02-17 17:00:29 +0200
committerAvi Levkovich <avi@twine-s.com>2020-02-17 17:00:29 +0200
commitcbc80e71fac7d2896ac496b0fbf22051c0cdcff7 (patch)
tree9f898e565748f5581e900491ca36ce21c6462846 /Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
parentef657b4a3ae76e99ab077d6b4fc19691c2a0da4a (diff)
downloadTango-cbc80e71fac7d2896ac496b0fbf22051c0cdcff7.tar.gz
Tango-cbc80e71fac7d2896ac496b0fbf22051c0cdcff7.zip
merge
Diffstat (limited to 'Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs')
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
index 0c2e56edf..cb1a608a8 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
@@ -231,6 +231,36 @@ namespace Tango.AzureUtils.Database
}
}
+ public async Task DowngradeMachineStudioVersion(IWebAppBase app)
+ {
+ var latestMachineStudioVersion = await GetLatestMachineStudioVersion(app);
+ var dataSource = (await app.GetMachineServiceSettingsAsync()).ToDataSource();
+
+ OnProgress(AzureUtilsStage.Database, $"Removing machine studio database entry for version '{latestMachineStudioVersion.Version}'...");
+
+ using (var db = ObservablesContext.CreateDefault(dataSource))
+ {
+ var latest = await db.MachineStudioVersions.SingleOrDefaultAsync(x => x.Guid == latestMachineStudioVersion.Guid);
+ db.MachineStudioVersions.Remove(latest);
+ await db.SaveChangesAsync();
+ }
+ }
+
+ public async Task DowngradePPCVersion(IWebAppBase app)
+ {
+ var latestPPCVersion = await GetLatestPPCVersion(app);
+ var dataSource = (await app.GetMachineServiceSettingsAsync()).ToDataSource();
+
+ OnProgress(AzureUtilsStage.Database, $"Removing PPC database entry for version '{latestPPCVersion.Version}'...");
+
+ using (var db = ObservablesContext.CreateDefault(dataSource))
+ {
+ var latest = await db.TangoVersions.SingleOrDefaultAsync(x => x.Guid == latestPPCVersion.Guid);
+ db.TangoVersions.Remove(latest);
+ await db.SaveChangesAsync();
+ }
+ }
+
public async Task<MachineStudioVersion> GetLatestMachineStudioVersion(IWebAppBase app)
{
OnProgress(AzureUtilsStage.Database, $"Getting latest machine studio version on '{app.Name}'...");