Ejemplo n.º 1
0
        /// <summary>
        /// Загрузить список карт обследования
        /// </summary>
        private void Load()
        {
            _cardList = new List <CCard>();
            string allDataStr = CDatabaseEngine.UnpackText(_cardPath);

            // Получаем набор объектов
            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 cardInfo = new CCard();
                    foreach (string dataStr in datasStr)
                    {
                        string[] keyValue = dataStr.Split(new[] { '=' }, 2);
                        switch (keyValue[0])
                        {
                        case "HospitalizationId":
                            cardInfo.HospitalizationId = Convert.ToInt32(keyValue[1]);
                            break;

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

                        case "CardSide":
                            cardInfo.CurrentSideOfCard = CConvertEngine.StringToCardSide(keyValue[1]);
                            break;

                        case "CurrentCardType":
                            cardInfo.CurrentCardType = CConvertEngine.StringToCardType(keyValue[1]);
                            break;
                        }
                    }

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

                    cardInfo.Picture = CDatabaseEngine.GetBitmapFromFile(picturePath);

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

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