/// <summary> /// Обновить информацию об этапном эпикризе /// </summary> /// <param name="lineOfCommunicationEpicrisisInfo">Информация об этапном эпикризе</param> public void Update(CLineOfCommunicationEpicrisis lineOfCommunicationEpicrisisInfo) { int n = GetIndexFromList(lineOfCommunicationEpicrisisInfo.HospitalizationId); lineOfCommunicationEpicrisisInfo.NotInDatabase = false; _lineOfCommunicationEpicrisisList[n] = new CLineOfCommunicationEpicrisis(lineOfCommunicationEpicrisisInfo); Save(); }
/// <summary> /// Скопировать все этапные эпикризы для указанной госпитализации /// </summary> /// <param name="hospitalizationId">Id копируемой госпитализации</param> /// <param name="newHospitalizationId">Id нового госпитализации</param> public void CopyByHospitalizationId(int hospitalizationId, int newHospitalizationId) { CLineOfCommunicationEpicrisis newCLineOfCommunication = GetByHospitalizationId(hospitalizationId); newCLineOfCommunication.HospitalizationId = newHospitalizationId; _lineOfCommunicationEpicrisisList.Add(newCLineOfCommunication); Save(); }
/// <summary> /// Получить этапный эпикриз по переданному id госпитализации /// </summary> /// <param name="hospitalizationId">id госпитализации</param> /// <returns></returns> public CLineOfCommunicationEpicrisis GetByHospitalizationId(int hospitalizationId) { int n = GetIndexFromList(hospitalizationId); if (n == _lineOfCommunicationEpicrisisList.Count) { var newLineOfCommunicationEpicrisis = new CLineOfCommunicationEpicrisis(hospitalizationId) { NotInDatabase = true }; _lineOfCommunicationEpicrisisList.Add(newLineOfCommunicationEpicrisis); return(new CLineOfCommunicationEpicrisis(newLineOfCommunicationEpicrisis)); } return(new CLineOfCommunicationEpicrisis(_lineOfCommunicationEpicrisisList[n])); }
public LineOfCommunicationEpicrisisForm( CWorkersKeeper workersKeeper, CPatient patientInfo, CHospitalization hospitalizationInfo, CLineOfCommunicationEpicrisis lineOfCommunicationEpicrisis) { InitializeComponent(); _patientInfo = patientInfo; _hospitalizationInfo = hospitalizationInfo; _lineOfCommunicationEpicrisisInfo = lineOfCommunicationEpicrisis; _operationWorker = workersKeeper.OperationWorker; _lineOfCommunicationEpicrisisWorker = workersKeeper.LineOfCommunicationEpicrisisWorker; _globalSettings = workersKeeper.GlobalSettings; _configurationEngine = workersKeeper.ConfigurationEngine; }
/// <summary> /// Добавляем этапный эпикриз /// </summary> /// <param name="fromLineOfCommunicationEpicrisisWorker">Класс для работы с этапными эпикризами в базе, откуда копируется госпитализация</param> /// <param name="toLineOfCommunicationEpicrisisWorker">Класс для работы с этапными эпикризами в базе, куда копируется госпитализация</param> /// <param name="fromHospitalizationId">id госпитализации, из которой берётся этапный эпикриз</param> /// <param name="toHospitalizationId">id госпитализации, в которую копируется этапный эпикриз</param> public static void AddLineOfCommunicationEpicrisis( CLineOfCommunicationEpicrisisWorker fromLineOfCommunicationEpicrisisWorker, CLineOfCommunicationEpicrisisWorker toLineOfCommunicationEpicrisisWorker, int fromHospitalizationId, int toHospitalizationId) { if (fromLineOfCommunicationEpicrisisWorker.IsExists(fromHospitalizationId)) { toLineOfCommunicationEpicrisisWorker.GetByHospitalizationId(toHospitalizationId); var newLineOfCommunicationEpicrisis = new CLineOfCommunicationEpicrisis( fromLineOfCommunicationEpicrisisWorker.GetByHospitalizationId(fromHospitalizationId)) { HospitalizationId = toHospitalizationId }; toLineOfCommunicationEpicrisisWorker.Update(newLineOfCommunicationEpicrisis); } }
/// <summary> /// Загрузить список этапных эпикризов /// </summary> private void Load() { _lineOfCommunicationEpicrisisList = new List <CLineOfCommunicationEpicrisis>(); string allDataStr = CDatabaseEngine.UnpackText(_lineOfCommunicationEpicrisisPath); // Получаем набор объектов string[] objectsStr = allDataStr.Split(new[] { ObjSplitStr }, StringSplitOptions.RemoveEmptyEntries); // Проходим по всем объектам foreach (string objectStr in objectsStr) { // Для каждого объекта получаем список значений string[] datasStr = objectStr.Split(new[] { DataSplitStr }, StringSplitOptions.RemoveEmptyEntries); var lineOfCommunicationEpicrisisInfo = new CLineOfCommunicationEpicrisis(); foreach (string dataStr in datasStr) { string[] keyValue = dataStr.Split(new[] { '=' }, 2); switch (keyValue[0]) { case "HospitalizationId": lineOfCommunicationEpicrisisInfo.HospitalizationId = Convert.ToInt32(keyValue[1]); break; case "AdditionalInfo": lineOfCommunicationEpicrisisInfo.AdditionalInfo = keyValue[1]; break; case "Plan": lineOfCommunicationEpicrisisInfo.Plan = keyValue[1]; break; case "WritingDate": lineOfCommunicationEpicrisisInfo.WritingDate = CConvertEngine.StringToDateTime(keyValue[1]); break; } } _lineOfCommunicationEpicrisisList.Add(lineOfCommunicationEpicrisisInfo); } }