refactor(securestoremanager): add platform service abstractions and constants
Implement deferred code review findings: - Add IDialogService/IClipboardService interfaces for testable platform operations - Create AvaloniaDialogService and AvaloniaClipboardService implementations - Extract dialog strings and file extensions to centralized Constants classes - Refactor ViewModels to use DI instead of event delegates - Update tests to use mock services
This commit is contained in:
@@ -86,7 +86,7 @@ public class ScheduleChecker : IScheduleChecker
|
||||
_logger.LogDebug(
|
||||
"Mass sync needed for {Table}: last={LastSync}, interval={Interval}m",
|
||||
config.TableName,
|
||||
lastMass?.EndDt.ToString("o") ?? "never",
|
||||
lastMass?.EndDt?.ToString("o") ?? "never",
|
||||
config.MassConfig.IntervalMinutes);
|
||||
|
||||
return CreateTask(config, UpdateTypes.Mass, null);
|
||||
@@ -100,7 +100,7 @@ public class ScheduleChecker : IScheduleChecker
|
||||
_logger.LogDebug(
|
||||
"Daily sync needed for {Table}: last={LastSync}, interval={Interval}m, minDT={MinDT}",
|
||||
config.TableName,
|
||||
lastDaily?.EndDt.ToString("o") ?? "never",
|
||||
lastDaily?.EndDt?.ToString("o") ?? "never",
|
||||
config.DailyConfig.IntervalMinutes,
|
||||
minimumDt?.ToString("o") ?? "null");
|
||||
|
||||
@@ -115,7 +115,7 @@ public class ScheduleChecker : IScheduleChecker
|
||||
_logger.LogDebug(
|
||||
"Hourly sync needed for {Table}: last={LastSync}, interval={Interval}m, minDT={MinDT}",
|
||||
config.TableName,
|
||||
lastHourly?.EndDt.ToString("o") ?? "never",
|
||||
lastHourly?.EndDt?.ToString("o") ?? "never",
|
||||
config.HourlyConfig.IntervalMinutes,
|
||||
minimumDt?.ToString("o") ?? "null");
|
||||
|
||||
@@ -143,7 +143,8 @@ public class ScheduleChecker : IScheduleChecker
|
||||
return true;
|
||||
}
|
||||
|
||||
var nextSyncDue = lastMass.EndDt.AddMinutes(config.MassConfig.IntervalMinutes);
|
||||
// EndDt is set for successful syncs (GetLastDataUpdatesAsync filters WasSuccessful=1)
|
||||
var nextSyncDue = lastMass.EndDt!.Value.AddMinutes(config.MassConfig.IntervalMinutes);
|
||||
return now > nextSyncDue;
|
||||
}
|
||||
|
||||
@@ -170,7 +171,8 @@ public class ScheduleChecker : IScheduleChecker
|
||||
return true;
|
||||
}
|
||||
|
||||
var nextSyncDue = lastDaily.EndDt.AddMinutes(config.DailyConfig.IntervalMinutes);
|
||||
// EndDt is set for successful syncs (GetLastDataUpdatesAsync filters WasSuccessful=1)
|
||||
var nextSyncDue = lastDaily.EndDt!.Value.AddMinutes(config.DailyConfig.IntervalMinutes);
|
||||
return now > nextSyncDue;
|
||||
}
|
||||
|
||||
@@ -202,7 +204,8 @@ public class ScheduleChecker : IScheduleChecker
|
||||
return true;
|
||||
}
|
||||
|
||||
var nextSyncDue = lastHourly.EndDt.AddMinutes(config.HourlyConfig.IntervalMinutes);
|
||||
// EndDt is set for successful syncs (GetLastDataUpdatesAsync filters WasSuccessful=1)
|
||||
var nextSyncDue = lastHourly.EndDt!.Value.AddMinutes(config.HourlyConfig.IntervalMinutes);
|
||||
return now > nextSyncDue;
|
||||
}
|
||||
|
||||
@@ -217,7 +220,8 @@ public class ScheduleChecker : IScheduleChecker
|
||||
}
|
||||
|
||||
var lookbackMinutes = _options.Value.LookbackMultiplier * intervalMinutes;
|
||||
return lastUpdate.EndDt.AddMinutes(-lookbackMinutes);
|
||||
// EndDt is set for successful syncs (GetLastDataUpdatesAsync filters WasSuccessful=1)
|
||||
return lastUpdate.EndDt!.Value.AddMinutes(-lookbackMinutes);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user