Exemplo n.º 1
0
        //
        // 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);
        }