public async Task <IActionResult> Put(int id, EditPatientRequest request) { request.Id = id; var result = await _patientService.EditPatientAsync(request); return(Ok(result)); }
public async Task <PatientResponse> EditPatientAsync(EditPatientRequest request) { var existingRecord = await _patientRepository.GetAsync(request.Id); if (existingRecord == null) { throw new ArgumentException($"Entity with {request.Id} does not exist!"); } var entity = _patientMapper.Map(request); var result = _patientRepository.Update(entity); // Delete old records in joining table for existing record: if (existingRecord.PatientRiskFactors != null) { foreach (PatientRiskFactor patientRiskFactor in existingRecord.PatientRiskFactors) { DeletePatientRiskFactorRequest deletePRF = new DeletePatientRiskFactorRequest { PatientId = patientRiskFactor.PatientId, RiskFactorId = patientRiskFactor.RiskFactorId }; await _patientRiskFactorService.DeletePatientRiskFactor(deletePRF); } } // Create new records in joining table: if (request.RiskFactors != null) { foreach (GetRiskFactorRequest riskFactor in request.RiskFactors) { AddPatientRiskFactorRequest addPRFRequest = new AddPatientRiskFactorRequest { PatientId = request.Id, RiskFactorId = riskFactor.Id }; await _patientRiskFactorService.AddPatientRiskFactor(addPRFRequest); } } // Confirm changes: await _patientRepository.UnitOfWork.SaveChangesAsync(); return(_patientMapper.Map(result)); }
public async Task <ActionResult> EditPatient(Guid id, [FromBody] EditPatientRequest request) { _unityOfWork.BeginTransaction(); try { request.Id = id; var result = await _mediator.Send(request, CancellationToken.None); _unityOfWork.Commit(); return(Ok(result)); } catch (Exception e) { _unityOfWork.Rollback(); return(NotFound(e.Message)); } }
public Patient Map(EditPatientRequest request) { if (request == null) { return(null); } Patient patient = new Patient { Id = request.Id, PatientName = request.PatientName, PatientSurname = request.PatientSurname, DateOfBirth = request.DateOfBirth, PhoneNumber = request.PhoneNumber, }; return(patient); }
public EditPatientResponse EditPatient(EditPatientRequest request) { return new EditPatientResponse(); }