/// <summary>СОБЫТИЕ Выбор Даты расписания</summary> private void PART_DataGridDate_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e) { MyGlo.DataSet.Tables["rnTime"].Clear(); // чистим время if (PART_DataGridDate.SelectedIndex < 0) { return; // если ничего не выбрали - выходим } // Выбранная запись DataRowView _DataRowView = (DataRowView)PART_DataGridDate.SelectedItem; // Наша дата PUB_Date = MyMet.MET_ParseDat(_DataRowView.Row["Dat"]); // Загружаем Время MET_LoadTime(); }
/// <summary>СОБЫТИЕ Записываем пациента на прием</summary> private void PART_ButtonSave_Click(object sender, RoutedEventArgs e) { // Наш код расписания int _CodSetka = PROP_Cod; // Если не выбрали код - выходим if (_CodSetka == 0) { MessageBox.Show("Нужно выбрать время!", "Сосредоточтесь"); return; } // Проверяем, есть ли свободная запись (повторно, а вдруг уже заняли) if (!MySql.MET_QueryBool(MyQuery.MET_RnSetka_Time_Select_2(_CodSetka, PROP_Server))) { MessageBox.Show("Пока вы думали, это время заняли!", "Задумались?"); return; } // Проверяем не записан ли повторно пациент в этот кабинет if (MySql.MET_QueryBool(MyQuery.MET_RnSetka_Time_Select_3(MyGlo.KL, PUB_Element, PROP_Server))) { MessageBox.Show("Пациент уже записан в этот кабинет!", "Зачем?"); return; } // Заполняем RsTalon int _Cod = MySql.MET_GetNextRef(67); string _FIO = (string)MyGlo.HashKBOL["FAM"]; // ФИО DateTime?_DR = MyMet.MET_ParseDat(MyGlo.HashKBOL["DR"]); // ДР string _Rai = MyGlo.HashKBOL["KRName"].ToString(); // Район if (_Rai == "") { _Rai = (string)MyGlo.HashKBOL["NasPName"]; // Населенный пункт } string _xLog = $@"{{""CrUser"": ""{MyGlo.UserName}"",""CrLPU"": ""БУЗОО КОД"",""CrProg"": ""wpfBazis"",""CrDate"": ""{DateTime.Now:yyyy-MM-dd hh:mm}""}}"; // Сохраняем if (!MySql.MET_QueryNo(MyQuery.MET_RnTalon_Insert_1(_Cod, _CodSetka, MyGlo.KL, _FIO, _DR, _Rai, _xLog, PROP_Server))) { MessageBox.Show("Записать не удалось!", "Ошибка"); return; } // Обновляем время (убрав, только что занятую позицию) MET_LoadTime(); // Показываем куда записан пациент MET_LoadTalon(); }
/// <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 } }