This commit is contained in:
2020-05-23 15:49:52 +00:00
parent a1e6acc5b4
commit b2a7b8e0b9
4 changed files with 15 additions and 25 deletions

View File

@@ -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;
}