// // GetCustomers(): // // Returns all the customers from Db as a read only list. // public IReadOnlyList <Customer> GetCustomers() { List <Customer> customers = new List <Customer>(); try { dataTier.openConnection(); // query DataSet ds = dataTier.ExecuteNonScalarQuery(string.Format(@" SELECT * FROM Customer WITH(INDEX(CustomerLastName_Index)) ORDER BY LastName ASC, FirstName ASC; ")); // build list foreach (DataRow row in ds.Tables["TABLE"].Rows) { customers.Add( new Customer( Convert.ToInt32(row["CID"].ToString()), row["FirstName"].ToString(), row["LastName"].ToString(), row["Email"].ToString() ) ); } } catch (Exception e) { MessageBox.Show("GetCustomers(): " + e.Message); throw new ApplicationException(string.Format ("Error in Business.GetCustomers(): '{0}'", e.Message)); } finally { dataTier.CloseConnection(); } return(customers); }