Example #1
0
        override public string[] GetStatements()
        {
            if (!_isExistingCustomer)
            {
                throw new Exception("Statements may only be obtained for an existing customer");
            }

            // send the name, 20
            bool  moreTransactions = true;
            short transactionCount = 0;

            TransactionDetails [] transactionArray;

            // set up a persistent connection
            _clientContextObj.ConnectionUsage = ConnectionTypes.PersistentOpen;

            // set up an empty array list
            ArrayList alTransactions = new ArrayList();

            try
            {
                while (moreTransactions)
                {
                    transactionArray = new TransactionDetails[0];

                    moreTransactions = _Handler.GetStatements(_name, 20, ref transactionCount, ref transactionArray, ref _clientContextObj);

                    foreach (TransactionDetails td in transactionArray)
                    {
                        alTransactions.Add(td);
                    }
                }
                _Handler.ClosePersistentConnection(ref _clientContextObj);
            }
            catch (Exception)
            {
                // close the persistent connection
                _Handler.ClosePersistentConnection(ref _clientContextObj);

                // as all of the input values should have been valid, we are not looking
                // for any particular errors
                throw;
            }

            string[] returnLines = new string[alTransactions.Count];
            for (int index = 0; index < returnLines.Length; index++)
            {
                TransactionDetails thisTD = (TransactionDetails)alTransactions[index];
                returnLines[index] = thisTD.TXN_ACCT_NUM + "   " + thisTD.TXN_TYPE + "  " + thisTD.TXN_DATE + "   " + thisTD.TXN_AMOUNT.ToString();
            }

            return(returnLines);
        }