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)); }