コード例 #1
0
ファイル: UserListShablon.cs プロジェクト: LorNick/wpfBazis
        ///<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);
        }
コード例 #2
0
ファイル: UserProtokol.cs プロジェクト: LorNick/wpfBazis
        /// <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);
            }
        }
コード例 #3
0
ファイル: UserListShablon.cs プロジェクト: LorNick/wpfBazis
        /// <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);
            }
        }