Add RenewContext

This commit is contained in:
2023-05-25 18:03:38 +02:00
parent 27abf559e8
commit 7468af3970
9 changed files with 177 additions and 43 deletions

View File

@ -40,6 +40,9 @@ namespace Elwig.Helpers {
public DbSet<DeliveryPartModifier> DeliveryPartModifiers { get; private set; }
private readonly StreamWriter? LogFile = null;
public static DateTime LastWriteTime => File.GetLastWriteTime(App.Config.DatabaseFile);
public DateTime SavedLastWriteTime { get; private set; }
public bool HasBackendChanged => SavedLastWriteTime != LastWriteTime;
public AppDbContext() {
if (App.Config.DatabaseLog != null) {
@ -52,6 +55,9 @@ namespace Elwig.Helpers {
MessageBox.Show($"Unable to open database log file:\n\n{e.Message}", "Database Log", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
SavedLastWriteTime = LastWriteTime;
SavedChanges += OnSavedChanges;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) {
@ -67,6 +73,10 @@ namespace Elwig.Helpers {
GC.SuppressFinalize(this);
}
private void OnSavedChanges(object? sender, SavedChangesEventArgs evt) {
SavedLastWriteTime = LastWriteTime;
}
protected void Log(string msg) {
LogFile?.WriteLine(msg);
}