public async Task <IActionResult> Put(int id,
                                              [FromBody] BaseAdditionalExaminationResultDto updateAdditionalExaminationResultDto)
        {
            var additionalExaminationType = await _additionalExaminationTypeRepository.Get(id);

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

            var additionalExaminationResult = await _additionalExaminationResultRepository.Get(id);

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

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

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

            if (updateAdditionalExaminationResultDto.PatientId != null)
            {
                var patient = await _patientRepository.Get(updateAdditionalExaminationResultDto.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(updateAdditionalExaminationResultDto, additionalExaminationResult);

            additionalExaminationResult.Id = id;

            var updatedAdditionalExaminationResult =
                await _additionalExaminationResultRepository.Update(additionalExaminationResult, currentUser);

            var updatedAdditionalExaminationType =
                _mapper.Map <AdditionalExaminationResult, AdditionalExaminationResultDto>(
                    updatedAdditionalExaminationResult);

            return(Ok(updatedAdditionalExaminationType));
        }
        public async Task <ActionResult <AdditionalExaminationResult> > Post(
            [FromBody] BaseAdditionalExaminationResultDto createAdditionalExaminationResultDto)
        {
            if (createAdditionalExaminationResultDto.ConsultationId != null)
            {
                var consultation =
                    await _consultationRepository.Get(createAdditionalExaminationResultDto.ConsultationId.Value);

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

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

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

            if (createAdditionalExaminationResultDto.AdditionalExaminationTypeId != null)
            {
                var additionalExaminationType =
                    await _additionalExaminationTypeRepository.Get(createAdditionalExaminationResultDto
                                                                   .AdditionalExaminationTypeId.Value);

                if (additionalExaminationType == 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 additionalExaminationResult =
                _mapper.Map <BaseAdditionalExaminationResultDto, AdditionalExaminationResult>(
                    createAdditionalExaminationResultDto);

            var createdAdditionalExaminationResult =
                await _additionalExaminationResultRepository.Add(additionalExaminationResult, currentUser);

            var createdPrescriptionDto =
                _mapper.Map <AdditionalExaminationResult, AdditionalExaminationResultDto>(
                    createdAdditionalExaminationResult);

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