///<summary>МЕТОД Загрузка данных KbolInfo из SQL</summary> /// <param name="pTab">Флаг связанной таблицы (kbol, apaN, ast)</param> /// <param name="pCodZap">Код записи (KL из kbol, IND из АPSTAC, Cod из APAC ...)</param> public bool MET_LoadSQL(string pTab, decimal pCodZap) { bool _Value; try { SqlDataReader _SqlDataReader = MySql.MET_QuerySqlDataReader(MyQuery.MET_kbolInfo_Select_1(pTab, pCodZap)); if (_SqlDataReader.Read()) { PROP_Cod = _SqlDataReader.GetInt32(_SqlDataReader.GetOrdinal("Cod")); PROP_CodZap = _SqlDataReader.GetDecimal(_SqlDataReader.GetOrdinal("CodZap")); PROP_Tab = _SqlDataReader.GetString(_SqlDataReader.GetOrdinal("Tab")); PROP_KL = _SqlDataReader.GetDecimal(_SqlDataReader.GetOrdinal("KL")); PROP_jTag = _SqlDataReader.GetString(_SqlDataReader.GetOrdinal("jTag")); PROP_xLog = _SqlDataReader[_SqlDataReader.GetOrdinal("xLog")] as string; PROP_xInfo = _SqlDataReader[_SqlDataReader.GetOrdinal("xInfo")] as string; PROP_Oms = _SqlDataReader.GetInt32(_SqlDataReader.GetOrdinal("Oms")); _Value = true; } else // не нашли в SQL данных { _Value = false; } _SqlDataReader.Close(); } catch (Exception ex) { MyGlo.PUB_Logger.Fatal(ex, "Ошибка Загрузки данных KbolInfo из SQL"); MyGlo.Event_Error(ex); _Value = false; } return(_Value); }
/// <summary>МЕТОД Фабрика Массовая загрузка всех объектов Protokol одного посещения/стационара</summary> /// <param name="pTip">Тип протокола</param> /// <param name="pCodApstacKL">Код посещения/пациента</param> /// <param name="pTipFind">Ищем по CodApstac или по KL</param> public static bool MET_FactoryProtokolArray(eTipDocum pTip, decimal pCodApstacKL, string pTipFind = "CodApstac") { // Коллекция Protokol List <UserProtokol> _Protokol = ((VirtualModul)MyGlo.Modul).PUB_Protokol; try { var _TipProtokol = new MyTipProtokol(pTip); SqlDataReader _SqlDataReader = MySql.MET_QuerySqlDataReader(MyQuery.MET_Protokol_Select_12(pCodApstacKL, _TipProtokol.PROP_Prefix, pTipFind)); // Перебираем весь поток и дабавляем все Protokolы while (_SqlDataReader.Read()) { UserProtokol _Value = new UserProtokol(); _Value.MET_LoadDataReader(_SqlDataReader); _Value.PROP_TipProtokol = _TipProtokol; _Protokol.Add(_Value); } _SqlDataReader.Close(); // Загружаем все заголовки шаблонов ListShablon по загруженным протоколам UserListShablon.MET_FactoryListShablonArray(pTip); // Загружаем все заголовки шаблонов Shablon по загруженным протоколам UserShablon.MET_FactoryShablonArray(pTip); return(true); } catch (Exception ex) { MyGlo.PUB_Logger.Fatal(ex, "Ошибка Массовой Загрузки данных Protokol из SQL"); MyGlo.Event_Error(ex); return(false); } }
///<summary>МЕТОД Фабрика объекта ListShablon</summary> /// <param name="pTip">Тип протокола</param> /// <param name="pCodShablon">Код шаблона</param> public static UserListShablon MET_FactoryListShablon(eTipDocum pTip, int pCodShablon) { // Коллекция ListShablons List <UserListShablon> _ListShablons = ((VirtualModul)MyGlo.Modul).PUB_ListShablons; // Ищем в коллекции ListShablon по типу и номеру шаблона UserListShablon _Value = _ListShablons.FirstOrDefault(p => p.PROP_Cod == pCodShablon && p.PROP_TipProtokol.PROP_TipDocum == pTip); // Если не нашли, то пытаемся ListShablon создать if (_Value == null) { _Value = new UserListShablon(); // Загружаем данные из SQL try { var _TipProtokol = new MyTipProtokol(pTip); SqlDataReader _SqlDataReader = MySql.MET_QuerySqlDataReader(MyQuery.MET_ListShablon_Select_3(pCodShablon, _TipProtokol.PROP_Prefix)); _SqlDataReader.Read(); _Value.MET_LoadDataReader(_SqlDataReader); _Value.PROP_TipProtokol = _TipProtokol; _SqlDataReader.Close(); _ListShablons.Add(_Value); } catch (Exception ex) { MyGlo.PUB_Logger.Fatal(ex, "Ошибка Загрузки данных ListShablon из SQL"); MyGlo.Event_Error(ex); _Value = null; } } return(_Value); }
/// <summary>МЕТОД Фабрика объекта Protokol</summary> /// <param name="pTip">Тип протокола</param> /// <param name="pCod">Код протокола</param> public static UserProtokol MET_FactoryProtokol(eTipDocum pTip, int pCod) { // Коллекция Protokol List <UserProtokol> _Protokol = ((VirtualModul)MyGlo.Modul).PUB_Protokol; // Ищем в коллекции Protokol по типу и коду протокола UserProtokol _Value = _Protokol.FirstOrDefault(p => p.PROP_TipProtokol.PROP_TipDocum == pTip && p.PROP_Cod == pCod); // Если не нашли, то пытаемся Protokol создать if (_Value == null) { _Value = new UserProtokol(); // Загружаем данные из SQL try { var _TipProtokol = new MyTipProtokol(pTip); SqlDataReader _SqlDataReader = MySql.MET_QuerySqlDataReader(MyQuery.MET_Protokol_Select_9(pCod, _TipProtokol.PROP_Prefix)); _SqlDataReader.Read(); _Value.MET_LoadDataReader(_SqlDataReader); _Value.PROP_TipProtokol = _TipProtokol; _SqlDataReader.Close(); _Protokol.Add(_Value); } catch (Exception ex) { MyGlo.PUB_Logger.Fatal(ex, "Ошибка Загрузки данных Protokol из SQL"); MyGlo.Event_Error(ex); _Value = null; } } return(_Value); }
/// <summary>МЕТОД Фабрика Массовая загрузка всех объектов ListShablon для загруженной коллекции Protokol</summary> /// <param name="pTip">Тип протокола</param> /// <remarks>Делается как правило разово из MET_FactoryProtokolArray</remarks> public static bool MET_FactoryListShablonArray(eTipDocum pTip) { // Коллекция ListShablons List <UserListShablon> _ListShablons = ((VirtualModul)MyGlo.Modul).PUB_ListShablons; // Находим список кодов шаблонов (пример: 101, 110, 120, 0), в конце добавляем ноль, что бы перекрыть последнюю запятую или в пустом списке был просто ноль string _NomShablons = ((VirtualModul)MyGlo.Modul).PUB_Protokol.Select(i => i.PROP_NumShablon).Distinct().Aggregate("", (s, i) => s + i + ", ") + "0"; try { var _TipProtokol = new MyTipProtokol(pTip); SqlDataReader _SqlDataReader = MySql.MET_QuerySqlDataReader(MyQuery.MET_ListShablon_Select_4(_TipProtokol.PROP_Prefix, _NomShablons)); // Перебираем весь поток и дабавляем все строки ListShablon while (_SqlDataReader.Read()) { UserListShablon _Value = new UserListShablon(); _Value.MET_LoadDataReader(_SqlDataReader); _Value.PROP_TipProtokol = _TipProtokol; _ListShablons.Add(_Value); } _SqlDataReader.Close(); return(true); } catch (Exception ex) { MyGlo.PUB_Logger.Fatal(ex, "Ошибка Массовой Загрузки данных ListShablon из SQL"); MyGlo.Event_Error(ex); return(false); } }
///<summary>МЕТОД Конвертация данных Shablon из DataReader</summary> /// <param name="pDataReader">Поток данных из SQL</param> private void MET_LoadDataReader(IDataRecord pDataReader) { try { PROP_Cod = pDataReader.GetInt32(pDataReader.GetOrdinal("Cod")); PROP_ID = pDataReader.GetInt32(pDataReader.GetOrdinal("ID")); PROP_Nomer = pDataReader.GetByte(pDataReader.GetOrdinal("Nomer")); PROP_VarId = pDataReader.GetInt32(pDataReader.GetOrdinal("VarId")); PROP_Maska = pDataReader.GetString(pDataReader.GetOrdinal("Maska")); PROP_Type = pDataReader.GetByte(pDataReader.GetOrdinal("Type")); PROP_Razdel = pDataReader.GetString(pDataReader.GetOrdinal("Razdel")); PROP_Name = pDataReader.GetString(pDataReader.GetOrdinal("Name")); PROP_ValueStart = pDataReader.GetString(pDataReader.GetOrdinal("ValueStart")); PROP_OutText = pDataReader.GetString(pDataReader.GetOrdinal("OutText")); PROP_InText = pDataReader.GetString(pDataReader.GetOrdinal("InText")); PROP_xFormat = pDataReader.GetString(pDataReader.GetOrdinal("xFormat")); PROP_xLua = pDataReader.GetString(pDataReader.GetOrdinal("xLua")); PROP_xInfo = pDataReader.GetString(pDataReader.GetOrdinal("xInfo")); } catch (Exception ex) { MyGlo.PUB_Logger.Fatal(ex, "Ошибка Конвертация данных Shablon из DataReader"); MyGlo.Event_Error(ex); } }
/// <summary>СОБЫТИЕ Удаляем все рисунки</summary> private void PART_MenuItem_Click(object sender, EventArgs e) { // Удаляем все рисунки PART_WrapPanel.Children.Clear(); // Возвращаем и показываем подсказку PART_WrapPanel.Children.Add(PART_Change); PART_Change.Visibility = Visibility.Visible; // Отчищаем строку ответа PROP_Text = ""; // Активируем кнопку "Сохранить" MyGlo.Event_SaveShablon(true); }
///<summary>МЕТОД Конвертация данных ListShablon из DataReader</summary> /// <param name="pDataReader">Поток данных из SQL</param> private void MET_LoadDataReader(IDataRecord pDataReader) { try { PROP_Cod = pDataReader.GetInt32(pDataReader.GetOrdinal("Cod")); PROP_TipObsled = pDataReader.GetInt32(pDataReader.GetOrdinal("TipObsled")); PROP_Name = pDataReader.GetString(pDataReader.GetOrdinal("Name")); PROP_Icon = pDataReader.GetString(pDataReader.GetOrdinal("Icon")); PROP_NameKr = pDataReader.GetString(pDataReader.GetOrdinal("NameKr")); PROP_xFormat = pDataReader.GetString(pDataReader.GetOrdinal("xFormat")); PROP_xInfo = pDataReader[pDataReader.GetOrdinal("xInfo")] as string; } catch (Exception ex) { MyGlo.PUB_Logger.Fatal(ex, "Ошибка Конвертация данных ListShablon из DataReader"); MyGlo.Event_Error(ex); } }
///<summary>МЕТОД Фабрика объектов Shablon</summary> /// <param name="pTip">Тип протокола</param> /// <param name="pCodShablon">Код шаблона</param> public static List <UserShablon> MET_FactoryListShablon(eTipDocum pTip, int pCodShablon) { // Коллекция Shablon List <UserShablon> _Shablons = ((VirtualModul)MyGlo.Modul).PUB_Shablon; // Ищем в коллекции <Shablon> по типу и номеру шаблона List <UserShablon> _Value = _Shablons.Where(p => p.PROP_ID == pCodShablon && p.PROP_TipProtokol.PROP_TipDocum == pTip).ToList(); // Если не нашли, то пытаемся <Shablon> загрузить из SQL if (!_Value.Any()) { try { MyTipProtokol _Tip = new MyTipProtokol(pTip); SqlDataReader _SqlDataReader = MySql.MET_QuerySqlDataReader(MyQuery.MET_Shablon_Select_3(pCodShablon, _Tip.PROP_Prefix)); while (_SqlDataReader.Read()) { UserShablon _Shablon = new UserShablon(); _Shablon.MET_LoadDataReader(_SqlDataReader); _Shablon.PROP_TipProtokol = _Tip; // После загрузки, сбрасываем флаг редактирования _Shablon.PROP_FlagEdit = false; _Value.Add(_Shablon); } _SqlDataReader.Close(); } catch (Exception ex) { MyGlo.PUB_Logger.Fatal(ex, "Ошибка Загрузки данных Shablon из SQL"); MyGlo.Event_Error(ex); _Value = null; } // Добавляем наши вопросы в библиотеку if (_Value != null) { _Shablons?.AddRange(_Value); } } return(_Value); }
/// <summary>СОБЫТИЕ Вставляем выбранное значение из контектсного меню</summary> private void PART_Image_Click(object sender, EventArgs e) { // Скрываем надпись - подсказку PART_Change.Visibility = Visibility.Collapsed; // Загружаем рисунок в шаблон Image _Image = sender as Image; Image _NewImage = new Image(); _NewImage.Height = _Image.Height; _NewImage.Width = _Image.Width; _NewImage.Tag = _Image.Tag; _NewImage.Source = (sender as Image).Source; PART_WrapPanel.Children.Add(_NewImage); // Если уже есть в ответе рисунки, то добавляем перед ними запятую if (PROP_Text.Length > 0) { PROP_Text += ","; } // Добавляем код рисунка в строку текста PROP_Text += _NewImage.Tag.ToString(); // Активируем кнопку "Сохранить" MyGlo.Event_SaveShablon(true); }
///<summary>МЕТОД Конвертация данных Protokol из DataReader</summary> /// <param name="pDataReader">Поток данных из SQL</param> private void MET_LoadDataReader(IDataRecord pDataReader) { try { PROP_Cod = pDataReader.GetInt32(pDataReader.GetOrdinal("Cod")); PROP_CodApstac = pDataReader.GetDecimal(pDataReader.GetOrdinal("CodApstac")); PROP_NumShablon = pDataReader.GetInt32(pDataReader.GetOrdinal("NumShablon")); PROP_Protokol = pDataReader.GetString(pDataReader.GetOrdinal("Protokol")); PROP_KL = pDataReader.GetDecimal(pDataReader.GetOrdinal("KL")); PROP_xDateUp = pDataReader.GetDateTime(pDataReader.GetOrdinal("xDateUp")); PROP_xUserUp = pDataReader.GetInt32(pDataReader.GetOrdinal("xUserUp")); PROP_xDelete = pDataReader.GetByte(pDataReader.GetOrdinal("xDelete")); PROP_pIndex = pDataReader.GetInt32(pDataReader.GetOrdinal("pIndex")); PROP_pDate = pDataReader.GetDateTime(pDataReader.GetOrdinal("pDate")); PROP_xLog = pDataReader[pDataReader.GetOrdinal("xLog")] as string; PROP_xInfo = pDataReader[pDataReader.GetOrdinal("xInfo")] as string; PROP_UserName = pDataReader[pDataReader.GetOrdinal("UserName")] as string; } catch (Exception ex) { MyGlo.PUB_Logger.Fatal(ex, "Ошибка Конвертация данных Protokol из DataReader"); MyGlo.Event_Error(ex); } }
/// <summary>СОБЫТИЕ Нажали на кнопку "Закрыть шаблон"</summary> private void PART_Close_Click(object sender, RoutedEventArgs e) { // Вызываем делегат закрытия вкладки MyGlo.Event_CloseTabItem((sender as Button).Tag as TabItem); }