public async Task <IActionResult> UpdatePatientDisease(int id, [FromBody] PatientDiseaseDetails patientDiseaseDetails) { log.Info($"PatiendDiseaseController::UpdatePatientDisease(). Updating PatientDisease with ID {id}."); if (!ModelState.IsValid) { log.Error("PatiendDiseaseController::UpdatePatientDisease(). Model is not valid"); return(BadRequest()); } try { var result = await _service.UpdatePatientDiseaseAsync(id, patientDiseaseDetails); log.Info($"PatiendDiseaseController::UpdatePatientDisease(). Updated PatientDisease with ID {id}."); return(Ok(result)); } catch (ArgumentException ex) { log.Error($"PatiendDiseaseController::UpdatePatientDisease(). No records found with ID {id}"); return(BadRequest(ex.Message)); } }
/// <summary> /// Updates some of PatientDisease instance properties: EndDate, Note, UserId (doctor) /// </summary> /// <param name="id">Id of PatientDisease instance to be updated </param> /// <param name="patientDiseaseDetails">Readable representation of PatientDisease </param> /// <returns>Updates instance of PatientDisease </returns> public async Task <PatientDisease> UpdatePatientDiseaseAsync(int id, PatientDiseaseDetails patientDiseaseDetails) { var patientDiseaseToUpdate = _unitOfWork.PatientDiseases.Get(id); patientDiseaseToUpdate.EndDate = patientDiseaseDetails.EndDate; patientDiseaseToUpdate.Note = patientDiseaseDetails.Notes; patientDiseaseToUpdate.UserId = _unitOfWork.Users.GetAll().First(u => u.LastName == patientDiseaseDetails.Doctor).Id; await _unitOfWork.Save(); return(patientDiseaseToUpdate); }