public async Task <IActionResult> JoinRoom(ChatRoomJoinViewModel roomJoin) { var roomDB = await _roomService.GetRoom(roomJoin.ID); if (roomDB == null) { return(RedirectToAction("Index")); } if (!ModelState.IsValid) { return(View(roomJoin)); } if (!string.IsNullOrEmpty(roomDB.Password) && string.IsNullOrEmpty(roomJoin.Password)) { return(View(roomJoin)); } if (!BCrypt.Net.BCrypt.Verify(roomJoin.Password, roomDB.Password)) { return(RedirectToAction("Index")); } await _roomService.AddAccessedUserToRoom(roomDB.ID, HttpContext.GetUserID()); return(RedirectToAction("Room", new { roomId = roomJoin.ID })); }