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