279551e9be
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
42 lines
957 B
C#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|