/// <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); }
/// <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 } }