/// <summary> /// Construct a Statement from source OFX data - StatementResponse object (credit card account) /// </summary> /// <param name="sourceOFX">OFX CreditCardStatementResponse object retrieved from FI</param> public Statement(CreditCardStatementResponse statementResponse) { // Parse account information OwningAccount = Account.Create(statementResponse.CCACCTFROM); // Parse currency into a string Currency = statementResponse.CURDEF.ToString(); // Parse statement date range StartDate = OFXUtils.DateFromOFX(statementResponse.BANKTRANLIST.DTSTART); EndDate = OFXUtils.DateFromOFX(statementResponse.BANKTRANLIST.DTEND); // Parse account balance AccountBalance = OFXUtils.DecimalStringToFixedInt(statementResponse.LEDGERBAL.BALAMT); // Convert OFX transactions into our normalized Transaction objects if (statementResponse.BANKTRANLIST.STMTTRN != null) { var unorderedTransactions = from ofxTransaction in statementResponse.BANKTRANLIST.STMTTRN select new Transaction(ofxTransaction); Transactions = new List <Transaction>(unorderedTransactions.OrderByDescending(trans => trans.PostDate)); } else { Transactions = new List <Transaction>(); } }
/// <summary> /// Construct a Statement from source OFX data - StatementResponse object (credit card account) /// </summary> /// <param name="sourceOFX">OFX CreditCardStatementResponse object retrieved from FI</param> public Statement(CreditCardStatementResponse statementResponse) { // Parse account information OwningAccount = Account.Create(statementResponse.CCACCTFROM); // Parse currency into a string Currency = statementResponse.CURDEF.ToString(); // Parse statement date range StartDate = OFXUtils.DateFromOFX(statementResponse.BANKTRANLIST.DTSTART); EndDate = OFXUtils.DateFromOFX(statementResponse.BANKTRANLIST.DTEND); // Parse account balance AccountBalance = OFXUtils.DecimalStringToFixedInt(statementResponse.LEDGERBAL.BALAMT); // Convert OFX transactions into our normalized Transaction objects if (statementResponse.BANKTRANLIST.STMTTRN != null) { var unorderedTransactions = from ofxTransaction in statementResponse.BANKTRANLIST.STMTTRN select new Transaction(ofxTransaction); Transactions = new List<Transaction>(unorderedTransactions.OrderByDescending(trans => trans.PostDate)); } else Transactions = new List<Transaction>(); }