/// <summary>СОБЫТИЕ Нажали на кнопку Загрузить справочник врачей</summary> private void PART_ButtonNewOKATO_Click(object sender, RoutedEventArgs e) { newOKATO = PART_TextBoxNewOKATO.Text; if (newOKATO == "" || oldOKATO == "") { PART_RichTextBox.AppendText("Введите в поле правильный Новый номер ОКАТО\n"); return; } if (newOKATO.Length != 11) { PART_RichTextBox.AppendText($"Должно быть 11 символов, а у вас их {newOKATO.Length}\n"); return; } if (newOKATO == oldOKATO) { PART_RichTextBox.AppendText($"Ни чё что они у вас равны!?!\n"); return; } bool _isUpdate = MySql.MET_QueryNo($"update Bazis.dbo.KLADR set OCATD = {newOKATO} where OCATD = {oldOKATO}"); if (_isUpdate) { PART_RichTextBox.AppendText($"Успех, поменял {oldOKATO} нa {newOKATO}\n\n"); PART_ButtonNewOKATO.IsEnabled = false; oldOKATO = ""; newOKATO = ""; PART_TextBoxOldOKATO.Text = ""; PART_TextBoxNewOKATO.Text = ""; } else { PART_RichTextBox.AppendText($"БЯДА! Не получилось поменять {oldOKATO} нa {newOKATO}\n"); } }
/// <summary>СОБЫТИЕ Нажали на кнопку Загрузить справочник врачей</summary> private void PART_ButtonLoadFile_Click(object sender, RoutedEventArgs e) { PART_ButtonLoadFile.IsEnabled = false; PART_ButtonOpenXML.IsEnabled = false; // Грузим данные локально DataSet dataSet = new DataSet(); DataTable dataTable; try { // Загружаем XML файл в таблицу 0 dataSet.ReadXml(PRI_FileName); dataTable = dataSet.Tables[0]; // Удаляем всех НЕ наших врачей var query = dataTable.AsEnumerable().Where(r => r.Field <string>("mcod") != "555509"); foreach (var row in query.ToList()) { row.Delete(); } dataTable.AcceptChanges(); } catch { PART_RichTextBox.AppendText("Ошибка загрузки XML файла"); return; } // Грузим в Sql try { // Удаляем старые данные MySql.MET_QueryNo("delete Bazis.dbo.StrahVrachMIAC"); // Копируем в Sql foreach (DataRow row in dataTable.Rows) { if (!MET_SaveSql(row)) { throw new Exception(); } } } catch { PART_RichTextBox.AppendText("Ошибка копирования файла в SQL - ну т.е. всё плохо"); return; } PART_RichTextBox.AppendText($"Загрузил {dataTable.Rows.Count} записей!"); }
/// <summary>СОБЫТИЕ Выбор XML файла</summary> private void PART_ButtonOpenXML_Click(object sender, RoutedEventArgs e) { // Находим нужный файл var _DialogFileOpen = new Microsoft.Win32.OpenFileDialog { DefaultExt = ".xml", Filter = "XML file|spr_medspec.xml" }; if (_DialogFileOpen.ShowDialog() != true) { return; } PART_RichTextBox.AppendText($"Выбран файл: {_DialogFileOpen.FileName}\n"); PRI_FileName = _DialogFileOpen.FileName; PART_ButtonLoadFile.IsEnabled = true; }
/// <summary>СОБЫТИЕ Нажали на кнопку Проверить старый ОКАТО</summary> private void PART_ButtonOldOKATO_Click(object sender, RoutedEventArgs e) { oldOKATO = PART_TextBoxOldOKATO.Text; if (oldOKATO == "") { PART_RichTextBox.AppendText("Введите в поле Старый номер ОКАТО\n"); return; } // Ищем старый ОКАТО string _oldAdres = MySql.MET_QueryStr($"select isnull((select SOCR + '. ' + NAME + '; ' from Bazis.dbo.KLADR where OCATD = {oldOKATO} for xml path('')), 'не нашел')"); PART_RichTextBox.AppendText($"### Старый ОКАТО: {oldOKATO}\n"); PART_RichTextBox.AppendText($"Адреса: {_oldAdres}\n"); if (_oldAdres == "не нашел" || _oldAdres == "") { PART_ButtonNewOKATO.IsEnabled = false; newOKATO = ""; return; } PART_ButtonNewOKATO.IsEnabled = true; }
/// <summary>СОБЫТИЕ Нажали на кнопку Обновить Страховые компании</summary> private void PART_ButtonLoadFile_Click(object sender, RoutedEventArgs e) { string _Tf_okato = ""; int _Smocod = 0; string _Nam_smok = ""; string _D_end = ""; string _Ogrn = ""; PRI_Context = new StarahReestrDataContext(MySql.MET_ConSql()); ((Paragraph)PART_RichTextBox.Document.Blocks.FirstBlock).LineHeight = 2; XmlTextReader _TextReader = new XmlTextReader(PRI_FileName); while (_TextReader.Read()) { if (_TextReader.NodeType == XmlNodeType.Element) { switch (_TextReader.Name) { case "tf_okato": _TextReader.Read(); _Tf_okato = _TextReader.Value; break; case "smocod": _TextReader.Read(); _Smocod = Convert.ToInt32(_TextReader.Value); break; case "nam_smok": _TextReader.Read(); _Nam_smok = _TextReader.Value; break; case "d_end": _TextReader.Read(); _D_end = _TextReader.Value == "" ? "" : "old"; break; case "Ogrn": _TextReader.Read(); _Ogrn = _TextReader.Value; break; } } if (_TextReader.NodeType == XmlNodeType.EndElement && _TextReader.Name == "insCompany") { // Связь с SQL, в принципе не очень то и нужен, только для разового сохраниения в StrahFile try { bool _Er = false; PRI_StrahComp = PRI_Context.s_StrahComp.Single(n => n.KOD == _Smocod); if (_Nam_smok != PRI_StrahComp.TKOD) { _Er = true; PART_RichTextBox.AppendText("Несовпадает название:\n"); } if (_Ogrn != PRI_StrahComp.OGRN) { _Er = true; PART_RichTextBox.AppendText("Несовпадает ОГРН:\n"); } if (_D_end != PRI_StrahComp.NewTKod) { _Er = true; PART_RichTextBox.AppendText("Несовпадает дата закрытия:\n"); } if (_Er) { PART_RichTextBox.AppendText(_Smocod + "\n"); PART_RichTextBox.AppendText("ОГРН старое/новое: " + PRI_StrahComp.OGRN + " / " + _Ogrn + "\n"); PART_RichTextBox.AppendText("Устаревшее старое/новое: " + PRI_StrahComp.NewTKod + " / " + _D_end + "\n"); PART_RichTextBox.AppendText("старое:" + PRI_StrahComp.TKOD + "\n"); PART_RichTextBox.AppendText("новое: " + _Nam_smok + "\n\n"); PRI_StrahComp.OGRN = _Ogrn; PRI_StrahComp.NewTKod = _D_end; PRI_StrahComp.TKOD = _Nam_smok; } //// Запись файла StrahFile //PRI_StrahFile = new StrahFile //{ // Cod = PRI_Context.StrahFile.Max(e => e.Cod + 1), // DateN = PROP_DateN, // DateK = PROP_DateK, // Korekt = PROP_Korekt, // StrahComp = (byte?)PRI_Strah, // SUMMAV = 0, // Tip = 1, // YEAR = PROP_DateK.Year, // MONTH = PROP_DateK.Month, // NSCHET = PROP_Schet, // DSCHET = PROP_DateSchet, // pHide = 0, // pParent = PROP_Parent //}; } catch (InvalidOperationException) { PART_RichTextBox.AppendText("Новая компания:\n"); PART_RichTextBox.AppendText(_Smocod + " " + _Ogrn + " " + _D_end + "\n"); PART_RichTextBox.AppendText(_Nam_smok + "\n"); PRI_StrahComp.KOD = _Smocod; PRI_StrahComp.OGRN = _Ogrn; PRI_StrahComp.NewTKod = _D_end; PRI_StrahComp.TKOD = _Nam_smok; try { PRI_Oblast = PRI_Context.s_Oblast.Single(n => n.NewKod == _Tf_okato); PART_RichTextBox.AppendText("ОКАТО: " + _Tf_okato + " область:" + PRI_Oblast.kod + " / " + PRI_Oblast.NAIM + "\n\n"); } catch (InvalidOperationException) { PART_RichTextBox.AppendText("область НЕ найдена \n\n"); } } catch { // } } } PART_RichTextBox.AppendText("Усё"); }