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