public async Task Outbox_SQLSagaTransport_RollsbackSagaAndDataOnTransportException()
        {
            //Arrange
            Client client = new Client();
            string orderId = Client.GetRandomOrderId();

            using (IBus bus = client.StartSQLEndpoint(true))
            {
                //Act
                client.SubmitOrder_SagaTransportException(orderId, bus);
            }

            // Assert
            await Helpers.PutTaskDelay();

            Helpers.Assert_Failed_OrderTransactionCommitted(orderId);
            Helpers.Assert_Failed_SagaDataTransactionCommitted_InSharedDB(orderId);
            //Assert.AreEqual("", SharedState.HandleSuccessMessage);           
        }
        public async Task Outbox_SQLSagaTransport_RollsbackSagaAndDataOnTransportException()
        {
            //Arrange
            Client client  = new Client();
            string orderId = Client.GetRandomOrderId();

            using (IBus bus = client.StartSQLEndpoint(true))
            {
                //Act
                client.SubmitOrder_SagaTransportException(orderId, bus);
            }

            // Assert
            await Helpers.PutTaskDelay();

            Helpers.Assert_Failed_OrderTransactionCommitted(orderId);
            Helpers.Assert_Failed_SagaDataTransactionCommitted_InSharedDB(orderId);
            //Assert.AreEqual("", SharedState.HandleSuccessMessage);
        }
        public async Task Outbox_SQLTransport_Successfully_CreateDatabaseRecords()
        {
            //Arrange
            SharedState.HandleSuccessMessage = "";

            Client client = new Client();
            string orderId = Client.GetRandomOrderId();

            using (IBus bus = client.StartSQLEndpoint(true))
            {
                //Act
                client.SubmitOrder(orderId, bus);
            }

            // Assert
            await Helpers.PutTaskDelay();
            Helpers.Assert_OrderTransactionCommitted(orderId);
            Helpers.Assert_SagaDataTransactionCommitted_InSharedDB(orderId);
            //Assert.AreEqual(string.Format("Order {0} accepted.", orderId), SharedState.HandleSuccessMessage);
        }
        public async Task Outbox_SQLTransport_Successfully_CreateDatabaseRecords()
        {
            //Arrange
            SharedState.HandleSuccessMessage = "";

            Client client  = new Client();
            string orderId = Client.GetRandomOrderId();

            using (IBus bus = client.StartSQLEndpoint(true))
            {
                //Act
                client.SubmitOrder(orderId, bus);
            }

            // Assert
            await Helpers.PutTaskDelay();

            Helpers.Assert_OrderTransactionCommitted(orderId);
            Helpers.Assert_SagaDataTransactionCommitted_InSharedDB(orderId);
            //Assert.AreEqual(string.Format("Order {0} accepted.", orderId), SharedState.HandleSuccessMessage);
        }