/// <summary>
        /// Сохранить список карт обследования
        /// </summary>
        /// <param name="saveBrachialPlexusCardInfo">Информация о карте, которую сохраняем</param>
        private void Save(CBrachialPlexusCard saveBrachialPlexusCardInfo)
        {
            var brachialPlexusCardsStr = new StringBuilder();

            foreach (CBrachialPlexusCard brachialPlexusCardInfo in _brachialPlexusCardList)
            {
                brachialPlexusCardsStr.Append(
                    "HospitalizationId=" + brachialPlexusCardInfo.HospitalizationId + DataSplitStr +
                    "VisitId=" + brachialPlexusCardInfo.VisitId + DataSplitStr +
                    "Diaphragm=" + brachialPlexusCardInfo.Diaphragm + DataSplitStr +
                    "EMNG=" + brachialPlexusCardInfo.EMNG + DataSplitStr +
                    "EMNGDate=" + CConvertEngine.DateTimeToString(brachialPlexusCardInfo.EMNGDate) + DataSplitStr +
                    "HornersSyndrome=" + brachialPlexusCardInfo.HornersSyndrome + DataSplitStr +
                    "IsEMNGEnabled=" + brachialPlexusCardInfo.IsEMNGEnabled + DataSplitStr +
                    "IsMyelographyEnabled=" + brachialPlexusCardInfo.IsMyelographyEnabled + DataSplitStr +
                    "Myelography=" + brachialPlexusCardInfo.Myelography + DataSplitStr +
                    "MyelographyDate=" + CConvertEngine.DateTimeToString(brachialPlexusCardInfo.MyelographyDate) + DataSplitStr +
                    "MyelographyType=" + brachialPlexusCardInfo.MyelographyType + DataSplitStr +
                    "TinelsSymptom=" + brachialPlexusCardInfo.TinelsSymptom + DataSplitStr +
                    "VascularStatus=" + brachialPlexusCardInfo.VascularStatus + DataSplitStr +
                    "CardSide=" + brachialPlexusCardInfo.SideOfCard + ObjSplitStr);

                if (saveBrachialPlexusCardInfo != null && saveBrachialPlexusCardInfo.IsEqual(brachialPlexusCardInfo))
                {
                    CDatabaseEngine.SaveBitmapToFile(
                        brachialPlexusCardInfo.Picture,
                        GetPicturePath(brachialPlexusCardInfo.GetPictureFileName()));
                }
            }

            CDatabaseEngine.PackText(brachialPlexusCardsStr.ToString(), _brachialPlexusCardPath);
        }
        /// <summary>
        /// Скопировать все карты обследования для указанных id госпитализации и консультации
        /// </summary>
        /// <param name="hospitalizationId">id госпитализации</param>
        /// <param name="visitId">id консультации</param>
        /// <param name="newHospitalizationId">id новой госпитализации</param>
        /// <param name="newVisitId">id новой консультации</param>
        public void CopyByHospitalizationAndVisitId(
            int hospitalizationId, int visitId, int newHospitalizationId, int newVisitId)
        {
            int brachialPlexusCardListCnt = _brachialPlexusCardList.Count;

            for (int i = 0; i < brachialPlexusCardListCnt; i++)
            {
                if (_brachialPlexusCardList[i].HospitalizationId == hospitalizationId &&
                    _brachialPlexusCardList[i].VisitId == visitId)
                {
                    var    newBrachialPlexusCard = new CBrachialPlexusCard(_brachialPlexusCardList[i]);
                    string oldFilePath           = GetPicturePath(newBrachialPlexusCard.GetPictureFileName());
                    newBrachialPlexusCard.HospitalizationId = newHospitalizationId;
                    newBrachialPlexusCard.VisitId           = newVisitId;
                    _brachialPlexusCardList.Add(newBrachialPlexusCard);
                    string newFilePath = GetPicturePath(newBrachialPlexusCard.GetPictureFileName());

                    if (File.Exists(oldFilePath))
                    {
                        File.Copy(oldFilePath, newFilePath);
                    }
                    else
                    {
                        PutDefaultPictureFile(newFilePath);
                    }
                }
            }

            Save(null);
        }
        /// <summary>
        /// Обновить информацию о карте обследования
        /// </summary>
        /// <param name="brachialPlexusCardInfo">Информация о карте обследования</param>
        public void Update(CBrachialPlexusCard brachialPlexusCardInfo)
        {
            int n = GetIndexFromList(brachialPlexusCardInfo.HospitalizationId, brachialPlexusCardInfo.VisitId);

            brachialPlexusCardInfo.NotInDatabase = false;
            _brachialPlexusCardList[n]           = new CBrachialPlexusCard(brachialPlexusCardInfo);
            Save(brachialPlexusCardInfo);
        }
