public virtual StockPriceCollection GetStockPriceList(StockPriceColumns orderBy, string orderDirection, int page, int pageSize, out int totalRecords)
 {            
     try
     {
         Database database = DatabaseFactory.CreateDatabase("CoreSecurityServiceConnection");
         DbCommand dbCommand = database.GetStoredProcCommand("spStockPriceGetList");
         
         database.AddInParameter(dbCommand, "@OrderBy", DbType.AnsiString, orderBy.ToString());
         database.AddInParameter(dbCommand, "@OrderDirection", DbType.AnsiString, orderDirection.ToString());
         database.AddInParameter(dbCommand, "@Page", DbType.Int32, page);
         database.AddInParameter(dbCommand, "@PageSize", DbType.Int32, pageSize);
         database.AddOutParameter(dbCommand, "@TotalRecords", DbType.Int32, 4);
         
         StockPriceCollection stockPriceCollection = new StockPriceCollection();
         using (IDataReader reader = database.ExecuteReader(dbCommand))
         {
             while (reader.Read())
             {
                 StockPrice stockPrice = CreateStockPriceFromReader(reader);
                 stockPriceCollection.Add(stockPrice);
             }
             reader.Close();
         }
         totalRecords = (int)database.GetParameterValue(dbCommand, "@TotalRecords");
         return stockPriceCollection;
     }
     catch (Exception ex)
     {
         // log this exception
         log4net.Util.LogLog.Error(ex.Message, ex);
         // wrap it and rethrow
         throw new ApplicationException(SR.DataAccessGetStockPriceListException, ex);
     }
 }
 public virtual StockPriceCollection GetStockPriceList(StockPriceColumns orderBy, string orderDirection)
 {            
     int totalRecords = 0;
     return GetStockPriceList(orderBy, orderDirection, 0, 0, out totalRecords);
 }
 public static StockPriceCollection GetStockPriceList(StockPriceColumns orderBy, string orderDirection)
 {            
     try
     {
         StockPriceDAO stockPriceDAO = new StockPriceDAO();
         return stockPriceDAO.GetStockPriceList(orderBy, orderDirection);
     }
     catch (ApplicationException)
     {
         throw;
     }
     catch (Exception ex)
     {
         // log this exception
         log4net.Util.LogLog.Error(ex.Message, ex);
         // wrap it and rethrow
         throw new ApplicationException(SR.BusinessGetStockPriceListException, ex);
     }
 }