/* * метод возвращает ИД ИСПДн по Имени *********** */ public static int ISPDnIDGetMetod(string ISPDnName) { int IdIs = 0; ISPDnBDDataSet ds = new ISPDnBDDataSet(); ISPDnBDDataSetTableAdapters.ISPDnOperatorTableAdapter tblAdaptISPDNId = new ISPDnBDDataSetTableAdapters.ISPDnOperatorTableAdapter(); tblAdaptISPDNId.Fill(ds.ISPDnOperator); DataTable tableIsName = ds.Tables["ISPDnOperator"]; foreach (DataRow dataRow in tableIsName.Rows) { string IsName = dataRow["ISPDnOperatorName"].ToString(); int Id = Convert.ToInt32(dataRow["ISPDnOperatorID"].ToString()); if (ISPDnName == IsName) { IdIs = Id; } } return(IdIs); }
FormConfirmIspdnAdd frmConfirmISPDn = new FormConfirmIspdnAdd(); //создаем диалоговую форму private void btnSPDnAdd_Click(object sender, EventArgs e) { /********************* - ВНАЧАЛЕ проверяем все ли значения определены - ******************/ // проверяем заполнено ли поле "Название ИСПДН" if (this.comboBoxRedISPDn.Text == "") { MessageBox.Show("Введите название ИСПДн"); goto exit; } // проверяем заполнены ли Таблицы - Субъектов if (KategorySubjDataGridView.Rows.Count == 0) { MessageBox.Show("Не выбран ни один субъект персональных данных"); goto exit; } // проверяем выбраны ли основные категории ПД и дополнительные if ((checkedListBoxPd.CheckedIndices.Count == 0) && (kategoryPdDopDataGridView.Rows.Count == 0)) { MessageBox.Show("Не выбрана ни одна из обрабатываемых категорий ПД"); goto exit; } // проверяем если отмечены биометрические категории ПД, есть ли записи в Гриде if (checkBoxBioKatPD.Checked == true) { // проверяем заполнены ли Таблицы - расшифровки биометрических ПД if (kategoryPdBioDataGridView.Rows.Count == 0) { MessageBox.Show("Не расшифрованы биометрические категории персональных данных"); goto exit; } } // проверяем заполнены ли Таблицы - Работников допущенных к работе с персональными данными if (RabotnikiOrgDataGridView.Rows.Count == 0) { MessageBox.Show("Не выбран ни один Работник допущенный к работе с системой"); goto exit; } // проверяем заполнены ли Таблицы - Цели обработки персональных данных if (CeliObrabotkiDataGridView.Rows.Count == 0) { MessageBox.Show("Не выбрана ни одна цель обработки ПД"); goto exit; } // проверяем выбраны ли специальные категории ПД if ((checkBoxSpecPD.Checked == true) && (checkBoxSudimost.Checked == false) && (checkedListBoxSpecKatPD.CheckedIndices.Count == 0)) { MessageBox.Show("Ведется обработка специальных категорий ПД, а категории не выбраны"); goto exit; } // проверяем отмечен ли тип модели для текущей ИСПДн if ((this.radioButtonTipModeliISPDn1.Checked == false) && (this.radioButtonTipModeliISPDn2.Checked == false) && (this.radioButtonTipModeliISPDn3.Checked == false) && (this.radioButtonTipModeliISPDn4.Checked == false) && (this.radioButtonTipModeliISPDn5.Checked == false) && (this.radioButtonTipModeliISPDn6.Checked == false)) { MessageBox.Show("Не отмечен тип для текущей ИСПДн"); goto exit; } //******************* Когда проверены условия на заполнения всех полей добавляем записи ИС в базе******/ //Создаем таблицу ИСПДН, заполняем ее и проверяем есть ли информационная системя в базе ISPDnBDDataSet ds = new ISPDnBDDataSet(); ISPDnBDDataSetTableAdapters.ISPDnOperatorTableAdapter tblAdaptISPDNId = new ISPDnBDDataSetTableAdapters.ISPDnOperatorTableAdapter(); tblAdaptISPDNId.Fill(ds.ISPDnOperator); DataTable tableIsName = ds.Tables["ISPDnOperator"]; foreach (DataRow dataRow in tableIsName.Rows) { string forName; forName = dataRow["ISPDnOperatorName"].ToString(); int forISPDnID; forISPDnID = Convert.ToInt32(dataRow["ISPDnOperatorID"]); if (this.comboBoxRedISPDn.Text == forName) // Если Имя Поля названиеИС равно имени в Базе { ClassGlobalVar.ISPDnID = forISPDnID; if (frmConfirmISPDn.ShowDialog() == DialogResult.OK) { // вначале удаляем данные связных таблиц данной ИСПДн потом поновой добовляем this.mnogieISPDnSubjTableAdapter.DeleteQueryMnogieSubjIspdn(ClassGlobalVar.ISPDnID); // удаляем связи субъектов this.mnogieISPDnKategoryPDTableAdapter.DeleteQueryMnogieKategoryPdIS(ClassGlobalVar.ISPDnID); // удаляем связи категорий ПД this.mnogieKategoryPdSpecISPDnTableAdapter.DeleteQueryMnogieSpecPdIspdn(ClassGlobalVar.ISPDnID); // удаляем связи специальных категорий this.mnogieKategoryPdBioISPDnTableAdapter.DeleteQueryMnogieBioPdIspdn(ClassGlobalVar.ISPDnID); // удаляем связи Био категорий this.mnogieKategoryPdDopISPDnTableAdapter.DeleteQueryMnogiePdDopIspdn(ClassGlobalVar.ISPDnID); // удаляем связи дополнительных категорий this.mnogieISPDnRabotnikiTableAdapter.DeleteQueryMnogieRabotnikiIspdn(ClassGlobalVar.ISPDnID); // удаляем связи работников this.mnogieCeliObrabotkiISPDnTableAdapter.DeleteQueryMnogieCeliIspdn(ClassGlobalVar.ISPDnID); // удаляем связи целей /************ вставляем данные по новой **********/ MethodInsertSubject(); // вставляем в многие ИС+субъекты // Если отмечен БИО то вставляем if (this.checkBoxBioKatPD.Checked == true) { MethodInsertMnogieBioISPDn(); } MethodKategoryPDDopAdd(); // добовляем дополнительные категории ПД MethodKategorySpecAdd(); // вставляем специальные категории ПД MethodKategoryPDAdd(); // добавляем в связную таблицу категории основных ПД из лист бокса MethodInsertRabotniki(); // вставляем в многие ИС+Работники MethodInsertCeli(); // вставляем в многие ИС+цели int tipModeli = 0; if (this.radioButtonTipModeliISPDn1.Checked == true) { tipModeli = 1; } else if (this.radioButtonTipModeliISPDn2.Checked == true) { tipModeli = 2; } else if (this.radioButtonTipModeliISPDn3.Checked == true) { tipModeli = 3; } else if (this.radioButtonTipModeliISPDn4.Checked == true) { tipModeli = 4; } else if (this.radioButtonTipModeliISPDn5.Checked == true) { tipModeli = 5; } else if (this.radioButtonTipModeliISPDn6.Checked == true) { tipModeli = 6; } // добовляем тип модели для текущей ИСПДн this.ispDnOperatorTableAdapter.UpdateTipModeliISPDn(tipModeli, ClassGlobalVar.ISPDnID, ClassGlobalVar.OrgID); MessageBox.Show("Информационная система Обновлена"); goto exit; } else { goto exit; } } } // Добавляем данные (Насвание ИСПДн и номер организации к которой она относится) this.ispDnOperatorTableAdapter.InsertISPDnData(comboBoxRedISPDn.Text, ClassGlobalVar.OrgID, null, null, null, null, null); // Если отмечен БИО то вставляем if (this.checkBoxBioKatPD.Checked == true) { MethodInsertMnogieBioISPDn(); } MethodKategoryPDDopAdd(); // добовляем дополнительные категории ПД MethodKategorySpecAdd(); // вставляем специальные категории ПД MethodInsertSubject(); // вставляем в многие ИС+субъекты MethodKategoryPDAdd(); // добавляем в связную таблицу категории основных ПД из лист бокса MethodInsertRabotniki(); // вставляем в многие ИС+Работники MethodInsertCeli(); // вставляем в многие ИС+цели MessageBox.Show("Информационная система добавлена"); /* * Очищаем все поля и таблицы для добавления новой Информационной системы */ this.kategorySubjTableAdapter.MetodSubjNoLoad(iSPDnBDDataSet.KategorySubj, "No"); foreach (int index in checkedListBoxPd.CheckedIndices) { checkedListBoxPd.SetItemCheckState(index, CheckState.Unchecked); } this.checkBoxSpecPD.Checked = false; this.checkBoxSudimost.Checked = false; foreach (int index in checkedListBoxSpecKatPD.CheckedIndices) { checkedListBoxSpecKatPD.SetItemCheckState(index, CheckState.Unchecked); } this.checkBoxBioKatPD.Checked = false; this.kategoryPdBioTableAdapter.MetodBioNoLoad(iSPDnBDDataSet.KategoryPdBio, "No"); this.kategoryPdDopTableAdapter.MetodPdDopNoLoad(iSPDnBDDataSet.KategoryPdDop, "No"); this.RabotnikiOrgTableAdapter.MetodRabotnikiNoLoad(iSPDnBDDataSet.RabotnikiOrg, "No"); this.CeliObrabotkiPDTableAdapter.MetodCeliNoLoad(iSPDnBDDataSet.CeliObrabotkiPD, "No"); exit :; // принудительный выход из выполнения кода ---------------------------------------- }