Esempio n. 1
0
        public async Task <IActionResult> Put(int id, EditPatientRequest request)
        {
            request.Id = id;
            var result = await _patientService.EditPatientAsync(request);

            return(Ok(result));
        }
Esempio n. 2
0
        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));
            }
        }
Esempio n. 4
0
        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();
 }