Files
modernkeepass/ModernKeePass/ViewModels/NewVm.cs

67 lines
2.4 KiB
C#
Raw Normal View History

2018-09-10 17:29:52 +02:00
using Windows.Storage;
2018-09-07 18:16:40 +02:00
using Windows.UI.Xaml.Controls;
using ModernKeePass.Converters;
2018-09-10 17:29:52 +02:00
using ModernKeePass.ImportFormats;
2018-09-07 18:16:40 +02:00
using ModernKeePass.Interfaces;
using ModernKeePassLib;
namespace ModernKeePass.ViewModels
{
public class NewVm : OpenVm
{
2018-09-10 17:29:52 +02:00
private string _importFormatHelp;
public string Password { get; set; }
2018-09-07 18:16:40 +02:00
public bool IsImportChecked { get; set; }
public IStorageFile ImportFile { get; set; }
2018-09-10 17:29:52 +02:00
public string ImportFileExtensionFilter { get; set; } = "*";
2018-09-07 18:16:40 +02:00
public IFormat ImportFormat { get; set; }
2018-09-10 17:29:52 +02:00
public string ImportFormatHelp
{
get { return _importFormatHelp; }
set
{
_importFormatHelp = value;
OnPropertyChanged(nameof(ImportFormatHelp));
}
}
2018-09-07 18:16:40 +02:00
public void PopulateInitialData(IDatabaseService database, ISettingsService settings, IImportService<IFormat> importService)
{
2018-09-10 17:29:52 +02:00
if (settings.GetSetting<bool>("Sample") && !IsImportChecked) CreateSampleData(database.RootGroup);
else if (IsImportChecked && ImportFile != null && ! (ImportFormat is NullImportFormat)) importService.Import(ImportFormat, ImportFile, database.RootGroup);
2018-09-07 18:16:40 +02:00
}
2018-09-10 17:29:52 +02:00
private void CreateSampleData(GroupVm group)
2018-09-07 18:16:40 +02:00
{
var converter = new IntToSymbolConverter();
2018-09-10 17:29:52 +02:00
var bankingGroup = group.AddNewGroup("Banking");
bankingGroup.IconId = (int)converter.ConvertBack(Symbol.Calculator, null, null, string.Empty);
2018-09-07 18:16:40 +02:00
2018-09-10 17:29:52 +02:00
var emailGroup = group.AddNewGroup("Email");
emailGroup.IconId = (int)converter.ConvertBack(Symbol.Mail, null, null, string.Empty);
2018-09-07 18:16:40 +02:00
2018-09-10 17:29:52 +02:00
var internetGroup = group.AddNewGroup("Internet");
internetGroup.IconId = (int)converter.ConvertBack(Symbol.World, null, null, string.Empty);
2018-09-07 18:16:40 +02:00
2018-09-10 17:29:52 +02:00
var sample1 = group.AddNewEntry();
2018-09-07 18:16:40 +02:00
sample1.Name = "Sample Entry";
sample1.UserName = "Username";
sample1.Url = PwDefs.HomepageUrl;
sample1.Password = "Password";
sample1.Notes = "You may safely delete this sample";
2018-09-10 17:29:52 +02:00
var sample2 = group.AddNewEntry();
2018-09-07 18:16:40 +02:00
sample2.Name = "Sample Entry #2";
sample2.UserName = "Michael321";
sample2.Url = PwDefs.HelpUrl + "kb/testform.html";
sample2.Password = "12345";
}
}
}