コード例 #1
0
        public ActionResult PatchMedication(uint medicationId, string email, JsonPatchDocument <MedicationCreateUpdateDto> patchDocument)
        {
            ICollection <Medication> medications = _repository.GetMedications(email);
            Medication existingMedication        = null;

            foreach (Medication medication in medications)
            {
                if (medication.Id == medicationId)
                {
                    existingMedication = medication;
                    break;
                }
            }

            if (existingMedication == null)
            {
                return(NotFound());
            }

            MedicationCreateUpdateDto medicationToPatch = _mapper.Map <MedicationCreateUpdateDto>(existingMedication);

            patchDocument.ApplyTo(medicationToPatch, ModelState);

            if (!TryValidateModel(medicationToPatch))
            {
                return(ValidationProblem(ModelState));
            }

            _mapper.Map(medicationToPatch, existingMedication);
            _repository.SaveChanges();
            return(NoContent());
        }
コード例 #2
0
        public ActionResult <MedicationReadDto> CreateMedication(MedicationCreateUpdateDto medicationCreateDto)
        {
            var model = _mapper.Map <Medication>(medicationCreateDto);

            _repository.CreateMedication(model);
            _repository.SaveChanges();

            return(CreatedAtRoute(nameof(GetMedications), new { email = medicationCreateDto.PatientEmail }, _mapper.Map <MedicationReadDto>(model)));
        }