public async Task <IActionResult> OnPostJoinExisting(string roomName)
        {
            if (string.IsNullOrEmpty(roomName))
            {
                ModelState.AddModelError(string.Empty, "A room name is required.");
                return(Page());
            }

            var room = await _roomsService.GetRoomAsync(roomName);

            if (room != null)
            {
                return(RedirectToAction("JoinChatRoom", "Chatting", routeValues: new { roomName = roomName }));
            }

            ModelState.AddModelError(string.Empty, "Such room doesn't exist :/");
            return(Page());
        }
Ejemplo n.º 2
0
        public async Task JoinRoom(string roomName)
        {
            try
            {
                var currentConnection = await _chatConnectionsService.GetChatConnectionAsync(Context.ConnectionId);

                await _chatConnectionsService.UpdateChatConnectionAsync(new ChatConnectionsDTO
                {
                    ConnectionId = Context.ConnectionId, RoomName = roomName, UserId = currentConnection.UserId,
                    UserAgent    = currentConnection.UserAgent, User = currentConnection.User, RoomNameNavigation = currentConnection.RoomNameNavigation
                });

                var rooms = await _roomsService.GetRoomAsync(roomName);

                await Groups.AddToGroupAsync(Context.ConnectionId, roomName);
            }
            catch (Exception e)
            {
                await _loggerService.LogAsync(new LogDTO
                                              { Date = DateTime.Now, Message = e.Message, StackTrace = e.StackTrace });
            }
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Get(string id)
        {
            var room = await _roomsService.GetRoomAsync(id);

            return(Ok(room));
        }