Example #1
0
        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));
            }
        }
Example #2
0
 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,
     });
 }
Example #3
0
        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);
        }
Example #4
0
        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));
            }
        }