private void AddArduinoToRoom(ArduinoJoin arduinoActionArduinoJoin, IWebSocketConnection connection)
        {
            var response = new ServerMessage();

            var repository = _lifetimeScope.Resolve <IRepository>();

            if (repository.GetAll <ArduinoDevice>()
                .Any(arduino => arduino.ArduinoDeviceId == arduinoActionArduinoJoin.ArduinoId))
            {
                response.ArduinoConnectedMessage = new ArduinoConnected
                {
                    Fail = true
                };
            }
            else
            {
                var room = _socketRooms
                           .FirstOrDefault(x => x.ConnectedClients
                                           .Any(client => client.RfIdCardNumber == arduinoActionArduinoJoin.RfIdCard));

                if (room == null)
                {
                    room = new SocketRoom();
                }

                var newClient = new ArduinoSocketClient(room, connection, arduinoActionArduinoJoin.RfIdCard);
                room.AddClient(newClient);

                _joinedClients.TryAdd(connection, newClient);
            }

            connection.Send(response.ToByteArray());
        }
        private void AddWebClientToRoom(WebClientActionJoin webClientActionJoin, IWebSocketConnection connection)
        {
            var room = _socketRooms.FirstOrDefault(x => x.ConnectedClients.Any(client => client.RfIdCardNumber == webClientActionJoin.RfIdCardNo));

            if (room == null)
            {
                room = new SocketRoom();
            }

            var newClient = new BrowserSocketClient(room, connection, webClientActionJoin.RfIdCardNo);

            room.AddClient(newClient);

            _joinedClients.TryAdd(connection, newClient);
        }
 public BrowserSocketClient(SocketRoom socketRoom, IWebSocketConnection webSocketConnection, int clientId)
 {
     SocketRoom          = socketRoom;
     WebSocketConnection = webSocketConnection;
     RfIdCardNumber      = clientId;
 }
 public ArduinoSocketClient(SocketRoom socketRoom, IWebSocketConnection webSocketConnection, int rfId)
 {
     SocketRoom          = socketRoom;
     WebSocketConnection = webSocketConnection;
     RfIdCardNumber      = rfId;
 }