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()); }
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))); }