public async Task <IActionResult> Room(string roomId)
        {
            var roomDB = await _roomService.GetRoom(roomId);

            if (roomDB == null)
            {
                return(RedirectToAction("Index"));
            }
            var userID = HttpContext.GetUserID();

            if (!_roomService.HasUserAccess(roomId, userID))
            {
                return(RedirectToAction("JoinRoom", new { roomId }));
            }

            var users = (_roomService.ConnectedUsers(_connectionService.ConnectedUsersID(roomId), roomId)).Distinct(new UserComparer());
            var room  = _mapper.Map <ChatRoom, ChatRoomViewModel>(roomDB, opt =>
                                                                  opt.AfterMap((src, dest) => dest.UsersInRoom = users.Where(x => x.ID != userID).Select(x => _mapper.Map <UserViewModel>(x))));

            return(View(room));
        }