Changed most services to singletons

Refactor the Database Service (no more enum, ...)
Restored the Donate page with Paypal web page
Added (but not working) MS App Center integration
Corrected tests accordingly
WIP AOP to detect database changes
This commit is contained in:
BONNEVILLE Geoffroy
2018-02-23 18:09:21 +01:00
parent b46ab8db51
commit 7dbf93fe7b
35 changed files with 199 additions and 194 deletions

View File

@@ -1,6 +1,5 @@
using Windows.Storage;
using ModernKeePass.Common;
using Windows.UI.Xaml;
using ModernKeePass.Interfaces;
using ModernKeePass.Services;
@@ -31,20 +30,20 @@ namespace ModernKeePass.ViewModels
public void OpenDatabaseFile()
{
OpenDatabaseFile((Application.Current as App)?.Database);
OpenDatabaseFile(DatabaseService.Instance);
}
public void OpenDatabaseFile(IDatabase database)
public void OpenDatabaseFile(IDatabaseService database)
{
database.DatabaseFile = DatabaseFile;
}
public void UpdateAccessTime()
{
UpdateAccessTime(new RecentService());
UpdateAccessTime(RecentService.Instance);
}
public async void UpdateAccessTime(IRecent recent)
public async void UpdateAccessTime(IRecentService recent)
{
await recent.GetFileAsync(Token);
}

View File

@@ -2,9 +2,9 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using Windows.UI.Xaml;
using ModernKeePass.Common;
using ModernKeePass.Interfaces;
using ModernKeePass.Services;
using ModernKeePassLib;
using ModernKeePassLib.Cryptography.Cipher;
using ModernKeePassLib.Cryptography.KeyDerivation;
@@ -14,7 +14,7 @@ namespace ModernKeePass.ViewModels
// TODO: implement Kdf settings
public class SettingsDatabaseVm: NotifyPropertyChangedBase, IHasSelectableObject
{
private readonly IDatabase _database;
private readonly IDatabaseService _database;
private GroupVm _selectedItem;
public bool HasRecycleBin
@@ -88,9 +88,9 @@ namespace ModernKeePass.ViewModels
}
}
public SettingsDatabaseVm() : this((Application.Current as App)?.Database) { }
public SettingsDatabaseVm() : this(DatabaseService.Instance) { }
public SettingsDatabaseVm(IDatabase database)
public SettingsDatabaseVm(IDatabaseService database)
{
_database = database;
Groups = _database?.RootGroup.Groups;

View File

@@ -6,12 +6,12 @@ namespace ModernKeePass.ViewModels
{
public class SettingsNewVm
{
private ISettings _settings;
private ISettingsService _settings;
public SettingsNewVm() : this(new SettingsService())
public SettingsNewVm() : this(SettingsService.Instance)
{ }
public SettingsNewVm(ISettings settings)
public SettingsNewVm(ISettingsService settings)
{
_settings = settings;
}