internal void MessageStateChangeHandler(MessagingEventParams eventParams, MessagingEventParams.StateParams stateParams) { Message message = new Message() { Body = stateParams.Body, Context = stateParams.Context, Direction = stateParams.Direction, From = stateParams.FromNumber, ID = stateParams.MessageID, Media = stateParams.Media, Reason = stateParams.Reason, Segments = stateParams.Segments, State = stateParams.MessageState, Tags = stateParams.Tags, To = stateParams.ToNumber, }; OnMessageStateChange?.Invoke(this, message, eventParams, stateParams); switch (stateParams.MessageState) { case MessageState.queued: OnMessageQueued?.Invoke(this, message, eventParams, stateParams); break; case MessageState.initiated: OnInitiated?.Invoke(this, message, eventParams, stateParams); break; case MessageState.sent: OnMessageSent?.Invoke(this, message, eventParams, stateParams); break; case MessageState.delivered: OnMessageDelivered?.Invoke(this, message, eventParams, stateParams); break; case MessageState.undelivered: OnMessageUndelivered?.Invoke(this, message, eventParams, stateParams); break; case MessageState.failed: OnMessageFailed?.Invoke(this, message, eventParams, stateParams); break; } }
/// <summary> /// Triggers the message queued event. /// </summary> /// <param name="message">The message.</param> private void TriggerMessageQueued(INotificationMessage message) { OnMessageQueued?.Invoke(this, new NotificationMessageManagerEventArgs(message)); }