Class ScraperCsvConverter

Namespace
Subsembly.Scraper
Assembly
Subsembly.Scraper.dll

Basic implementation of IScraperCsvConverter interface.

public abstract class ScraperCsvConverter : IScraperCsvConverter
Inheritance
ScraperCsvConverter
Implements
Derived
Inherited Members

Constructors

ScraperCsvConverter(string, string, Encoding)

protected ScraperCsvConverter(string sName, string sFileNameSuffix, Encoding aEncoding = null)

Parameters

sName string
sFileNameSuffix string
aEncoding Encoding

Properties

FileNameSuffix

public string FileNameSuffix { get; }

Property Value

string

Name

public string Name { get; }

Property Value

string

Methods

Convert(out SepaStatement, byte[], int, int)

Converts a raw, binary CSV data blob that contains account statement data to a CAMT statement for further processing.

public ScraperResult Convert(out SepaStatement aStmt, byte[] vbCsvData, int nOffset, int nLength)

Parameters

aStmt SepaStatement
vbCsvData byte[]
nOffset int
nLength int

Returns

ScraperResult

CreateCsv()

Creates a Subsembly.Csv.CsvFile instance, suitable for parsing the CSV format.

protected virtual CsvFile CreateCsv()

Returns

CsvFile

Remarks

The default implementation returns a default constructed Subsembly.Csv.CsvFile.

A derived class may override this method in order to provide a suitably initialized Subsembly.Csv.CsvFile appropriate for its CSV format.

DetectEncoding(byte[], int, int)

Tries to detect the correct encoding from the given binary CSV data.

protected virtual Encoding DetectEncoding(byte[] vbCsvData, int nOffset, int nLength)

Parameters

vbCsvData byte[]
nOffset int
nLength int

Returns

Encoding

Remarks

A derived class may override this method in order to provide a well known encoding appropriate for its CSV format.

GetEncoding(byte[])

public Encoding GetEncoding(byte[] vbCsvData)

Parameters

vbCsvData byte[]

Returns

Encoding

GetEncoding(byte[], int, int)

public Encoding GetEncoding(byte[] vbCsvData, int nOffset, int nLength)

Parameters

vbCsvData byte[]
nOffset int
nLength int

Returns

Encoding

ReadCsvFinish(SepaStatement)

Finalize reading of the CSV file.

protected virtual ScraperResult ReadCsvFinish(SepaStatement aStmt)

Parameters

aStmt SepaStatement

Returns

ScraperResult

Remarks

The default implementation just returns Subsembly.Scraper.ScraperResult.Success. An implementation may override this in order to set accumulated values in the SepaStatement.

ReadCsvHeader(SepaStatement, CsvFile)

Read the header part of the CSV file.

protected virtual ScraperResult ReadCsvHeader(SepaStatement aStmt, CsvFile aCsvFile)

Parameters

aStmt SepaStatement

At this time an basically empty SepaStatement. Any useful information that can be obtained from the CSV header, such as account information or balance values, can be stored into this.

aCsvFile CsvFile

Returns

ScraperResult

Remarks

The default implementation just calls Subsembly.Csv.CsvFile.ReadHeader() and returns Subsembly.Scraper.ScraperResult.Success. An implementation may have to override this in order to read more complicate multi-line header structures.

ReadCsvValues(SepaStatement, CsvValues)

Read the given Subsembly.Csv.CsvValues and probably add a new SepaStatementEntry to the SepaStatement.

protected abstract ScraperResult ReadCsvValues(SepaStatement aStmt, CsvValues aCsv)

Parameters

aStmt SepaStatement
aCsv CsvValues

Returns

ScraperResult

ResetCsv()

Override this in order to reset any instance data used for the CSV import.

protected virtual void ResetCsv()