public override void Run(object context)
        {
            DbController dbc = new DbController(Connection);

            try
            {
                Customer customer = dbc.GetRandomCustomer();

                Log(customer.ToString());

                Order order = (Order)ObjectFactory.Create(ObjectType.Order);
                order.Customer = customer;

                Log(order.ToString());

                dbc.AddOrder(order);

                Order result = dbc.GetOrder(order.OrderId);
                if (result == null)
                {
                    Fail("Failed to insert new Order record");
                    return;
                }
                else if (!order.Equals(result))
                {
                    Fail("Inserted Order record having inconsistent data");
                    return;
                }

                order          = (Order)ObjectFactory.Create(ObjectType.Order);
                order.OrderId  = result.OrderId;
                order.Customer = customer;
                dbc.UpdateOrder(order);

                result = dbc.GetOrder(order.OrderId);
                if (!order.Equals(result))
                {
                    Fail("Failed to update Order record");
                    return;
                }

                dbc.DeleteOrder(order.OrderId);
                if (dbc.GetOrder(order.OrderId) != null)
                {
                    Fail("Failed to delete Order record");
                }
            }
            catch (Exception e)
            {
                Fail(e);
            }
            finally
            {
                base.Run(context);
            }
        }
        public override void Run(object context)
        {
            DbController dbc = new DbController(Connection);

            try
            {
                Customer customer = dbc.GetRandomCustomer();

                Log(customer.ToString());

                Order order = (Order)ObjectFactory.Create(ObjectType.Order);
                order.Customer = customer;

                Log(order.ToString());

                dbc.AddOrder(order);

                Order result = dbc.GetOrder(order.OrderId);
                if (result == null)
                {
                    Fail("Failed to insert new Order record");
                    return;
                }
                else if (!order.Equals(result))
                {
                    Fail("Inserted Order record having inconsistent data");
                    return;
                }

                order = (Order)ObjectFactory.Create(ObjectType.Order);
                order.OrderId = result.OrderId;
                order.Customer = customer;
                dbc.UpdateOrder(order);

                result = dbc.GetOrder(order.OrderId);
                if (!order.Equals(result))
                {
                    Fail("Failed to update Order record");
                    return;
                }

                dbc.DeleteOrder(order.OrderId);
                if (dbc.GetOrder(order.OrderId) != null)
                    Fail("Failed to delete Order record");
            }
            catch (Exception e)
            {
                Fail(e);
            }
            finally
            {
                base.Run(context);
            }
        }
        public override void Run(object context)
        {
            DbController dbc = new DbController(Connection);

            try
            {
                dbc.DeleteOrder(dbc.GetRandomOrderDetail().OrderId);
                Fail("OrderDetail constraint violoation exception should have occurred");
            }
            catch (Exception e)
            {
                Log(e);
            }
            finally
            {
                base.Run(context);
            }
        }
        public override void Run(object context)
        {
            DbController dbc = new DbController(Connection);

            try
            {
                dbc.DeleteOrder(dbc.GetRandomOrderDetail().OrderId);
                Fail("OrderDetail constraint violoation exception should have occurred");
            }
            catch (Exception e)
            {
                Log(e);
            }
            finally
            {
                base.Run(context);
            }
        }