2020-03-24 13:01:14 +01:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using ModernKeePass.Application.Common.Interfaces;
|
|
|
|
|
|
|
|
|
|
namespace ModernKeePass.Infrastructure.File
|
|
|
|
|
{
|
|
|
|
|
public class CsvImportFormat: IImportFormat
|
|
|
|
|
{
|
|
|
|
|
private const bool HasHeaderRow = true;
|
|
|
|
|
private const char Delimiter = ';';
|
|
|
|
|
private const char LineDelimiter = '\n';
|
2020-04-06 20:20:45 +02:00
|
|
|
|
|
2020-04-08 16:23:15 +02:00
|
|
|
|
public List<Dictionary<string, string>> Import(IList<string> fileContents)
|
2020-03-24 13:01:14 +01:00
|
|
|
|
{
|
|
|
|
|
var parsedResult = new List<Dictionary<string, string>>();
|
2020-04-06 20:20:45 +02:00
|
|
|
|
foreach (var line in fileContents)
|
2020-03-24 13:01:14 +01:00
|
|
|
|
{
|
|
|
|
|
var fields = line.Split(Delimiter);
|
|
|
|
|
var recordItem = new Dictionary<string, string>();
|
|
|
|
|
var i = 0;
|
|
|
|
|
foreach (var field in fields)
|
|
|
|
|
{
|
|
|
|
|
recordItem.Add(i.ToString(), field);
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
parsedResult.Add(recordItem);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return parsedResult;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|