示例#1
0
        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);
        }