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

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

            newTransferableEpicrisis.HospitalizationId = newHospitalizationId;
            _transferableEpicrisisList.Add(newTransferableEpicrisis);
            Save();
        }
        /// <summary>
        /// Загрузить список переводных эпикризов
        /// </summary>
        private void Load()
        {
            _transferableEpicrisisList = new List <CTransferableEpicrisis>();
            string allDataStr = CDatabaseEngine.UnpackText(_transferableEpicrisisPath);

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

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

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

                    case "AfterOperationPeriod":
                        transferableEpicrisisInfo.AfterOperationPeriod = keyValue[1];
                        break;

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

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

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

                    case "DisabilityList":
                        transferableEpicrisisInfo.DisabilityList = keyValue[1];
                        break;

                    case "IsIncludeDisabilityList":
                        transferableEpicrisisInfo.IsIncludeDisabilityList = Convert.ToBoolean(keyValue[1]);
                        break;
                    }
                }

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

            if (n == _transferableEpicrisisList.Count)
            {
                var newTransferableEpicrisisInfo = new CTransferableEpicrisis(hospitalizationId)
                {
                    NotInDatabase = true
                };
                _transferableEpicrisisList.Add(newTransferableEpicrisisInfo);
                return(new CTransferableEpicrisis(newTransferableEpicrisisInfo));
            }

            return(new CTransferableEpicrisis(_transferableEpicrisisList[n]));
        }
Exemplo n.º 5
0
        public TransferableEpicrisisForm(
            CWorkersKeeper workersKeeper,
            CPatient patientInfo,
            CHospitalization hospitalizationInfo,
            CTransferableEpicrisis transferableEpicrisisInfo)
        {
            InitializeComponent();

            _patientInfo                 = patientInfo;
            _hospitalizationInfo         = hospitalizationInfo;
            _transferableEpicrisisInfo   = transferableEpicrisisInfo;
            _operationWorker             = workersKeeper.OperationWorker;
            _transferableEpicrisisWorker = workersKeeper.TransferableEpicrisisWorker;
            _globalSettings              = workersKeeper.GlobalSettings;
            _configurationEngine         = workersKeeper.ConfigurationEngine;
        }
Exemplo n.º 6
0
 /// <summary>
 /// Добавляем переводной эпикриз
 /// </summary>
 /// <param name="fromTransferableEpicrisisWorker">Класс для работы с переводными эпикризами в базе, откуда копируется госпитализация</param>
 /// <param name="toTransferableEpicrisisWorker">Класс для работы с переводными эпикризами в базе, куда копируется госпитализация</param>
 /// <param name="fromHospitalizationId">id госпитализации, из которой берётся переводной эпикриз</param>
 /// <param name="toHospitalizationId">id госпитализации, в которую копируется переводной эпикриз</param>
 public static void AddTransferableEpicrisis(
     CTransferableEpicrisisWorker fromTransferableEpicrisisWorker,
     CTransferableEpicrisisWorker toTransferableEpicrisisWorker,
     int fromHospitalizationId,
     int toHospitalizationId)
 {
     if (fromTransferableEpicrisisWorker.IsExists(fromHospitalizationId))
     {
         toTransferableEpicrisisWorker.GetByHospitalizationId(toHospitalizationId);
         var newTransferableEpicrisis = new CTransferableEpicrisis(
             fromTransferableEpicrisisWorker.GetByHospitalizationId(fromHospitalizationId))
         {
             HospitalizationId = toHospitalizationId
         };
         toTransferableEpicrisisWorker.Update(newTransferableEpicrisis);
     }
 }