Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }