|
@@ -1,5 +1,6 @@
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
+using System.Diagnostics.CodeAnalysis;
|
|
|
using System.Linq;
|
|
|
using System.Reflection;
|
|
|
using System.Threading;
|
|
@@ -36,7 +37,7 @@ public abstract partial class ViewModelBase : ObservableObject, IViewModelBase
|
|
|
|
|
|
[ObservableProperty] private AvaloniaMenuItemCollection _secondaryMenu = new();
|
|
|
|
|
|
- public DataAccessLayer DataAccess
|
|
|
+ public static DataAccessLayer DataAccess
|
|
|
{
|
|
|
get
|
|
|
{
|
|
@@ -52,7 +53,7 @@ public abstract partial class ViewModelBase : ObservableObject, IViewModelBase
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public RepositoryLayer Repositories
|
|
|
+ public static RepositoryLayer Repositories
|
|
|
{
|
|
|
get
|
|
|
{
|
|
@@ -92,19 +93,26 @@ public abstract partial class ViewModelBase : ObservableObject, IViewModelBase
|
|
|
|| string.IsNullOrWhiteSpace(CurrentDatabase.Password);
|
|
|
|
|
|
|
|
|
- private void Connected()
|
|
|
+ private static void Connected()
|
|
|
{
|
|
|
}
|
|
|
|
|
|
private void Validated()
|
|
|
{
|
|
|
- Repositories.Me.Refresh(true);
|
|
|
+ Repositories.MeModel.Refresh(true);
|
|
|
}
|
|
|
|
|
|
- private void Disconnected()
|
|
|
+ private static void Disconnected()
|
|
|
{
|
|
|
}
|
|
|
|
|
|
+ public string DefaultCacheFileName<T>(Guid? id = null) where T : IShell
|
|
|
+ {
|
|
|
+ return id == null
|
|
|
+ ? $"{GetType().Name}.{typeof(T).Name}"
|
|
|
+ : $"{GetType().Name}.{typeof(T).Name}.{id}";
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
[RelayCommand]
|
|
|
private void BackButtonPressed()
|
|
@@ -151,9 +159,9 @@ public abstract partial class ViewModelBase : ObservableObject, IViewModelBase
|
|
|
return await OnRefresh();
|
|
|
}
|
|
|
|
|
|
- protected virtual async Task<TimeSpan> OnRefresh()
|
|
|
+ protected virtual Task<TimeSpan> OnRefresh()
|
|
|
{
|
|
|
- return TimeSpan.FromSeconds(30);
|
|
|
+ return Task.FromResult(TimeSpan.FromSeconds(30));
|
|
|
}
|
|
|
|
|
|
public async Task Deactivate()
|
|
@@ -182,6 +190,7 @@ public abstract partial class ViewModelBase : ObservableObject, IViewModelBase
|
|
|
config.SaveAll(DatabaseSettings);
|
|
|
}
|
|
|
|
|
|
+ [MemberNotNull(nameof(_databaseSettings))]
|
|
|
public static void LoadDatabaseSettings()
|
|
|
{
|
|
|
|