private void TryRaiseIndicateUserIsTypingMessage(string eventName, JObject jsonObjectEvent) { var json = jsonObjectEvent.ToString(); var events = _jsonObjectConverter.Deserialize <AccountActivityUserIsTypingMessageDTO>(json); events.TypingEvents.ForEach(typingEvent => { var activityEvent = new AccountActivityEvent { AccountUserId = AccountUserId, EventDate = typingEvent.CreatedAt, Json = json }; events.UsersById.TryGetValue(typingEvent.SenderId.ToString(), out var senderDTO); events.UsersById.TryGetValue(typingEvent.Target.RecipientId.ToString(), out var recipientDTO); var sender = _factories.CreateUser(senderDTO); var recipient = _factories.CreateUser(recipientDTO); var eventArgs = new UserIsTypingMessageEvent(activityEvent, sender, recipient); this.Raise(UserIsTypingMessage, eventArgs); if (eventArgs.InResultOf == UserIsTypingMessageInResultOf.Unknown) { this.Raise(EventKnownButNotFullySupportedReceived, new EventKnownButNotSupported(json, eventArgs)); } }); }
private void UserIsTypingMessage(object sender, UserIsTypingMessageEvent e) { Console.WriteLine($">>> User {e.TypingUser} is typing a message to {e.TypingTo}..."); }