Adding EF initialization

This commit is contained in:
2016-01-29 11:25:44 -05:00
parent 37a7a24436
commit 68a77366e9
25 changed files with 2534 additions and 29 deletions
+41
View File
@@ -0,0 +1,41 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using CsvHelper;
using CsvHelper.Configuration;
using LeafWeb.Core.Models;
namespace LeafWeb.Core.Parsers
{
public class FluxnetSiteCsvParser
{
private readonly FileSystemInfo _csvFile;
private sealed class FluxnetSiteMap : CsvClassMap<FluxnetSite>
{
public FluxnetSiteMap()
{
Map(m => m.FluxnetId);
Map(m => m.SiteName);
Map(m => m.Country);
Map(m => m.LandUnit).Name("land_unit");
}
}
public FluxnetSiteCsvParser(FileSystemInfo csvFile)
{
_csvFile = csvFile;
}
public IList<FluxnetSite> Parse()
{
using (var reader = CsvParserBase.OpenCsv(_csvFile))
{
var csvConfiguration = new CsvConfiguration {IsHeaderCaseSensitive = false};
csvConfiguration.RegisterClassMap<FluxnetSiteMap>();
var csvReader = new CsvReader(reader, csvConfiguration);
return csvReader.GetRecords<FluxnetSite>().ToList();
}
}
}
}