public async Task <ActionResult <Room> > SaveRoom(Room room) { var sc = await _roomRepo.AddNewRoom(room); if (sc == null) { return(NotFound()); } return(sc); }
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)))); } }