public IActionResult UpdateUserProfile([FromBody] EditableUserProfileDetails editableUserProfileDetails, int encounterId) { try { var updateUserProfile = userProfileService.UpdateUserProfileDetails(editableUserProfileDetails, encounterId); return(Ok(updateUserProfile)); } catch (Exception e) { return(Ok(e.Message.ToString())); } }
public UserProfileDetails UpdateUserProfileDetails(EditableUserProfileDetails editableUserProfileDetails, int encounterId) { var encounter = unitOfWork.EncounterRepository.Details(encounterId); var patientDetails = unitOfWork.PatientRepository.Details(encounter.PatientId); var emergencyContact = unitOfWork.EmergencyContactRepository.GetEmergencyContactsForOnePatient(patientDetails.Id); var department = unitOfWork.DepartmentRepository.Details(encounter.DepartmentId).DepartmentName; var room = unitOfWork.RoomRepository.Details(encounter.RoomId).RoomNumber; var filteredUserProfileDetails = patientDetails.FilterUserProfileDetails(); patientDetails.Email = editableUserProfileDetails.Email; patientDetails.Phone = editableUserProfileDetails.Phone; patientDetails.Address = editableUserProfileDetails.Address; var filteredEncounter = encounter.FilterEncounterDetails(department, room); filteredUserProfileDetails.EncounterDetails = filteredEncounter; filteredUserProfileDetails.EmergencyContact = new List <EmergencyContact>(); editableUserProfileDetails .EmergencyContact .ToList() .ForEach(body => { var databaseObject = unitOfWork.EmergencyContactRepository.Details(body.Id); databaseObject.Name = body.Name; databaseObject.Email = body.Email; databaseObject.Phone = body.Phone; filteredUserProfileDetails.EmergencyContact.Add(body); }); unitOfWork.PatientRepository.Edit(patientDetails); unitOfWork.Commit(); return(GetUserProfileDetails(encounterId)); }