//ExStart:GetSingleCustomerDT
 /// <summary>
 /// Fetches Customers from database
 /// </summary>
 /// <returns>Returns DataSet, very first record from the table</returns>
 public static DataRow GetSingleCustomerDT()
 {
     DatabaseEntitiesDataContext dbEntities = new DatabaseEntitiesDataContext();
     var customers = (from c in dbEntities.Customers
                      select new
                      {
                          c.CustomerID,
                          c.CustomerName,
                          c.ShippingAddress,
                          c.CustomerContactNumber,
                          c.Photo
                      }).AsEnumerable();
     DataTable Customers = new DataTable();
     //ToADOTable function converts query results into DataTable
     Customers = customers.ToADOTable(rec => new object[] { customers });
     Customers.TableName = "Customers";
     DataSet dataSet = new DataSet();
     //Adding DataTable in DataSet
     dataSet.Tables.Add(Customers);
     return dataSet.Tables["Customers"].Rows[0];
 }
 //ExStart:GetSingleCustomerDataDB
 /// <summary>
 /// Fetches single customer data
 /// </summary>
 /// <returns>Return single, first customer's data</returns>
 public static Customer GetSingleCustomerDataDB()
 {
     //create object of data context
     DatabaseEntitiesDataContext dbEntites = new DatabaseEntitiesDataContext();
     IEnumerator<Customer> customer = GetCustomersDataDB().GetEnumerator();
     customer.MoveNext();
     return customer.Current;
 }
 //ExStart:GetProductsDataDT
 /// <summary>
 /// Fetches Products and ProductOrders information, store them in DataTables and load DataTable to DataSet
 /// </summary>
 /// <returns>Returns DataSet</returns>
 public static DataSet GetProductsDT()
 {
     DatabaseEntitiesDataContext dbEntities = new DatabaseEntitiesDataContext();
     var products = (from c in dbEntities.Products
                     select c).AsEnumerable();
     var productOrders = (from c in dbEntities.ProductOrders
                          select c).AsEnumerable();
     DataTable Products = new DataTable();
     //ToADOTable function converts query results into DataTable
     Products = products.ToADOTable(rec => new object[] { products });
     DataTable ProductOrders = new DataTable();
     ProductOrders = productOrders.ToADOTable(rec => new object[] { productOrders });
     ProductOrders.TableName = "ProductOrder";
     Products.TableName = "products";
     DataSet dataSet = new DataSet();
     //Adding DataTable in DataSet
     dataSet.Tables.Add(Products);
     dataSet.Tables.Add(ProductOrders);
     return dataSet;
 }
 //ExStart:GetProductsDataDB
 /// <summary>
 /// Fetches products from database 
 /// </summary>
 /// <returns>Returns products information, one data at a time </returns>
 public static IEnumerable<Product> GetProductsDataDB()
 {
     //create object of data context
     DatabaseEntitiesDataContext dbEntities = new DatabaseEntitiesDataContext();
     return dbEntities.Products;
 }
 //ExStart:GetOrdersDataDB
 /// <summary>
 /// Fetches orders from database
 /// </summary>
 /// <returns>Returns order details, one data at a time</returns>
 public static IEnumerable<Order> GetOrdersDataDB()
 {
     //create object of data context
     DatabaseEntitiesDataContext dbEntities = new DatabaseEntitiesDataContext();
     return dbEntities.Orders;
 }
 //ExStart:GetCustomersAndOrdersDataDT
 /// <summary>
 /// Fetches Orders, ProductOrders and Customers from database
 /// </summary>
 /// <returns>Returns DataSet</returns>
 public static DataSet GetCustomersAndOrdersDataDT()
 {
     DatabaseEntitiesDataContext dbEntities = new DatabaseEntitiesDataContext();
     var orders = (from c in dbEntities.Orders
                   select c).AsEnumerable();
     var productOrders = (from c in dbEntities.ProductOrders
                          select c).AsEnumerable();
     var customers = (from c in dbEntities.Customers
                      select c).AsEnumerable();
     DataTable Orders = new DataTable();
     //ToADOTable function converts query results into DataTable
     Orders = orders.ToADOTable(rec => new object[] { orders });
     DataTable ProductOrders = new DataTable();
     ProductOrders = productOrders.ToADOTable(rec => new object[] { productOrders });
     DataTable Customers = new DataTable();
     Customers = customers.ToADOTable(rec => new object[] { customers });
     ProductOrders.TableName = "ProductOrder";
     Orders.TableName = "Orders";
     Customers.TableName = "Customers";
     DataSet dataSet = new DataSet();
     //Adding DataTable in DataSet
     dataSet.Tables.Add(Orders);
     dataSet.Tables.Add(ProductOrders);
     dataSet.Tables.Add(Customers);
     return dataSet;
 }