コード例 #1
0
        private void Rb_CheckedChanged(object sender, EventArgs e)
        {
            foreach (RadioButton rb in radiobuttonsSZISorts)
            {
                SZI szi = listOfSZIsFromDB.Where(s => s.Name == rb.Text).First();
                if (rb.Checked && !IS.listOfSZIs.Contains(szi))
                {
                    IS.listOfSZIs.Add(szi);
                }
                if (!rb.Checked && IS.listOfSZIs.Contains(szi))
                {
                    IS.listOfSZIs.Remove(szi);
                }
            }

            foreach (CheckBox cb in checkboxesSZISorts)
            {
                SZI szi = listOfSZIsFromDB.Where(s => s.Name == cb.Text).First();
                if (cb.Checked && !IS.listOfSZIs.Contains(szi))
                {
                    IS.listOfSZIs.Add(szi);
                }
                if (!cb.Checked && IS.listOfSZIs.Contains(szi))
                {
                    IS.listOfSZIs.Remove(szi);
                }
            }
        }
コード例 #2
0
        public void BtnExportWord_CLick(object sender, EventArgs e)
        {
            mf.wsm.Visible = true;
            mf.wsm.Update();

            Microsoft.Office.Interop.Word._Application wordApp = null;
            try
            {
                wordApp = new Microsoft.Office.Interop.Word.Application();
            }
            catch
            {
                mf.wsm.Visible = false;
                MessageBox.Show("На ПК не установлен пакет Microsoft Office Word 2007 или позднее. Экспорт невозможен.", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            Microsoft.Office.Interop.Word.Document  wordDoc;
            Microsoft.Office.Interop.Word.Paragraph wordParag;


            wordDoc = wordApp.Documents.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);

            wordParag                            = wordDoc.Paragraphs.Add();
            wordParag.Range.Text                 = "Требования к параметрам настройки средств защиты информации в ИС \"" + IS.ISName + "\"";
            wordParag.Range.Font.Name            = "Times New Roman";
            wordParag.Range.Font.Size            = 18;
            wordParag.Range.Font.Bold            = 1;
            wordParag.Range.Paragraphs.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
            wordParag.Range.InsertParagraphAfter(); wordParag.Range.InsertParagraphAfter();
            using (KPSZIContext db = new KPSZIContext())
            {
                foreach (MeasureGroup mg in db.MeasureGroups.ToList())
                {
                    //Группа мер
                    bool isMeasureGroupInTable = false;
                    for (int i = mf.dgvConfigNMeasures.Rows.Count - 1; i >= 0; i--)
                    {
                        if (mf.dgvConfigNMeasures.Rows[i].Cells[0].Value.ToString().Contains(mg.ShortName + "."))
                        {
                            isMeasureGroupInTable = true;
                        }
                    }
                    if (!isMeasureGroupInTable)
                    {
                        continue;
                    }
                    wordParag.Range.Text                 = '\t' + mg.Name;
                    wordParag.Range.Font.Name            = "Times New Roman";
                    wordParag.Range.Font.Size            = 16;
                    wordParag.Range.Font.Bold            = 1;
                    wordParag.Range.Font.Italic          = 0;
                    wordParag.Range.Paragraphs.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphJustify;

                    wordParag.Range.InsertParagraphAfter();

                    foreach (DataGridViewRow dgvr in mf.dgvConfigNMeasures.Rows)
                    {
                        if (dgvr.Cells[0].Value.ToString().Contains(mg.ShortName + "."))
                        {
                            //Мера
                            wordParag.Range.Text                 = '\t' + dgvr.Cells[0].Value.ToString();
                            wordParag.Range.Font.Name            = "Times New Roman";
                            wordParag.Range.Font.Size            = 14;
                            wordParag.Range.Font.Bold            = 1;
                            wordParag.Range.Font.Italic          = 0;
                            wordParag.Range.Paragraphs.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphJustify;

                            wordParag.Range.InsertParagraphAfter();

                            //тип сзи
                            string         szis     = "";
                            string         measure  = dgvr.Cells[0].Value.ToString();
                            List <SZISort> szisorts = db.GisMeasures.ToList().Where(m => (m.MeasureGroup.ShortName + "." + m.Number + " " + m.Description) == measure).First().SZISorts.ToList();

                            var listOfSZIs = db.SZIs.ToList().Intersect(IS.listOfSZIs).ToList();
                            foreach (SZI sz in listOfSZIs)
                            {
                                SZI m = db.SZIs.Where(t => t.SZIId == sz.SZIId).First();
                                sz.SZISorts = m.SZISorts.ToList();
                            }
                            foreach (SZISort s in szisorts)
                            {
                                szis += s.Name + ": " + listOfSZIs.Where(szi => szi.SZISorts.Contains(s)).First().Name + "; ";
                            }
                            if (szis != "")
                            {
                                szis = szis.Substring(0, szis.Length - 2) + ".";

                                wordParag.Range.Text                 = '\t' + szis;
                                wordParag.Range.Font.Name            = "Times New Roman";
                                wordParag.Range.Font.Size            = 14;
                                wordParag.Range.Font.Bold            = 0;
                                wordParag.Range.Font.Italic          = 1;
                                wordParag.Range.Paragraphs.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphJustify;

                                wordParag.Range.InsertParagraphAfter();
                            }


                            string[] configOptions = dgvr.Cells[1].Value.ToString().Split('\n');
                            for (int i = 0; i < configOptions.Length - 1; i++)
                            {
                                //Параметры
                                char divider = i == configOptions.Length - 2 ? '.' : ';';
                                wordParag.Range.Text                 = "\t– " + configOptions[i] + divider;
                                wordParag.Range.Font.Name            = "Times New Roman";
                                wordParag.Range.Font.Size            = 12;
                                wordParag.Range.Font.Bold            = 0;
                                wordParag.Range.Font.Italic          = 0;
                                wordParag.Range.Paragraphs.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphJustify;
                                wordParag.Range.InsertParagraphAfter();
                            }
                            wordParag.Range.InsertParagraphAfter();
                        }
                        else
                        {
                            continue;
                        }
                    }
                    wordParag.Range.InsertParagraphAfter();
                }
                wordApp.Visible = true;

                mf.wsm.Visible = false;
            }
        }