public IActionResult GetChatRooms() { var chatRooms = chatRoomService .GetChatRooms() .Where((item) => item.RoomType == ChatRoom.Type.Public) .ApiChatRooms(); return(Ok(chatRooms)); }
public async Task GetChatRooms() { var _repository = TestConfig._chatRoomRepository; _repository.Setup(x => x.GetAll()).Returns(TestConfig.CHAT_ROOM_QUERYABLE_LIST); var service = new ChatRoomService(_repository.Object, TestConfig._usersChatRoomRepository.Object, TestConfig._messageRepository.Object, TestConfig._userManageMock.Object); var valueResult = service.GetChatRooms(); Assert.IsType <List <ChatRoom> >(valueResult.Result); }
public override Task OnDisconnectedAsync(Exception exception) { return(Task.Run(() => { userConnectionsService.ChatConnectionService.Remove(Context.User, Context.ConnectionId); foreach (var chatRoom in chatRoomService.GetChatRooms()) { if (chatRoom.HasParticipant(Context.User)) { var apiObject = new ChatRoomLeave { LeavingUser = Context.User.ApiGetUser(), ChatRoom = chatRoom.ApiChatRoom() }; chatRoom.RemoveParticipant(Context.User); foreach (var participant in chatRoom.GetParticipants()) { var connection = userConnectionsService.ChatConnectionService.GetConnection(participant); if (connection == null) { continue; } Clients.Client(connection).ChatRoomLeave(apiObject); } } } var disconnectedUserApiObject = new ChatUserDisconnected { DisconnectedUser = Context.User.ApiGetUser() }; foreach (var connection in userConnectionsService.ChatConnectionService.GetUserConnections()) { Clients.Client(connection).ChatUserDisconnected(disconnectedUserApiObject); } return base.OnDisconnectedAsync(exception); })); }