public OFXData LoadData(OFXReader OFXReader) { OFXData data = new OFXData(); OFXBankStatement statement = null; var statements = new List <OFXBankStatement>(); var fs = OFXReader.GetFileData(); using (var reader = new StreamReader(fs, System.Text.Encoding.UTF8)) { string line; while ((line = reader.ReadLine()) != null) { data = ReturnAll(line, "<OFX>", data); data = ReturnAll(line, "<CODE>", data); data = ReturnAll(line, "<SEVERITY>", data); data = ReturnAll(line, "<DTSERVER>", data); data = ReturnAll(line, "<LANGUAGE>", data); data = ReturnAll(line, "<TRNUID>", data); data = ReturnAll(line, "<CURDEF>", data); data = ReturnAll(line, "<BANKID>", data); data = ReturnAll(line, "<ACCTID>", data); data = ReturnAll(line, "<ACCTTYPE>", data); data = ReturnAll(line, "<BALAMT>", data); data = ReturnAll(line, "<DTASOF>", data); statement = ReturnAll(line, "<TRNTYPE>", statement, statements); statement = ReturnAll(line, "<DTPOSTED>", statement, statements); statement = ReturnAll(line, "<TRNAMT>", statement, statements); statement = ReturnAll(line, "<MEMO>", statement, statements); } data.statements = statements; } return(data); }
private OFXBankStatement ReturnAll(string line, string tagName, OFXBankStatement statement, IList <OFXBankStatement> statements) { if (line.IndexOf(tagName) >= 0) { if (statement == null) { statement = new OFXBankStatement(); } statement.SetTag(tagName, ReturnValue(line, tagName)); if (statement.IsComplete()) { statements.Add(statement); statement = null; } } return(statement); }
public IList <OFXBankStatement> LoadStatements(OFXReader OFXReader) { var statements = new List <OFXBankStatement>(); OFXBankStatement statement = null; var fs = OFXReader.GetFileData(); using (var reader = new StreamReader(fs, System.Text.Encoding.UTF8)) { string line; while ((line = reader.ReadLine()) != null) { statement = ReturnAll(line, "<TRNTYPE>", statement, statements); statement = ReturnAll(line, "<DTPOSTED>", statement, statements); statement = ReturnAll(line, "<TRNAMT>", statement, statements); statement = ReturnAll(line, "<MEMO>", statement, statements); } } return(statements); }