/// <summary>
        /// Обновить информацию об этапном эпикризе
        /// </summary>
        /// <param name="lineOfCommunicationEpicrisisInfo">Информация об этапном эпикризе</param>
        public void Update(CLineOfCommunicationEpicrisis lineOfCommunicationEpicrisisInfo)
        {
            int n = GetIndexFromList(lineOfCommunicationEpicrisisInfo.HospitalizationId);

            lineOfCommunicationEpicrisisInfo.NotInDatabase = false;
            _lineOfCommunicationEpicrisisList[n]           = new CLineOfCommunicationEpicrisis(lineOfCommunicationEpicrisisInfo);
            Save();
        }
        /// <summary>
        /// Скопировать все этапные эпикризы для указанной госпитализации
        /// </summary>
        /// <param name="hospitalizationId">Id копируемой госпитализации</param>
        /// <param name="newHospitalizationId">Id нового госпитализации</param>
        public void CopyByHospitalizationId(int hospitalizationId, int newHospitalizationId)
        {
            CLineOfCommunicationEpicrisis newCLineOfCommunication = GetByHospitalizationId(hospitalizationId);

            newCLineOfCommunication.HospitalizationId = newHospitalizationId;
            _lineOfCommunicationEpicrisisList.Add(newCLineOfCommunication);
            Save();
        }
        /// <summary>
        /// Получить этапный эпикриз по переданному id госпитализации
        /// </summary>
        /// <param name="hospitalizationId">id госпитализации</param>
        /// <returns></returns>
        public CLineOfCommunicationEpicrisis GetByHospitalizationId(int hospitalizationId)
        {
            int n = GetIndexFromList(hospitalizationId);

            if (n == _lineOfCommunicationEpicrisisList.Count)
            {
                var newLineOfCommunicationEpicrisis = new CLineOfCommunicationEpicrisis(hospitalizationId)
                {
                    NotInDatabase = true
                };
                _lineOfCommunicationEpicrisisList.Add(newLineOfCommunicationEpicrisis);
                return(new CLineOfCommunicationEpicrisis(newLineOfCommunicationEpicrisis));
            }

            return(new CLineOfCommunicationEpicrisis(_lineOfCommunicationEpicrisisList[n]));
        }
        public LineOfCommunicationEpicrisisForm(
            CWorkersKeeper workersKeeper,
            CPatient patientInfo,
            CHospitalization hospitalizationInfo,
            CLineOfCommunicationEpicrisis lineOfCommunicationEpicrisis)
        {
            InitializeComponent();

            _patientInfo         = patientInfo;
            _hospitalizationInfo = hospitalizationInfo;
            _lineOfCommunicationEpicrisisInfo = lineOfCommunicationEpicrisis;
            _operationWorker = workersKeeper.OperationWorker;
            _lineOfCommunicationEpicrisisWorker = workersKeeper.LineOfCommunicationEpicrisisWorker;
            _globalSettings      = workersKeeper.GlobalSettings;
            _configurationEngine = workersKeeper.ConfigurationEngine;
        }
Exemplo n.º 5
0
 /// <summary>
 /// Добавляем этапный эпикриз
 /// </summary>
 /// <param name="fromLineOfCommunicationEpicrisisWorker">Класс для работы с этапными эпикризами в базе, откуда копируется госпитализация</param>
 /// <param name="toLineOfCommunicationEpicrisisWorker">Класс для работы с этапными эпикризами в базе, куда копируется госпитализация</param>
 /// <param name="fromHospitalizationId">id госпитализации, из которой берётся этапный эпикриз</param>
 /// <param name="toHospitalizationId">id госпитализации, в которую копируется этапный эпикриз</param>
 public static void AddLineOfCommunicationEpicrisis(
     CLineOfCommunicationEpicrisisWorker fromLineOfCommunicationEpicrisisWorker,
     CLineOfCommunicationEpicrisisWorker toLineOfCommunicationEpicrisisWorker,
     int fromHospitalizationId,
     int toHospitalizationId)
 {
     if (fromLineOfCommunicationEpicrisisWorker.IsExists(fromHospitalizationId))
     {
         toLineOfCommunicationEpicrisisWorker.GetByHospitalizationId(toHospitalizationId);
         var newLineOfCommunicationEpicrisis = new CLineOfCommunicationEpicrisis(
             fromLineOfCommunicationEpicrisisWorker.GetByHospitalizationId(fromHospitalizationId))
         {
             HospitalizationId = toHospitalizationId
         };
         toLineOfCommunicationEpicrisisWorker.Update(newLineOfCommunicationEpicrisis);
     }
 }
        /// <summary>
        /// Загрузить список этапных эпикризов
        /// </summary>
        private void Load()
        {
            _lineOfCommunicationEpicrisisList = new List <CLineOfCommunicationEpicrisis>();
            string allDataStr = CDatabaseEngine.UnpackText(_lineOfCommunicationEpicrisisPath);

            // Получаем набор объектов
            string[] objectsStr = allDataStr.Split(new[] { ObjSplitStr }, StringSplitOptions.RemoveEmptyEntries);

            // Проходим по всем объектам
            foreach (string objectStr in objectsStr)
            {
                // Для каждого объекта получаем список значений
                string[] datasStr = objectStr.Split(new[] { DataSplitStr }, StringSplitOptions.RemoveEmptyEntries);

                var lineOfCommunicationEpicrisisInfo = new CLineOfCommunicationEpicrisis();
                foreach (string dataStr in datasStr)
                {
                    string[] keyValue = dataStr.Split(new[] { '=' }, 2);
                    switch (keyValue[0])
                    {
                    case "HospitalizationId":
                        lineOfCommunicationEpicrisisInfo.HospitalizationId = Convert.ToInt32(keyValue[1]);
                        break;

                    case "AdditionalInfo":
                        lineOfCommunicationEpicrisisInfo.AdditionalInfo = keyValue[1];
                        break;

                    case "Plan":
                        lineOfCommunicationEpicrisisInfo.Plan = keyValue[1];
                        break;

                    case "WritingDate":
                        lineOfCommunicationEpicrisisInfo.WritingDate = CConvertEngine.StringToDateTime(keyValue[1]);
                        break;
                    }
                }

                _lineOfCommunicationEpicrisisList.Add(lineOfCommunicationEpicrisisInfo);
            }
        }