Files
LeafWeb/Core/Parsers/FluxnetSiteCsvParser.cs
T
poprhythm 279551e9be Rename Core Models to Core Entities
modified:   Core.Tests/Charter/CurveDataConverterTests.cs
	modified:   Core.Tests/Parsers/CntrlComparisonParserTests.cs
	modified:   Core.Tests/Parsers/LeafInputCsvParserTests.cs
	modified:   Core.Tests/Remote/PiscalSshClientTests.cs
	modified:   Core/Charter/CurveDataConverter.cs
	modified:   Core/Core.csproj
	modified:   Core/DAL/DataService.cs
	modified:   Core/DAL/LeafWebContext.cs
	modified:   Core/DAL/LeafWebInitializer.cs
	renamed:    Core/Models/CntrlComparison.cs -> Core/Entities/CntrlComparison.cs
	renamed:    Core/Models/CntrlComparisonFittingInfo.cs -> Core/Entities/CntrlComparisonFittingInfo.cs
	renamed:    Core/Models/CntrlComparisonPhotosyntheticInfo.cs -> Core/Entities/CntrlComparisonPhotosyntheticInfo.cs
	renamed:    Core/Models/FluxnetSite.cs -> Core/Entities/FluxnetSite.cs
	renamed:    Core/Models/LeafInput.cs -> Core/Entities/LeafInput.cs
	renamed:    Core/Models/LeafInputData.cs -> Core/Entities/LeafInputData.cs
	renamed:    Core/Models/LeafInputFile.cs -> Core/Entities/LeafInputFile.cs
	renamed:    Core/Models/LeafInputInfo.cs -> Core/Entities/LeafInputInfo.cs
	renamed:    Core/Models/LeafInputPhotosynthetic.cs -> Core/Entities/LeafInputPhotosynthetic.cs
	renamed:    Core/Models/LeafInputSite.cs -> Core/Entities/LeafInputSite.cs
	renamed:    Core/Models/LeafInputStatus.cs -> Core/Entities/LeafInputStatus.cs
	renamed:    Core/Models/PhotosynthesisType.cs -> Core/Entities/PhotosynthesisType.cs
	modified:   Core/Parsers/CntrlComparisonParser.cs
	modified:   Core/Parsers/FluxnetSiteCsvParser.cs
	modified:   Core/Parsers/LeafInputCsvParser.cs
	modified:   Web/Controllers/LeafCharterController.cs
	modified:   Web/Controllers/LeafInputController.cs
	modified:   Web/ViewModels/LeafInput/CreateViewModel.cs
2016-02-09 15:27:16 -05:00

42 lines
957 B
C#

using System.Collections.Generic;
using System.IO;
using System.Linq;
using CsvHelper;
using CsvHelper.Configuration;
using LeafWeb.Core.Entities;
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();
}
}
}
}