private void SubmitSmCallback(IAsyncResult ar) { if (InvokeRequired) { BeginInvoke((SubmitSmCallbackHandler)SubmitSmCallback, ar); return; } // Process the send/submit result EsmeSession session = (EsmeSession)ar.AsyncState; submit_sm_resp submitResp = session.EndSubmitSm(ar); // Update the message # in the message list using the sequence # string status = "Pending"; if (submitResp.Status != StatusCodes.ESME_ROK) { MessageBox.Show("Error sending message: " + submitResp.Status); UpdateSentMessageId(submitResp.SequenceNumber, "******", "Error: " + submitResp.Status); return; } // Some carriers submit_sm message ID are in hex - convert to decimal since delivery receipt is in decimal string decimalMessageId = Convert.ToInt64(submitResp.MessageID, submitResponseMessageIdBase_).ToString(); UpdateSentMessageId(submitResp.SequenceNumber, decimalMessageId, status); // Re-enable the Send button... btnSendMessage.Enabled = true; }
private static void SubmitSmCallback(IAsyncResult ar) { // Process the send/submit result EsmeSession session = (EsmeSession)ar.AsyncState; submit_sm_resp submitResp = session.EndSubmitSm(ar); Console.WriteLine(string.Format("Submit short message result: {0}, message id: {1}", submitResp.Status, submitResp.MessageID)); }