public RoomInfoResponse Info(Guid roomId) { var room = roomsManager.FindRoom(roomId) ?? throw new StatusCodeException(Exceptions.StatusCode.DontExistRoom); return(RoomInfoResponse.Create(room.ToRoomPresent())); }
public async Task <ActionResult> GetRoomInfo() { //Request.Body.Position = 0; var input = await Request.GetRawBodyBytesAsync(); var request = _serializer.DeserializeAs <RoomInfoRequest>(input); var response = new RoomInfoResponse(); try { var room = _roomManager.GetRoom(request.RoomId); if (room == null) { response.SetError($"Room {request.RoomId} not found"); } else { response.CreatedDate = room.CreatedOn; response.State = room.State; } } catch (Exception ex) { _logger.Error($"Update room state error: {ex}"); response.ResultCode = ResultCode.RequestProcessingError; } return(new FileContentResult(_serializer.Serialize(response), "text/html")); }
public async Task <IActionResult> GetRooms() { var list = await Client.GetRoomListAsync(); var response = new List <RoomInfoResponse>(); response.AddRange(list.Public.Select(r => RoomInfoResponse.FromRoomInfo(r))); response.AddRange(list.Private.Select(r => RoomInfoResponse.FromRoomInfo(r, isPrivate: true))); response.AddRange(list.Owned.Select(r => RoomInfoResponse.FromRoomInfo(r, isPrivate: true, isOwned: true))); foreach (var room in response) { room.IsModerated = list.ModeratedRoomNames.Contains(room.Name); } return(Ok(response)); }