/// <summary>Process this part of the order, prior to payment authorization</summary>
        public override void Begin_Transaction(OrderInfo Order)
        {
            DataConnection = new Service.Insurance();
            OrderID        = DataConnection.Begin_Transaction(this.Prepare(Order));

            DataConnection.Close();
            DataConnection = null;
        }
        /// <summary>Complete processing this part of the order after payment authorization.</summary>
        /// <param name="AuthCode">The payment authorization code</param>
        /// <param name="RequestID">The payment processor Request ID</param>
        /// <param name="Successful">True if the payment was successful.</param>
        /// <param name="ReceiptNumber">The receipt number</param>
        public override void Complete_Transaction(string AuthCode, string RequestID, bool Successful, string ReceiptNumber)
        {
            if (DataConnection == null)
            {
                DataConnection = new Service.Insurance();
            }

            DataConnection.Complete_Transaction(OrderID, AuthCode, RequestID, ReceiptNumber);
            if (Detail != null)
            {
                Detail.ReceiptNumber = ReceiptNumber;
            }
            if (Successful || AuthCode != "DCALL")
            {
                OrderID = 0;
            }
            DataConnection.Close();
            DataConnection = null;
        }