public async Task <ActionResult <PatientResource> > CreatePatient([FromBody] SavePatientResource savePatientResource) { var validationResult = await _validator.ValidateAsync(savePatientResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } var patientToCreate = _mapper.Map <SavePatientResource, Patient>(savePatientResource); var newPatient = await _patientService.CreatePatient(patientToCreate); var patientResource = _mapper.Map <Patient, PatientResource>(newPatient); return(Ok(patientResource)); }
public async Task <ActionResult <PatientResource> > UpdatePatient(int id, [FromBody] SavePatientResource savePatientResource) { var validationResult = await _validator.ValidateAsync(savePatientResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } var patient = _mapper.Map <SavePatientResource, Patient>(savePatientResource); await _patientService.UpdatePatient(id, patient); var updatedPatient = await _patientService.GetPatientById(id); var updatedPatientResource = _mapper.Map <Patient, PatientResource>(updatedPatient); return(Ok(updatedPatientResource)); }
public async Task <IActionResult> PutAsync(int id, [FromBody] SavePatientResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var patient = _mapper.Map <SavePatientResource, Patient>(resource); var result = await _patientService.UpdateAsync(id, patient); if (!result.Success) { return(BadRequest(result.Message)); } var patientResource = _mapper.Map <Patient, PatientResource>(result.Patient); return(Ok(patientResource)); }
public async Task <IActionResult> PutPatient(int id, SavePatientResource savePatient) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (await _patientService.IsExist(savePatient.OffcialId.GetValueOrDefault(), id)) { ModelState.AddModelError("OffcialId", "OffcialId already exists"); return(BadRequest(ModelState)); } var result = await _patientService.UpdateAsync(id, savePatient); if (!result.Success) { return(BadRequest(new ErrorResource(result.Message))); } return(Ok()); }
public async Task <PatientResponse> UpdateAsync(int id, SavePatientResource savePatient) { var existingPatient = await _patientRepository.GetById(id); if (existingPatient == null) { return(new PatientResponse("Patient not found.")); } _mapper.Map <SavePatientResource, Patient>(savePatient, existingPatient); try { _patientRepository.Update(existingPatient); await _unitOfWork.CompleteAsync(); return(new PatientResponse(existingPatient)); } catch (Exception ex) { // Do some logging stuff return(new PatientResponse($"An error occurred when updating the patient: {ex.GetAllMessages()}")); } }
public async Task <ActionResult> PostPatient(SavePatientResource savePatient) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var patient = _mapper.Map <SavePatientResource, Patient>(savePatient); if (await _patientService.IsExist(patient.OffcialId, null)) { ModelState.AddModelError("OffcialId", "OffcialId already exists"); return(BadRequest(ModelState)); } var result = await _patientService.SaveAsync(patient); if (!result.Success) { return(BadRequest(new ErrorResource(result.Message))); } return(Ok()); }