/// <summary> /// Обновить информацию об анамнезе /// </summary> /// <param name="anamneseInfo">Информация об анамнезе</param> public void Update(CAnamnese anamneseInfo) { int n = GetIndexFromList(anamneseInfo.PatientId); anamneseInfo.NotInDatabase = false; _anamneseList[n] = new CAnamnese(anamneseInfo); Save(); }
/// <summary> /// Скопировать анаменз для указанного пациента /// </summary> /// <param name="patientId">Id копируемого пациента</param> /// <param name="newPatientId">Id нового пациента</param> public void CopyByPatientId(int patientId, int newPatientId) { CAnamnese newAnamnese = GetByPatientId(patientId); newAnamnese.PatientId = newPatientId; _anamneseList.Add(newAnamnese); Save(); }
public AnamneseForm(CWorkersKeeper workersKeeper, CAnamnese anamnese) { InitializeComponent(); _anamneseInfo = anamnese; _anamneseWorker = workersKeeper.AnamneseWorker; _configurationEngine = workersKeeper.ConfigurationEngine; }
/// <summary> /// Скопировать поле an.morbi из анамнеза для пациента /// </summary> /// <param name="sender">Объект, пославший сообщение</param> /// <param name="e">Объект, содержащий данные посланного сообщения</param> private void linkLabelCopyAnMorbi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { CAnamnese anamneseInfo = _workersKeeper.AnamneseWorker.GetByPatientId(_patientInfo.Id); if (string.IsNullOrEmpty(anamneseInfo.AnMorbi)) { MessageBox.Show("Поле An.Morbi в анамензе пациента не задано", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } textBoxAnMorbi.Text = anamneseInfo.AnMorbi; }
/// <summary> /// Добавить анамнез /// </summary> /// <param name="fromAnamneseWorker">Класс для работы с анамнезами в базе, откуда копируется пациент</param> /// <param name="toAnamneseWorker">Класс для работы с анамнезами в базе, куда копируется пациент</param> /// <param name="fromPatientId">id пациента, у которого мы берём анамнез</param> /// <param name="toPatientId">id пациента, которому мы вставляем анамнез</param> public static void AddAnamnese( CAnamneseWorker fromAnamneseWorker, CAnamneseWorker toAnamneseWorker, int fromPatientId, int toPatientId) { if (fromAnamneseWorker.IsExists(fromPatientId)) { toAnamneseWorker.GetByPatientId(toPatientId); var newAnamnese = new CAnamnese(fromAnamneseWorker.GetByPatientId(fromPatientId)) { PatientId = toPatientId }; toAnamneseWorker.Update(newAnamnese); } }
/// <summary> /// Получить анамнез по переданному id пациента. Если его нет - то создать новый /// </summary> /// <param name="patientId">id пациента</param> /// <returns></returns> public CAnamnese GetByPatientId(int patientId) { int n = GetIndexFromList(patientId); if (n == _anamneseList.Count) { var newAnamneseInfo = new CAnamnese(patientId) { NotInDatabase = true }; _anamneseList.Add(newAnamneseInfo); return(new CAnamnese(newAnamneseInfo)); } return(new CAnamnese(_anamneseList[n])); }
/// <summary> /// Загрузить список анамнезов /// </summary> private void Load() { _anamneseList = new List <CAnamnese>(); string allDataStr = CDatabaseEngine.UnpackText(_anamnesePath); // Получаем набор объектов string[] objectsStr = allDataStr.Split(new[] { ObjSplitStr }, StringSplitOptions.RemoveEmptyEntries); // Проходим по всем объектам foreach (string objectStr in objectsStr) { // Для каждого объекта получаем список значений string[] datasStr = objectStr.Split(new[] { DataSplitStr }, StringSplitOptions.RemoveEmptyEntries); var anamneseInfo = new CAnamnese(); foreach (string dataStr in datasStr) { string[] keyValue = dataStr.Split(new[] { '=' }, 2); switch (keyValue[0]) { case "PatientId": anamneseInfo.PatientId = Convert.ToInt32(keyValue[1]); break; case "AnMorbi": anamneseInfo.AnMorbi = keyValue[1]; break; case "TraumaDate": if (!string.IsNullOrEmpty(keyValue[1])) { anamneseInfo.TraumaDate = CConvertEngine.StringToDateTime(keyValue[1]); } else { anamneseInfo.TraumaDate = null; } break; } } _anamneseList.Add(anamneseInfo); } }