private void enquiryTaskCompletedCallback(IAsyncResult ar)
        {
            saveOrderStatusEnquiry orderStatusEnquiryDelegate = (saveOrderStatusEnquiry)((AsyncResult)ar).AsyncDelegate;
            AsyncOperation         async = (AsyncOperation)ar.AsyncState;

            // finish the asynchronous operation
            orderStatusEnquiryDelegate.EndInvoke(ar);
        }
        public void saveOrderStatusEnquiryAsync(int orderID, int userID)
        {
            saveOrderStatusEnquiry orderStatusEnquiryDelegate = new saveOrderStatusEnquiry(GetOrderStatusEnquiry);
            AsyncCallback          enquiryCompletedCallback   = new AsyncCallback(enquiryTaskCompletedCallback);

            lock (_sync)
            {
                orderStatusEnquiryDelegate.BeginInvoke(orderID, userID, enquiryCompletedCallback, null);
                _taskIsRunning = true;
            }
        }