Esempio n. 1
0
        /// <summary>МЕТОД Формируем строку по данным указанного шаблона, указанного раздела у соответствуюещго шаблона</summary>
        /// <param name="pNomProtokol">Номер протокола</param>
        /// <param name="pRazdel">Наименование раздела (Razdel)</param>
        /// <param name="pVarID">Код вопроса (VarID)</param>
        /// <param name="pName">Имя вопроса (Name)</param>
        /// <param name="pLastDocum">true - в любой госпитализации, false - в этой же госпитализации</param>
        private string MET_StrRazdel(int pNomProtokol, string pRazdel, int pVarID = 0, string pName = "", bool pLastDocum = false)
        {
            string _Str = "";

            if (PROP_Prefix == null)
            {
                PROP_Prefix = PROP_Protokol.PROP_TipProtokol.PROP_Prefix;
            }
            // Загружаем необходимый протокол
            if (!pLastDocum)
            {
                MySql.MET_DsAdapterFill(MyQuery.MET_Protokol_Select_6(MyGlo.IND, pNomProtokol, PROP_Prefix), "ProtokolRazdel"); // в этой же госпитализации
            }
            else
            {
                MySql.MET_DsAdapterFill(MyQuery.MET_Protokol_Select_8(MyGlo.KL, pNomProtokol, PROP_Prefix), "ProtokolRazdel");  // в любой из госпитализаций
            }
            // Количество протоколов данного типа
            int _Count = MyGlo.DataSet.Tables["ProtokolRazdel"].Rows.Count;

            // Смотрим, есть ли такой протокол
            if (_Count > 0)
            {
                string _Protokol = MyGlo.DataSet.Tables["ProtokolRazdel"].Rows[_Count - 1]["Protokol"].ToString();
                //  Находим данные
                _Str = MET_LoadStr(_Protokol, pNomProtokol, pRazdel, pVarID, pName);
            }
            return(_Str);
        }
Esempio n. 2
0
        /// <summary>МЕТОД Формируем Форму Шаблона</summary>
        public override void MET_CreateForm()
        {
            PRI_StackPanel.Orientation = Orientation.Vertical;
            if (PROP_Docum.PROP_ListShablon == null)
            {
                PROP_Docum.PROP_ListShablon = UserListShablon.MET_FactoryListShablon(PROP_TipProtokol.PROP_TipDocum, PRO_NomerShablon);
            }
            // Исключение при выполнении запроса к базе
            try
            {
                PUB_HashPole = new SortedList();                                // список полей
                Background   = Brushes.GhostWhite;
                // Если открываем заполненый протокол
                if (!PROP_NewProtokol)
                {
                    PRO_StrProtokol = PROP_Docum.PROP_Protokol.PROP_Protokol;
                    PROP_Cod        = PROP_Docum.PROP_Protokol.PROP_Cod;
                    // Старый шаблон
                    PROP_StadNodes = eStadNodes.Old;
                }
                else // Пытаемся найти последний протокол по KL и коду шаблона
                {
                    if (MySql.MET_DsAdapterFill(MyQuery.MET_Protokol_Select_8(MyGlo.KL, PRO_NomerShablon, PROP_TipProtokol.PROP_Prefix), PROP_TipProtokol.PROP_Protokol) > 0)
                    {
                        // Новый шаблон, с предыдушими данными
                        PROP_StadNodes  = eStadNodes.NewPerw;
                        PRO_StrProtokol = MyGlo.DataSet.Tables[PROP_TipProtokol.PROP_Protokol].Rows[0]["Protokol"].ToString();
                    }
                    else
                    {
                        // Новый шаблон
                        PROP_StadNodes = eStadNodes.New;
                    }
                }

                // ---- Дата осмотра
                PROP_Format = PROP_Docum.PROP_ListShablon.PROP_MyFormat;
                VirtualPole _Date = MET_CreateUserPole(3);
                _Date.PROP_Necessarily = true;
                _Date.PROP_Description = PROP_Format.MET_If("pDateT") ? PROP_Format.PROP_Value["pDateT"].ToString() : "Дата";
                // Если старый протокол
                if (!PROP_NewProtokol)
                {
                    _Date.PROP_Text = PROP_Docum.PROP_Protokol.PROP_pDate.ToString();
                }
                else
                {
                    // Если новый шаблон
                    if (PROP_Format.MET_If("pDateD"))
                    {
                        switch (PROP_Format.PROP_Value["pDateD"].ToString())
                        {
                        case "pol":                                                             // если посещение поликлиники
                            _Date.PROP_Text = MyMet.MET_ParseDat(MyGlo.HashAPAC["DP"]).ToString();
                            break;

                        default:
                            _Date.PROP_Text = DateTime.Today.ToString();                        // текущий день
                            break;
                        }
                    }
                    else
                    {
                        _Date.PROP_Text = DateTime.Today.ToString();                            // текущий день
                    }
                }
                _Date.PROP_DefaultText = DateTime.Today.ToString();             // начальное значение
                _Date.PROP_ValueMin    = Convert.ToDateTime("01/01/2011");      // минимальное число - 2011 год
                _Date.Name             = "DateOsmotr";                          // имя поля
                _Date.PROP_FormShablon = this;                                  // ссылка на форму
                PUB_HashPole.Add(_Date.Name, _Date);                            // записываем элемент в очередь
                PRI_StackPanel.Children.Add(_Date);                             // добавляем элемент на форму
                // Перебераем все вопросы
                MET_LoadPole();
                // Деактивируем кнопку "Сохранить"
                PROP_EditShablon = false;
                // Всё шаблон создан!
                PROP_Created = true;
            }
            catch
            {
                // ignored
            }
        }