public void Begin(Orders orders)
        {
            command = connection.CreateCommand();
            transaction = connection.BeginTransaction("OrderInsert");
            command.Connection = connection;
            command.Transaction = transaction;

            OrderInsertData orderAdd = new OrderInsertData();
            OrderDetailsInsertData orderDetailsAdd = new OrderDetailsInsertData();
            ShoppingCartByGuidDeleteData shoppingCartDelete = new ShoppingCartByGuidDeleteData();

            try
            {
                //insert order
                orderAdd.Orders = orders;
                orderAdd.Add(transaction);

                //insert order details
                //Products.Count only applies of using collection rather than array.
                for (int i = 0; i < orders.OrderDetails.Products.Length; i++)
                {
                    orderDetailsAdd.OrderDetails.OrderId = orders.OrderId;
                    orderDetailsAdd.OrderDetails.ProductId = orders.OrderDetails.Products[i].ProductId;
                    orderDetailsAdd.OrderDetails.Quantity = orders.OrderDetails.Products[i].Quantity;

                    orderDetailsAdd.Add(transaction);
                }
                transaction.Commit();
            }
            catch(Exception ex)
            {
                transaction.Rollback("OrderInsert");
                throw ex;
            }
        }
 public void Invoke()
 {
     ShoppingCartByGuidDeleteData shoppingCartData = new ShoppingCartByGuidDeleteData();
     shoppingCartData.ShoppingCart = this.ShoppingCart;
     shoppingCartData.Delete();
 }