public void SubscribeToRoom(RoomType roomType, Socket socket) { RoomSubscriber roomSubscriber = new RoomSubscriber(this.messageHub); SocketModel socketModel = generateSocketModel(roomType, socket); roomSubscriber.Subscribe(roomType, socketModel); var modelId = socketRepository.GetSocketId(socketModel.Port, socketModel.IpAddress); if (modelId == 0) { socketModel = socketRepository.Insert(socketModel); } var clientRoom = new ClientRoom(); clientRoom.Room = (int)roomType; clientRoom.SocketId = modelId; clientRoomRepository.Insert(clientRoom); }