Ejemplo n.º 1
0
        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
                });
            }
        }