/// <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>МЕТОД Фабрика объекта 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); }