2018-09-10 17:29:52 +02:00
|
|
|
|
using System.Threading.Tasks;
|
2018-09-07 18:16:40 +02:00
|
|
|
|
using Windows.Storage;
|
2018-09-10 17:29:52 +02:00
|
|
|
|
using ModernKeePass.Interfaces;
|
2018-09-07 18:16:40 +02:00
|
|
|
|
using ModernKeePass.ViewModels;
|
|
|
|
|
|
|
|
|
|
namespace ModernKeePass.Services
|
|
|
|
|
{
|
|
|
|
|
public class ImportService : IImportService<IFormat>
|
|
|
|
|
{
|
2018-09-10 17:29:52 +02:00
|
|
|
|
public async Task Import(IFormat format, IStorageFile source, GroupVm group)
|
2018-09-07 18:16:40 +02:00
|
|
|
|
{
|
2018-09-10 17:29:52 +02:00
|
|
|
|
var data = await format.Import(source);
|
2018-09-07 18:16:40 +02:00
|
|
|
|
|
2018-09-10 17:29:52 +02:00
|
|
|
|
foreach (var entity in data)
|
2018-09-07 18:16:40 +02:00
|
|
|
|
{
|
2018-09-10 17:29:52 +02:00
|
|
|
|
var entry = group.AddNewEntry();
|
2020-03-27 13:27:29 +01:00
|
|
|
|
entry.Title = entity["0"];
|
2018-09-10 17:29:52 +02:00
|
|
|
|
entry.UserName = entity["1"];
|
|
|
|
|
entry.Password = entity["2"];
|
|
|
|
|
if (entity.Count > 3) entry.Url = entity["3"];
|
|
|
|
|
if (entity.Count > 4) entry.Notes = entity["4"];
|
2018-09-07 18:16:40 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|