public IActionResult ScheduleExamination(ScheduledExaminationDTO dto) { if (dto.PatientId == 0) { dto.PatientId = Int32.Parse(HttpIdentityHandler.GetUserIdFromRequest(HttpContext.Request)); } var examination = ExaminationMapper.DtoToObject(dto); try { return(Ok(_examinationService.Schedule(examination))); } catch (NullReferenceException) { return(BadRequest("Examination cannot be null.")); } catch (ScheduleViolationException e) { return(BadRequest(e.Message)); } catch (ArgumentException e) { return(BadRequest(e.Message)); } }
public static Examination DtoToObject(ScheduledExaminationDTO dto) { return(new Examination { DoctorId = dto.DoctorId, TimeInterval = new TimeInterval(dto.StartTime, dto.StartTime.Add(Examination.TimeFrameSize)), PatientId = dto.PatientId, IsCanceled = false, Priority = ProcedurePriority.Low, }); }
public Examination ScheduleExamination(DateTime startTime, int doctorId, int patientId) { ScheduledExaminationDTO examinationDTO = new ScheduledExaminationDTO() { StartTime = startTime, DoctorId = doctorId, PatientId = patientId }; var client = new RestClient(AllConstants.ConnectionUrl); var request = new RestRequest("/api/schedule/examination", Method.POST); request.AddParameter(AllConstants.AuthorizationTokenKey, LoggedUser.Cookie, ParameterType.Cookie); request.AddJsonBody(JsonConvert.SerializeObject(examinationDTO)); var response = client.Post <Examination>(request); return(response.Data); }
public IActionResult ScheduleEmergencyExamination(ScheduledExaminationDTO dto) { var examination = ExaminationMapper.DtoToObject(dto); try { return(Ok(_examinationService.ScheduleEmergency(examination))); } catch (NullReferenceException) { return(BadRequest("Examination cannot be null.")); } catch (ScheduleViolationException e) { return(BadRequest(e.Message)); } catch (ArgumentException e) { return(BadRequest(e.Message)); } }