예제 #1
0
        /// <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();
        }
예제 #2
0
        /// <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();
        }
예제 #3
0
        public AnamneseForm(CWorkersKeeper workersKeeper, CAnamnese anamnese)
        {
            InitializeComponent();

            _anamneseInfo        = anamnese;
            _anamneseWorker      = workersKeeper.AnamneseWorker;
            _configurationEngine = workersKeeper.ConfigurationEngine;
        }
예제 #4
0
        /// <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;
        }
예제 #5
0
 /// <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);
     }
 }
예제 #6
0
        /// <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]));
        }
예제 #7
0
        /// <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);
            }
        }