Beispiel #4
0
        public BrachialPlexusCardForm(CWorkersKeeper workersKeeper, CBrachialPlexusCard brachialPlexusCard)
        {
            InitializeComponent();

            _configurationEngine = workersKeeper.ConfigurationEngine;

            _brachialPlexusCardWorker = workersKeeper.BrachialPlexusCardWorker;
            _brachialPlexusCardInfo   = brachialPlexusCard;
            _shadePaint = new ShadePaint(_brachialPlexusCardInfo.Picture, string.Empty);
        }
        /// <summary>
        /// Получить карту обследования по переданному id госпитализации и id консультации
        /// </summary>
        /// <param name="hospitalizationId">id госпитализации</param>
        /// <param name="visitId">id консультации</param>
        /// <returns></returns>
        public CBrachialPlexusCard GetByHospitalizationAndVisitId(
            int hospitalizationId, int visitId)
        {
            int n = GetIndexFromList(hospitalizationId, visitId);

            if (n == _brachialPlexusCardList.Count)
            {
                var newBrachialPlexusCardInfo = new CBrachialPlexusCard(hospitalizationId, visitId)
                {
                    Picture       = new Bitmap(Properties.Resources.CardMainSchema),
                    NotInDatabase = true
                };
                _brachialPlexusCardList.Add(newBrachialPlexusCardInfo);
                return(new CBrachialPlexusCard(newBrachialPlexusCardInfo));
            }

            return(new CBrachialPlexusCard(_brachialPlexusCardList[n]));
        }
Beispiel #6
0
 /// <summary>
 /// Добавить карту на плечевое сплетение
 /// </summary>
 /// <param name="fromBrachialPlexusCardWorker">Класс для работы с картами на плечевое сплетение в базе, откуда копируется госпитализация</param>
 /// <param name="toBrachialPlexusCardWorker">Класс для работы с картами на плечевое сплетение в базе, куда копируется госпитализация</param>
 /// <param name="fromHospitalizationId">id госпитализации в базе, откуда копируются карты</param>
 /// <param name="toHospitalizationId">id новой госпитализации в базе, куда копируются карты</param>
 /// <param name="fromVisitId">id консультации в базе, откуда копируются карты</param>
 /// <param name="toVisitId">id новой консультации в базе, куда копируются карты</param>
 public static void AddBrachialPlexusCard(
     CBrachialPlexusCardWorker fromBrachialPlexusCardWorker,
     CBrachialPlexusCardWorker toBrachialPlexusCardWorker,
     int fromHospitalizationId,
     int toHospitalizationId,
     int fromVisitId,
     int toVisitId)
 {
     if (fromBrachialPlexusCardWorker.IsExists(fromHospitalizationId, fromVisitId))
     {
         toBrachialPlexusCardWorker.GetByHospitalizationAndVisitId(toHospitalizationId, toVisitId);
         var newBrachialPlexusCard = new CBrachialPlexusCard(
             fromBrachialPlexusCardWorker.GetByHospitalizationAndVisitId(fromHospitalizationId, fromVisitId))
         {
             HospitalizationId = toHospitalizationId,
             VisitId           = toVisitId
         };
         toBrachialPlexusCardWorker.Update(newBrachialPlexusCard);
     }
 }
        /// <summary>
        /// Загрузить список карт обследования
        /// </summary>
        private void Load()
        {
            _brachialPlexusCardList = new List <CBrachialPlexusCard>();
            string allDataStr = CDatabaseEngine.UnpackText(_brachialPlexusCardPath);

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

            var errorStr = new StringBuilder();

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

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

                        case "VisitId":
                            brachialPlexusCardInfo.VisitId = Convert.ToInt32(keyValue[1]);
                            break;

                        case "Diaphragm":
                            brachialPlexusCardInfo.Diaphragm = keyValue[1];
                            break;

                        case "EMNG":
                            brachialPlexusCardInfo.EMNG = keyValue[1];
                            break;

                        case "EMNGDate":
                            brachialPlexusCardInfo.EMNGDate = CConvertEngine.StringToDateTime(keyValue[1]);
                            break;

                        case "HornersSyndrome":
                            brachialPlexusCardInfo.HornersSyndrome = keyValue[1];
                            break;

                        case "IsEMNGEnabled":
                            brachialPlexusCardInfo.IsEMNGEnabled = Convert.ToBoolean(keyValue[1]);
                            break;

                        case "IsMyelographyEnabled":
                            brachialPlexusCardInfo.IsMyelographyEnabled = Convert.ToBoolean(keyValue[1]);
                            break;

                        case "Myelography":
                            brachialPlexusCardInfo.Myelography = keyValue[1];
                            break;

                        case "MyelographyDate":
                            brachialPlexusCardInfo.MyelographyDate = CConvertEngine.StringToDateTime(keyValue[1]);
                            break;

                        case "MyelographyType":
                            brachialPlexusCardInfo.MyelographyType = keyValue[1];
                            break;

                        case "TinelsSymptom":
                            brachialPlexusCardInfo.TinelsSymptom = keyValue[1];
                            break;

                        case "VascularStatus":
                            brachialPlexusCardInfo.VascularStatus = keyValue[1];
                            break;

                        case "CardSide":
                            brachialPlexusCardInfo.SideOfCard = CConvertEngine.StringToCardSide(keyValue[1]);
                            break;
                        }
                    }

                    string picturePath = GetPicturePath(brachialPlexusCardInfo.GetPictureFileName());
                    if (!File.Exists(picturePath))
                    {
                        PutDefaultPictureFile(picturePath);
                    }

                    brachialPlexusCardInfo.Picture = CDatabaseEngine.GetBitmapFromFile(picturePath);

                    _brachialPlexusCardList.Add(brachialPlexusCardInfo);
                }
            }
            catch (Exception ex)
            {
                errorStr.Append(ex.Message + "\r\n");
            }

            if (errorStr.Length != 0)
            {
                MessageBox.ShowDialog(errorStr.ToString());
            }
        }