public async Task <IActionResult> Put(int id, [FromBody] BasePhysicalExaminationDto updatePhysicalExaminationDto)
        {
            var physicalExamination = await _physicalExaminationRepository.Get(id);

            if (physicalExamination == null)
            {
                return(NotFound());
            }

            if (updatePhysicalExaminationDto.ExaminationTypeId != null)
            {
                var examinationType =
                    await _examinationTypeRepository.Get(updatePhysicalExaminationDto.ExaminationTypeId.Value);

                if (examinationType == null)
                {
                    return(BadRequest("Aanvullend onderzoek type bestaat niet."));
                }
            }

            if (updatePhysicalExaminationDto.ConsultationId != null)
            {
                var consultation =
                    await _consultationRepository.Get(updatePhysicalExaminationDto.ConsultationId.Value);

                if (consultation == null)
                {
                    return(BadRequest("Consult bestaat niet."));
                }
            }

            if (updatePhysicalExaminationDto.PatientId != null)
            {
                var patient = await _patientRepository.Get(updatePhysicalExaminationDto.PatientId.Value);

                if (patient == null)
                {
                    return(BadRequest("Patiënt bestaat niet."));
                }
            }

            var userId      = User.Claims.First(u => u.Type == ClaimTypes.Sid).Value;
            var currentUser = await _identityRepository.GetUserById(userId);

            _mapper.Map(updatePhysicalExaminationDto, physicalExamination);

            physicalExamination.Id = id;

            var updatedPhysicalExamination =
                await _physicalExaminationRepository.Update(physicalExamination, currentUser);

            var updatedExaminationType =
                _mapper.Map <PhysicalExamination, PhysicalExaminationDto>(updatedPhysicalExamination);

            return(Ok(updatedExaminationType));
        }
        public async Task <ActionResult <PhysicalExamination> > Post(
            [FromBody] BasePhysicalExaminationDto createPhysicalExaminationDto)
        {
            if (createPhysicalExaminationDto.ConsultationId != null)
            {
                var consultation =
                    await _consultationRepository.Get(createPhysicalExaminationDto.ConsultationId.Value);

                if (consultation == null)
                {
                    return(BadRequest("Consult bestaat niet."));
                }
            }

            if (createPhysicalExaminationDto.PatientId != null)
            {
                var patient = await _patientRepository.Get(createPhysicalExaminationDto.PatientId.Value);

                if (patient == null)
                {
                    return(BadRequest("Patiënt bestaat niet."));
                }
            }

            if (createPhysicalExaminationDto.ExaminationTypeId != null)
            {
                var examinationType =
                    await _examinationTypeRepository.Get(createPhysicalExaminationDto.ExaminationTypeId.Value);

                if (examinationType == null)
                {
                    return(BadRequest("Aanvullend onderzoek type bestaat niet."));
                }
            }

            var userId      = User.Claims.First(u => u.Type == ClaimTypes.Sid).Value;
            var currentUser = await _identityRepository.GetUserById(userId);

            var physicalExamination =
                _mapper.Map <BasePhysicalExaminationDto, PhysicalExamination>(createPhysicalExaminationDto);

            var createdPhysicalExamination = await _physicalExaminationRepository.Add(physicalExamination, currentUser);

            var createdPrescriptionDto =
                _mapper.Map <PhysicalExamination, PhysicalExaminationDto>(createdPhysicalExamination);

            return(CreatedAtAction(nameof(Post), createdPrescriptionDto));
        }