public void OnSendMessage(UccInstantMessagingSession pEventSource, UccSessionOperationEvent pEventData) { if (SendingMessage != null) { SendingMessage(pEventSource, pEventData); } }
void _IUccInstantMessagingSessionEvents.OnSendMessage(UccInstantMessagingSession eventSource, UccSessionOperationEvent eventData) { int messageId = eventData.OriginalOperationContext.Context.get_Property(ContextMessageId).NumericValue; OutgoingMessage message = this.sendingMessages[messageId]; foreach (IUccSessionParticipantOperationEvent operationEvent in eventData.ParticipantResults) { message.GetParticipantResult(operationEvent.ParticipantEndpoint.Uri).Set( operationEvent.Result ); } int successCount = 0; int failedCount = 0; foreach (IParticipantResult result in message.SendResults) { if (result.IsComplete && Helpers.IsOperationSuccess(result.StatusCode)) { successCount++; } if (result.IsComplete && Helpers.IsOperationFailed(result.StatusCode)) { failedCount++; } } if (successCount + failedCount == message.SendResults.Count) { this.sendingMessages.Remove(messageId); if (successCount == 0) { message.State = OutgoingMessageState.Failed; } else if (failedCount == 0) { message.State = OutgoingMessageState.Success; } else { message.State = OutgoingMessageState.PartialSuccess; } if (this.SendResult != null && message.ContentType != MessageContentType.FileData) { this.SendResult(this, new ImSessionEventArgs1(message)); } } }
void _IUccInstantMessagingSessionEvents.OnSendMessage( UccInstantMessagingSession eventSource, UccSessionOperationEvent eventData) { }