This commit is contained in:
@@ -40,14 +40,11 @@ namespace AyaNova.Biz
|
|||||||
//first try to fetch from db
|
//first try to fetch from db
|
||||||
var ret = await ct.GlobalOpsBackupSettings.SingleOrDefaultAsync(m => m.Id == 1);
|
var ret = await ct.GlobalOpsBackupSettings.SingleOrDefaultAsync(m => m.Id == 1);
|
||||||
if (logTheGetEvent && ret != null)
|
if (logTheGetEvent && ret != null)
|
||||||
|
|
||||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, 1, BizType, AyaEvent.Retrieved), ct);
|
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, 1, BizType, AyaEvent.Retrieved), ct);
|
||||||
|
//expected to exists because it's created on boot if not present
|
||||||
|
|
||||||
//not in db then get the default
|
|
||||||
if (ret == null)
|
if (ret == null)
|
||||||
throw new System.Exception("GlobalOpsSettingsBiz::GetAsync -> Global OPS settings object not found in database!!");
|
throw new System.Exception("GlobalOpsBackupSettings::GetAsync -> Backup settings object not found in database!!");
|
||||||
ret.LastBackup=ServerGlobalOpsSettingsCache.Backup.LastBackup;
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,13 +59,11 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var dbObject = await ct.GlobalOpsBackupSettings.FirstOrDefaultAsync(m => m.Id == 1);
|
var dbObject = await ct.GlobalOpsBackupSettings.FirstOrDefaultAsync(m => m.Id == 1);
|
||||||
if (dbObject == null)
|
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 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)
|
var ResetLastBackup = (putObject.BackupTime.Hour != dbObject.BackupTime.Hour || putObject.BackupTime.Minute != dbObject.BackupTime.Minute);
|
||||||
{
|
|
||||||
putObject.LastBackup = DateTime.MinValue;
|
|
||||||
}
|
|
||||||
CopyObject.Copy(putObject, dbObject, "Id");
|
CopyObject.Copy(putObject, dbObject, "Id");
|
||||||
ct.Entry(dbObject).OriginalValues["Concurrency"] = putObject.Concurrency;
|
ct.Entry(dbObject).OriginalValues["Concurrency"] = putObject.Concurrency;
|
||||||
Validate(dbObject);
|
Validate(dbObject);
|
||||||
@@ -87,7 +82,12 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, 1, BizType, AyaEvent.Modified), ct);
|
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, 1, BizType, AyaEvent.Modified), ct);
|
||||||
//Update the static copy for the server
|
//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;
|
return dbObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -111,14 +111,7 @@ namespace AyaNova.Biz
|
|||||||
//v.next - COPY TO ONLINE STORAGE
|
//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");
|
log.LogDebug("Backup completed");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
@@ -11,9 +11,7 @@ namespace AyaNova.Models
|
|||||||
public DateTime BackupTime { get; set; }
|
public DateTime BackupTime { get; set; }
|
||||||
public int BackupSetsToKeep { get; set; }
|
public int BackupSetsToKeep { get; set; }
|
||||||
public bool BackupAttachments { get; set; }
|
public bool BackupAttachments { get; set; }
|
||||||
[NotMapped]
|
|
||||||
public DateTime LastBackup { get; set; }
|
|
||||||
|
|
||||||
public GlobalOpsBackupSettings()
|
public GlobalOpsBackupSettings()
|
||||||
{
|
{
|
||||||
Id = 1;//always 1
|
Id = 1;//always 1
|
||||||
|
|||||||
@@ -35,8 +35,7 @@ namespace AyaNova.Util
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal static void SetNextBackup()
|
internal static void SetNextBackup()
|
||||||
{
|
{
|
||||||
//If backup at 6pm and come here need to check if should add day
|
|
||||||
DateTime utcNow = DateTime.UtcNow;
|
DateTime utcNow = DateTime.UtcNow;
|
||||||
//Has last backup run more than 24 hours ago?
|
//Has last backup run more than 24 hours ago?
|
||||||
if (NextBackup < utcNow.AddHours(-24))
|
if (NextBackup < utcNow.AddHours(-24))
|
||||||
|
|||||||
Reference in New Issue
Block a user