Exemplo n.º 1
0
        public static void createPreviousApproval(Application app, System.Data.DataTable listData, string bookmarkName, List <CMData> dataResult, string currFontFamily, float currFontSize)
        {
            Table tblPreviousApproval = IIFCommon.createTable(app, bookmarkName, 5, true);

            tblPreviousApproval.Borders.Enable = 1;

            //header
            tblPreviousApproval.Cell(1, 1).Range.Text = "Type Document";
            tblPreviousApproval.Cell(1, 2).Range.Text = "No. Document";
            tblPreviousApproval.Cell(1, 3).Range.Text = "Approval";
            tblPreviousApproval.Cell(1, 4).Range.Text = "Approval Date";
            tblPreviousApproval.Cell(1, 5).Range.Text = "Purpose";

            int    rowCounter = 1;
            object missing    = System.Reflection.Missing.Value;

            string cmNumber = IIFCommon.generateCMNumber(
                dataResult[0].ProjectCode
                , Convert.ToInt32(dataResult[0].CMNumber).ToString("00")
                , dataResult[0].ApprovalAuhority
                , dataResult[0].CMDate.ToString("MMM")
                , dataResult[0].CMDate.ToString("yyyy")
                );

            foreach (DataRow item in listData.Rows)
            {
                if (item[3].ToString() == null || item[3].ToString().Trim().Length == 0)                 //ApprovalDate
                {
                    continue;
                }

                tblPreviousApproval.Rows.Add(ref missing);
                rowCounter++;

                tblPreviousApproval.Cell(rowCounter, 1).Range.Text = item[1].ToString();
                tblPreviousApproval.Cell(rowCounter, 1).Range.Shading.BackgroundPatternColor = WdColor.wdColorWhite;
                tblPreviousApproval.Cell(rowCounter, 1).Range.Paragraphs.Alignment           = WdParagraphAlignment.wdAlignParagraphLeft;
                tblPreviousApproval.Cell(rowCounter, 1).Range.Font.Name = currFontFamily;
                tblPreviousApproval.Cell(rowCounter, 1).Range.Font.Size = currFontSize;

                tblPreviousApproval.Cell(rowCounter, 2).Range.Text = item[2].ToString();
                tblPreviousApproval.Cell(rowCounter, 2).Range.Shading.BackgroundPatternColor = WdColor.wdColorWhite;
                tblPreviousApproval.Cell(rowCounter, 2).Range.Paragraphs.Alignment           = WdParagraphAlignment.wdAlignParagraphLeft;
                tblPreviousApproval.Cell(rowCounter, 2).Range.Font.Name = currFontFamily;
                tblPreviousApproval.Cell(rowCounter, 2).Range.Font.Size = currFontSize;

                tblPreviousApproval.Cell(rowCounter, 3).Range.Text = item[3].ToString();
                tblPreviousApproval.Cell(rowCounter, 3).Range.Shading.BackgroundPatternColor = WdColor.wdColorWhite;
                tblPreviousApproval.Cell(rowCounter, 3).Range.Paragraphs.Alignment           = WdParagraphAlignment.wdAlignParagraphLeft;
                tblPreviousApproval.Cell(rowCounter, 3).Range.Font.Name = currFontFamily;
                tblPreviousApproval.Cell(rowCounter, 3).Range.Font.Size = currFontSize;

                tblPreviousApproval.Cell(rowCounter, 4).Range.Text = Convert.ToDateTime(item[4].ToString()).ToString("dd MMM yyyy");
                tblPreviousApproval.Cell(rowCounter, 4).Range.Shading.BackgroundPatternColor = WdColor.wdColorWhite;
                tblPreviousApproval.Cell(rowCounter, 4).Range.Paragraphs.Alignment           = WdParagraphAlignment.wdAlignParagraphLeft;
                tblPreviousApproval.Cell(rowCounter, 4).Range.Font.Name = currFontFamily;
                tblPreviousApproval.Cell(rowCounter, 4).Range.Font.Size = currFontSize;

                string htmlResult = ConvertHtmlAndFile.SaveToFile(item[5].ToString());

                #region delete empty paragraph
                Application app2           = new Application();
                Document    sourceDocument = app2.Documents.Open(htmlResult);
                object      start          = sourceDocument.Content.Start;
                object      end            = sourceDocument.Content.End;
                Microsoft.Office.Interop.Word.Range myRange = sourceDocument.Range(ref start, ref end);
                myRange.Select();
                FindEmptyParagraphsAndDelete(sourceDocument);
                //myRange.set_Style(ref Normal);
                sourceDocument.Save();
                sourceDocument.Close(WdSaveOptions.wdSaveChanges);
                app2.Quit();
                #endregion

                tblPreviousApproval.Cell(rowCounter, 5).Range.InsertFile(htmlResult);
                tblPreviousApproval.Cell(rowCounter, 5).Range.Shading.BackgroundPatternColor = WdColor.wdColorWhite;
                tblPreviousApproval.Cell(rowCounter, 5).Range.Paragraphs.Alignment           = WdParagraphAlignment.wdAlignParagraphLeft;
                tblPreviousApproval.Cell(rowCounter, 5).Range.Font.Name = currFontFamily;
                tblPreviousApproval.Cell(rowCounter, 5).Range.Font.Size = currFontSize;
            }
        }