Beispiel #1
0
        public RoomInfoResponse Info(Guid roomId)
        {
            var room = roomsManager.FindRoom(roomId) ??
                       throw new StatusCodeException(Exceptions.StatusCode.DontExistRoom);

            return(RoomInfoResponse.Create(room.ToRoomPresent()));
        }
Beispiel #2
0
        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"));
        }
Beispiel #3
0
        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));
        }