Esempio n. 1
0
        /// <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>();
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Construct a statement transaction by parsing an OFX transaction entity
 /// </summary>
 /// <param name="ofxTransaction"></param>
 public Transaction(StatementTransaction ofxTransaction)
 {
     // Assign to internal state
     PostDate      = OFXUtils.DateFromOFX(ofxTransaction.DTPOSTED);
     TransactionId = ofxTransaction.FITID;
     Amount        = OFXUtils.DecimalStringToFixedInt(ofxTransaction.TRNAMT);
     Name          = (string)ofxTransaction.Item;
 }