Пример #1
0
        public async Task <ActionResult <Room> > SaveRoom(Room room)
        {
            var sc = await _roomRepo.AddNewRoom(room);

            if (sc == null)
            {
                return(NotFound());
            }
            return(sc);
        }
Пример #2
0
        public async Task <IHttpActionResult> Start(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(BadRequest());
            }
            var s = id.Split('-');

            if (s.Length != 2)
            {
                return(BadRequest());
            }

            var roomId = s[0];

            try
            {
                Trace.TraceInformation("[MeetingsController.GetStart] roomId=" + roomId);
                var room = await _roomRepo.GetRoomBySparkRoomID(roomId);

                if (room == null)
                {
                    //todo: create new Room with hardcoded botName
                    var newRoom = new Room
                    {
                        BotName = ConfigService.Get(Constants.BatNameHardcoded),
                        RoomId  = roomId
                    };
                    room = await _roomRepo.AddNewRoom(newRoom);
                }
                await _meetingService.StartMeetingAsync(room.Id);

                return(Ok(Helpers.CreateExternalMessage()));
            }
            catch (Exception ex)
            {
                var e = ex.GetInnerBottomException();
                Trace.TraceError(e.ToString());
                return(ResponseMessage(Request.CreateResponse(
                                           HttpStatusCode.InternalServerError, Helpers.CreateExternalMessage(e.Message))));
            }
        }