public async Task <AppointmentModel> CreateAppointment([FromBody] AppointmentModel model) { try { var tokBoxSetting = ConfigurationManager.AppSetting.TokBoxVideoSetting; var OT = new OpenTok(tokBoxSetting.APIKEY, tokBoxSetting.APISecret); var Session = OT.CreateSession("", MediaMode.RELAYED, ArchiveMode.MANUAL); model.RoomSID = Session.Id; var user = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; var patient = await _manager.GetPatientDetails(user); model.PatientId = patient.PatientId; var appointment = await _manager.CreateAppointment(model); return(appointment); } catch (GenericException ex) { return(new AppointmentModel { error = ex.Code }); } catch (Exception ex) { return(new AppointmentModel { error = ex.Message }); } }