private void OnFilteredLogsReceived(object sender, FilteredLogsReceivedEventArgs e) { FilteredLogsReceived?.Invoke(this, e); }
private void OnMessage(object sender, MessageEventArgs e) { if (!e.IsText) { return; } var container = JsonConvert.DeserializeObject <MessageContainer>(e.Data); switch (container.Identifier) { case nameof(ConnectionResponse): var connectionResponse = ((JObject)container.Payload).ToObject(typeof(ConnectionResponse)) as ConnectionResponse; if (connectionResponse.Result == ResultCode.Failure) { Username = string.Empty; string source = string.Empty; ErrorReceived?.Invoke(this, new ErrorReceivedEventArgs(connectionResponse.Reason, connectionResponse.Date)); } if (!String.IsNullOrEmpty(Username)) { ConnectionStateChanged?.Invoke(this, new ConnectionStateChangedEventArgs(Username, true, DateTime.Now, connectionResponse.ActiveUsers)); } break; case nameof(ConnectionBroadcast): var connectionBroadcast = ((JObject)container.Payload).ToObject(typeof(ConnectionBroadcast)) as ConnectionBroadcast; if (connectionBroadcast.Username != Username) { ConnectionReceived?.Invoke(this, new ConnectionReceivedEventArgs(connectionBroadcast.Username, connectionBroadcast.IsConnected, connectionBroadcast.Date)); } break; case nameof(MessageBroadcast): var messageBroadcast = ((JObject)container.Payload).ToObject(typeof(MessageBroadcast)) as MessageBroadcast; MessageReceived?.Invoke(this, new MessageReceivedEventArgs(messageBroadcast.Source, messageBroadcast.Target, messageBroadcast.Message, messageBroadcast.Groupname, messageBroadcast.Date)); break; case nameof(UserListResponse): var userListResponse = ((JObject)container.Payload).ToObject(typeof(UserListResponse)) as UserListResponse; UsersReceived?.Invoke(this, new UsersReceivedEventArgs(userListResponse.UserList)); break; case nameof(MessageHistoryResponse): var messageHistoryResponse = ((JObject)container.Payload).ToObject(typeof(MessageHistoryResponse)) as MessageHistoryResponse; MessageHistoryReceived?.Invoke(this, new MessageHistoryReceivedEventArgs(messageHistoryResponse.GroupMessages)); break; case nameof(FiltrationResponse): var filterResponse = ((JObject)container.Payload).ToObject(typeof(FiltrationResponse)) as FiltrationResponse; FilteredLogsReceived?.Invoke(this, new FilteredLogsReceivedEventArgs(filterResponse.FilteredLogs)); break; case nameof(GroupListResponse): var groupsListResponse = ((JObject)container.Payload).ToObject(typeof(GroupListResponse)) as GroupListResponse; GroupsReceived?.Invoke(this, new GroupsReceivedEventArgs(groupsListResponse.Groups)); break; case nameof(GroupBroadcast): var groupBroadcast = ((JObject)container.Payload).ToObject(typeof(GroupBroadcast)) as GroupBroadcast; GroupsReceived?.Invoke(this, new GroupsReceivedEventArgs(groupBroadcast.Groupname)); break; } }