/// <summary> /// Обновить информацию о карте обследования /// </summary> /// <param name="rangeOfMotionCardInfo">Информация о карте обследования</param> public void Update(CRangeOfMotionCard rangeOfMotionCardInfo) { int n = GetIndexFromList(rangeOfMotionCardInfo.HospitalizationId, rangeOfMotionCardInfo.VisitId); rangeOfMotionCardInfo.NotInDatabase = false; _rangeOfMotionCardList[n] = new CRangeOfMotionCard(rangeOfMotionCardInfo); Save(); }
public RangeOfMotionCardForm( CWorkersKeeper workersKeeper, CRangeOfMotionCard rangeOfMotionCard) { InitializeComponent(); _rangeOfMotionCardInfo = rangeOfMotionCard; _rangeOfMotionCardWorker = workersKeeper.RangeOfMotionCardWorker; _configurationEngine = workersKeeper.ConfigurationEngine; }
/// <summary> /// Загрузить список карт обследования /// </summary> private void Load() { _rangeOfMotionCardList = new List <CRangeOfMotionCard>(); string allDataStr = CDatabaseEngine.UnpackText(_rangeOfMotionCardPath); // Получаем набор объектов 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 rangeOfMotionCardInfo = new CRangeOfMotionCard(); foreach (string dataStr in datasStr) { string[] keyValue = dataStr.Split(new[] { '=' }, 2); switch (keyValue[0]) { case "HospitalizationId": rangeOfMotionCardInfo.HospitalizationId = Convert.ToInt32(keyValue[1]); break; case "VisitId": rangeOfMotionCardInfo.VisitId = Convert.ToInt32(keyValue[1]); break; case "OppositionFinger": rangeOfMotionCardInfo.OppositionFinger = keyValue[1]; break; case "Fields": rangeOfMotionCardInfo.Fields = CConvertEngine.StringToStringArray(keyValue[1]); break; } } _rangeOfMotionCardList.Add(rangeOfMotionCardInfo); } } catch (Exception ex) { errorStr.Append(ex.Message + "\r\n"); } if (errorStr.Length != 0) { MessageBox.ShowDialog(errorStr.ToString()); } }
/// <summary> /// Получить карту обследования по переданному id госпитализации и id консультации /// </summary> /// <param name="hospitalizationId">id госпитализации</param> /// <param name="visitId">id консультации</param> /// <returns></returns> public CRangeOfMotionCard GetByHospitalizationAndVisitId( int hospitalizationId, int visitId) { int n = GetIndexFromList(hospitalizationId, visitId); if (n == _rangeOfMotionCardList.Count) { var newRangeOfMotionCardInfo = new CRangeOfMotionCard(hospitalizationId, visitId) { NotInDatabase = true }; _rangeOfMotionCardList.Add(newRangeOfMotionCardInfo); return(new CRangeOfMotionCard(newRangeOfMotionCardInfo)); } return(new CRangeOfMotionCard(_rangeOfMotionCardList[n])); }
/// <summary> /// Добавить карту на объём движений /// </summary> /// <param name="fromRangeOfMotionCardWorker"></param> /// <param name="toRangeOfMotionCardWorker"></param> /// <param name="fromHospitalizationId">id госпитализации в базе, откуда копируются карты</param> /// <param name="toHospitalizationId">id новой госпитализации в базе, куда копируются карты</param> /// <param name="fromVisitId">id консультации в базе, откуда копируются карты</param> /// <param name="toVisitId">id новой консультации в базе, куда копируются карты</param> public static void AddRangeOfMotionCard( CRangeOfMotionCardWorker fromRangeOfMotionCardWorker, CRangeOfMotionCardWorker toRangeOfMotionCardWorker, int fromHospitalizationId, int toHospitalizationId, int fromVisitId, int toVisitId) { if (fromRangeOfMotionCardWorker.IsExists(fromHospitalizationId, fromVisitId)) { toRangeOfMotionCardWorker.GetByHospitalizationAndVisitId(toHospitalizationId, toVisitId); var newRangeOfMotionCard = new CRangeOfMotionCard( fromRangeOfMotionCardWorker.GetByHospitalizationAndVisitId(fromHospitalizationId, fromVisitId)) { HospitalizationId = toHospitalizationId, VisitId = toVisitId }; toRangeOfMotionCardWorker.Update(newRangeOfMotionCard); } }
/// <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 rangeOfMotionCardListCnt = _rangeOfMotionCardList.Count; for (int i = 0; i < rangeOfMotionCardListCnt; i++) { if (_rangeOfMotionCardList[i].HospitalizationId == hospitalizationId && _rangeOfMotionCardList[i].VisitId == visitId) { var newRangeOfMotionCard = new CRangeOfMotionCard(_rangeOfMotionCardList[i]) { HospitalizationId = newHospitalizationId, VisitId = newVisitId }; _rangeOfMotionCardList.Add(newRangeOfMotionCard); } } Save(); }