示例#1
0
        ///<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);
        }
示例#2
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);
            }
        }
示例#3
0
        ///<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);
        }
示例#4
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);
        }
示例#5
0
        /// <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);
            }
        }
示例#6
0
 ///<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);
     }
 }
示例#7
0
 /// <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);
 }
示例#8
0
 ///<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);
     }
 }
示例#9
0
        ///<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);
        }
示例#10
0
        /// <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);
        }
示例#11
0
 ///<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);
     }
 }
示例#12
0
 /// <summary>СОБЫТИЕ Нажали на кнопку "Закрыть шаблон"</summary>
 private void PART_Close_Click(object sender, RoutedEventArgs e)
 {
     // Вызываем делегат закрытия вкладки
     MyGlo.Event_CloseTabItem((sender as Button).Tag as TabItem);
 }