protected bool ParseLine(string s, TransactionTable data) { if (s != previousLine) { previousLine = s; //pull out all transactions... int startTransaction = 0; int endTransaction; List <string> transactionStrings = new List <string>(); startTransaction = s.IndexOf("<tr"); while (startTransaction != -1) { endTransaction = s.IndexOf("/tr>", startTransaction) + "/tr>".Length; string transaction = s.Substring(startTransaction, endTransaction - startTransaction); transactionStrings.Add(transaction); startTransaction = s.IndexOf("<tr", endTransaction); } List <Transaction> transactions = new List <Transaction>(); foreach (string transactionString in transactionStrings) { Transaction t = Transaction.ProcessTransaction(transactionString); if (t != null) { transactions.Add(t); } } data.UpdateTransactionTable(transactions); return(true); } return(false); }