public virtual stock_SymbolPermLongCollection Getstock_SymbolPermLongList(stock_SymbolPermLongColumns orderBy, string orderDirection, int page, int pageSize, out int totalRecords) { try { Database database = DatabaseFactory.CreateDatabase("DestinationConnection"); DbCommand dbCommand = database.GetStoredProcCommand("spstock_SymbolPermLongGetList"); 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); stock_SymbolPermLongCollection stock_SymbolPermLongCollection = new stock_SymbolPermLongCollection(); using (IDataReader reader = database.ExecuteReader(dbCommand)) { while (reader.Read()) { stock_SymbolPermLong stock_SymbolPermLong = Createstock_SymbolPermLongFromReader(reader); stock_SymbolPermLongCollection.Add(stock_SymbolPermLong); } reader.Close(); } totalRecords = (int)database.GetParameterValue(dbCommand, "@TotalRecords"); return stock_SymbolPermLongCollection; } catch (Exception ex) { // log this exception log4net.Util.LogLog.Error(ex.Message, ex); // wrap it and rethrow throw new ApplicationException(SR.DataAccessGetstock_SymbolPermLongListException, ex); } }