Leaf Charter integration

This commit is contained in:
2016-03-10 11:18:25 -05:00
parent 72caa74bb2
commit c761952a8a
7 changed files with 44 additions and 25 deletions
+4
View File
@@ -12,6 +12,10 @@ namespace LeafWeb.Core.Parsers
{
}
public CntrlComparisonParser(byte[] fileContents) : base(fileContents)
{
}
public CntrlComparison[] Parse()
{
var fittingTitles = GetNextCsvRowValues();
+13
View File
@@ -2,12 +2,14 @@ using System;
using System.IO;
using CsvHelper;
using CsvHelper.Configuration;
using LeafWeb.Core.Utility;
namespace LeafWeb.Core.Parsers
{
public class CsvParserBase : IDisposable
{
private readonly StreamReader _reader;
private readonly MemoryStream _memoryStream;
protected readonly CsvReader CsvReader;
protected CsvParserBase(FileSystemInfo csvFile)
@@ -17,6 +19,15 @@ namespace LeafWeb.Core.Parsers
CsvReader = new CsvReader(_reader, csvConfiguration);
}
protected CsvParserBase(byte[] fileContents)
{
_memoryStream = new MemoryStream(fileContents);
_reader = new StreamReader(_memoryStream);
var csvConfiguration = new CsvConfiguration { HasHeaderRecord = false, IgnoreBlankLines = false, IgnoreReadingExceptions = true };
CsvReader = new CsvReader(_reader, csvConfiguration);
}
internal static StreamReader OpenCsv(FileSystemInfo csvFile)
{
if (!csvFile.Exists)
@@ -37,6 +48,8 @@ namespace LeafWeb.Core.Parsers
public void Dispose()
{
_reader.Dispose();
if (_memoryStream != null)
_memoryStream.Dispose();
}
}
}