private bool ProcessConnectedTextMessageAsync(string token, TypeofJsonMessage jsonMessage, System.Web.Script.Serialization.JavaScriptSerializer jss) { WebSocketClient session; session = getYarn(token); if (session == null) { _is_connected = false; _connected_connection_token = null; onUpDateStatus.Invoke(this, _ct); return(false); } if (session._is_client) { session._is_connected = true; session._connected_connection_token = _token; } sendTextMessageAsync.Invoke(session, jss.Serialize(new { token = _token, connection_token = _connection_token, status = jsonMessage.task_type, message = _message.ToString(), }), _ct); _message.Clear(); return(true); }
private bool ProcessTextMessageAsync(TypeofJsonMessage jsonMessage, System.Web.Script.Serialization.JavaScriptSerializer jss) { if (jsonMessage.task_type == TaskType.OFFLINE) { _isOnLine = false; onChangeStatus.Invoke(this, TaskType.OFFLINE, _ct); return(true); } if (jsonMessage.task_type == TaskType.ONLINE) { _isOnLine = true; onChangeStatus.Invoke(this, TaskType.ONLINE, _ct); return(true); } if (jsonMessage.task_type != TaskType.SEND_MESSAGE) { return(true); } if (jsonMessage.is_chat_content) { if (!_chat_enable) { return(false); } if (!_connection.Exists(a => a == jsonMessage.connection_token)) { _connection.Add(jsonMessage.connection_token); } ; return(ProcessConnectedTextMessageAsync(jsonMessage.connection_token, jsonMessage, jss)); } _message.Append(jsonMessage.message); if (_is_connected) { if (!_is_client) { if (!_connection.Exists(a => a == jsonMessage.connection_token)) { _connection.Add(jsonMessage.connection_token); } ; } ProcessConnectedTextMessageAsync(_connected_connection_token, jsonMessage, jss); return(true); } if (_is_virtual_assistant) { if (!_connection.Exists(a => a == jsonMessage.connection_token)) { _connection.Add(jsonMessage.connection_token); //_connected_connection_token = jsonMessage.connection_token; } ; //_connection.Add(jsonMessage.connection_token); return(ProcessConnectedTextMessageAsync(jsonMessage.connection_token, jsonMessage, jss)); } sendToAllStaffAsync.Invoke(jss.Serialize(new { token = _token, connection_token = _connection_token, status = jsonMessage.task_type, message = jsonMessage.message }), _ct); return(true); }