private void orderEntry_TransactionResponse(object sender, TransactionResponseEventArgs e) { // Report error or newly-created OrderID if (e.Error) { ErrorString = e.Errors[0]; SetState(TaskStateType.Error); } else { ErrorString = orderEntry.OrderID; SetState(TaskStateType.Done); } // clear up orderEntry.TransactionResponse -= orderEntry_TransactionResponse; orderEntry.Dispose(); orderEntry = null; }