Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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());
        }
Beispiel #5
0
        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()}"));
            }
        }
Beispiel #6
0
        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());
        }