/// <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()); } }