public async Task <IActionResult> CreatePhysicalExaminationAsync(PhysicalExaminationDTO physicalExaminationDto,
                                                                         HttpRequest request)
        {
            if (string.IsNullOrEmpty(physicalExaminationDto.Result))
            {
                return(new JsonResult(new ExceptionDto {
                    Message = "No examination result was passed"
                })
                {
                    StatusCode = 422
                });
            }

            var examinationCode =
                await examinationCodeRepository.GetAsync(physicalExaminationDto.ExaminationCodeId);

            if (examinationCode == null)
            {
                return(new JsonResult(new ExceptionDto {
                    Message = "No examination with given code was found"
                })
                {
                    StatusCode = 422
                });
            }

            var appointment = await appointmentRepository.GetAsync(physicalExaminationDto.AppointmentId);

            if (appointment == null)
            {
                return(new JsonResult(new ExceptionDto {
                    Message = "Could not find the appointment"
                })
                {
                    StatusCode = 422
                });
            }

            var physicalExamination = new PhysicalExamination
            {
                Result = physicalExaminationDto.Result, Appointment = appointment, ExaminationCode = examinationCode
            };

            await physicalExaminationRepository.AddAsync(physicalExamination);

            appointment.PhysicalExaminations.Add(physicalExamination);
            await appointmentRepository.UpdateAsync(appointment);

            return(new JsonResult(physicalExamination)
            {
                StatusCode = 200
            });
        }
Exemple #2
0
 public Task <IActionResult> AddPhysicalExamination([FromBody] PhysicalExaminationDTO physicalExaminationDto)
 {
     return(physicalExaminationService.CreatePhysicalExaminationAsync(physicalExaminationDto, Request));
 }