diff --git a/server/AyaNova/biz/GlobalOpsBackupSettingsBiz.cs b/server/AyaNova/biz/GlobalOpsBackupSettingsBiz.cs index 1731dfbb..7a722fc1 100644 --- a/server/AyaNova/biz/GlobalOpsBackupSettingsBiz.cs +++ b/server/AyaNova/biz/GlobalOpsBackupSettingsBiz.cs @@ -40,14 +40,11 @@ namespace AyaNova.Biz //first try to fetch from db var ret = await ct.GlobalOpsBackupSettings.SingleOrDefaultAsync(m => m.Id == 1); if (logTheGetEvent && ret != null) - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, 1, BizType, AyaEvent.Retrieved), ct); - - - //not in db then get the default + //expected to exists because it's created on boot if not present if (ret == null) - throw new System.Exception("GlobalOpsSettingsBiz::GetAsync -> Global OPS settings object not found in database!!"); - ret.LastBackup=ServerGlobalOpsSettingsCache.Backup.LastBackup; + throw new System.Exception("GlobalOpsBackupSettings::GetAsync -> Backup settings object not found in database!!"); + return ret; } @@ -62,13 +59,11 @@ namespace AyaNova.Biz { var dbObject = await ct.GlobalOpsBackupSettings.FirstOrDefaultAsync(m => m.Id == 1); if (dbObject == null) - throw new System.Exception("GlobalOpsSettingsBiz::PutAsync -> Global settings object not found in database!!"); + throw new System.Exception("GlobalOpsBackupSettings::PutAsync -> Global settings object not found in database!!"); //If backup time has changed then reset last backup as well as it might block from taking effect - if (putObject.BackupTime.Hour != dbObject.BackupTime.Hour || putObject.BackupTime.Minute != dbObject.BackupTime.Minute) - { - putObject.LastBackup = DateTime.MinValue; - } + var ResetLastBackup = (putObject.BackupTime.Hour != dbObject.BackupTime.Hour || putObject.BackupTime.Minute != dbObject.BackupTime.Minute); + CopyObject.Copy(putObject, dbObject, "Id"); ct.Entry(dbObject).OriginalValues["Concurrency"] = putObject.Concurrency; Validate(dbObject); @@ -87,7 +82,12 @@ namespace AyaNova.Biz await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, 1, BizType, AyaEvent.Modified), ct); //Update the static copy for the server - todo:this ServerGlobalOpsSettingsCache.Backup = dbObject; + ServerGlobalOpsSettingsCache.Backup = dbObject; + if (ResetLastBackup) + { + ServerGlobalOpsSettingsCache.NextBackup = DateTime.MinValue; + ServerGlobalOpsSettingsCache.SetNextBackup(); + } return dbObject; } diff --git a/server/AyaNova/generator/CoreJobBackup.cs b/server/AyaNova/generator/CoreJobBackup.cs index 471c6ce5..94f9f214 100644 --- a/server/AyaNova/generator/CoreJobBackup.cs +++ b/server/AyaNova/generator/CoreJobBackup.cs @@ -111,14 +111,7 @@ namespace AyaNova.Biz //v.next - COPY TO ONLINE STORAGE //*************** - if (!OnDemand) - { - //Update last backup - var biz = GlobalOpsBackupSettingsBiz.GetBiz(ct); - var OpSet = await biz.GetAsync(false); - await biz.PutAsync(OpSet); - ServerGlobalOpsSettingsCache.Backup.LastBackup = utcNow; - } + log.LogDebug("Backup completed"); } catch (Exception ex) diff --git a/server/AyaNova/models/GlobalOpsBackupSettings.cs b/server/AyaNova/models/GlobalOpsBackupSettings.cs index f49ad00c..5b82a804 100644 --- a/server/AyaNova/models/GlobalOpsBackupSettings.cs +++ b/server/AyaNova/models/GlobalOpsBackupSettings.cs @@ -11,9 +11,7 @@ namespace AyaNova.Models public DateTime BackupTime { get; set; } public int BackupSetsToKeep { get; set; } public bool BackupAttachments { get; set; } - [NotMapped] - public DateTime LastBackup { get; set; } - + public GlobalOpsBackupSettings() { Id = 1;//always 1 diff --git a/server/AyaNova/util/ServerGlobalOpsSettingsCache.cs b/server/AyaNova/util/ServerGlobalOpsSettingsCache.cs index e4189112..f4c1842f 100644 --- a/server/AyaNova/util/ServerGlobalOpsSettingsCache.cs +++ b/server/AyaNova/util/ServerGlobalOpsSettingsCache.cs @@ -35,8 +35,7 @@ namespace AyaNova.Util } internal static void SetNextBackup() - { - //If backup at 6pm and come here need to check if should add day + { DateTime utcNow = DateTime.UtcNow; //Has last backup run more than 24 hours ago? if (NextBackup < utcNow.AddHours(-24))