示例#1
0
        /*
         * метод возвращает ИД ИСПДн по Имени ***********
         */
        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);
        }
示例#2
0
        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 :; // принудительный выход из выполнения кода ----------------------------------------
        }