2017-12-01 17:59:38 +01:00
|
|
|
|
using Windows.Storage;
|
2017-10-11 14:30:07 +02:00
|
|
|
|
using ModernKeePass.Common;
|
2017-11-24 12:17:41 +01:00
|
|
|
|
using Windows.UI.Xaml;
|
2017-11-07 18:45:35 +01:00
|
|
|
|
using ModernKeePass.Interfaces;
|
2017-12-01 17:59:38 +01:00
|
|
|
|
using ModernKeePass.Services;
|
2017-10-01 08:48:29 -04:00
|
|
|
|
|
2017-10-02 10:44:04 +02:00
|
|
|
|
namespace ModernKeePass.ViewModels
|
2017-09-29 17:23:35 -04:00
|
|
|
|
{
|
2017-12-01 17:59:38 +01:00
|
|
|
|
public class RecentItemVm: NotifyPropertyChangedBase, ISelectableModel, IRecentItem
|
2017-09-29 17:23:35 -04:00
|
|
|
|
{
|
2017-10-03 16:06:49 +02:00
|
|
|
|
private bool _isSelected;
|
2017-12-01 17:59:38 +01:00
|
|
|
|
|
2017-11-07 18:45:35 +01:00
|
|
|
|
public StorageFile DatabaseFile { get; }
|
|
|
|
|
public string Token { get; }
|
|
|
|
|
public string Name { get; }
|
|
|
|
|
public string Path => DatabaseFile?.Path;
|
2017-10-01 08:48:29 -04:00
|
|
|
|
|
2017-10-03 16:06:49 +02:00
|
|
|
|
public bool IsSelected
|
2017-10-01 08:48:29 -04:00
|
|
|
|
{
|
2017-10-03 16:06:49 +02:00
|
|
|
|
get { return _isSelected; }
|
2017-11-07 18:45:35 +01:00
|
|
|
|
set { SetProperty(ref _isSelected, value); }
|
2017-10-01 08:48:29 -04:00
|
|
|
|
}
|
2017-11-24 12:17:41 +01:00
|
|
|
|
|
2017-12-01 17:59:38 +01:00
|
|
|
|
public RecentItemVm() {}
|
|
|
|
|
public RecentItemVm(string token, string metadata, IStorageItem file)
|
|
|
|
|
{
|
|
|
|
|
Token = token;
|
|
|
|
|
Name = metadata;
|
|
|
|
|
DatabaseFile = file as StorageFile;
|
|
|
|
|
}
|
|
|
|
|
|
2017-11-24 12:17:41 +01:00
|
|
|
|
public void OpenDatabaseFile()
|
|
|
|
|
{
|
|
|
|
|
OpenDatabaseFile((Application.Current as App)?.Database);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OpenDatabaseFile(IDatabase database)
|
|
|
|
|
{
|
|
|
|
|
database.DatabaseFile = DatabaseFile;
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-01 17:59:38 +01:00
|
|
|
|
public void UpdateAccessTime()
|
|
|
|
|
{
|
|
|
|
|
UpdateAccessTime(new RecentService());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async void UpdateAccessTime(IRecent recent)
|
2017-11-24 12:17:41 +01:00
|
|
|
|
{
|
2017-12-01 17:59:38 +01:00
|
|
|
|
await recent.GetFileAsync(Token);
|
2017-11-24 12:17:41 +01:00
|
|
|
|
}
|
2017-09-29 17:23:35 -04:00
|
|
|
|
}
|
|
|
|
|
}
|