bool StoreDataTables()
        {
            Table table = ScenarioContext.Current.StepContext.StepInfo.Table;

            if (table != null)
            {
                TableList tableList = (TableList)FeatureContext.Current["OELog_TableList"];
                tableList.AddTable(table);
                return(true);
            }
            return(false);
        }
        public void LogDataTables()
        {
            try
            {
                TableList    tables    = (TableList)FeatureContext.Current["OELog_TableList"];
                List <Table> tableList = tables.GetTableList();
                if (tableList.Count == 0)
                {
                    return;
                }
                Word.Application Wapp1      = new Word.Application();
                Word.Document    ResultDoc1 = Wapp1.Documents.Open(FeatureContext.Current["ReportsFolderPath"].ToString() + FeatureContext.Current["OELog"].ToString() + ".docx");
                object           objBreak   = Word.WdBreakType.wdPageBreak;
                object           objUnit    = Word.WdUnits.wdStory;
                object           Missing    = System.Reflection.Missing.Value;
                Wapp1.Selection.EndKey(ref objUnit, ref Missing);
                Wapp1.Selection.InsertBreak(ref objBreak);
                Word.Paragraph objP = ResultDoc1.Paragraphs.Add();
                objP.Range.Bold = 1;
                objP.Range.Text = "Appendix\n\n";
                objP.Range.Bold = 0;
                objP.Range.Text = "Table 1 \n";
                object     EndOfDoc = "\\endofdoc";
                Word.Table objTable;
                Word.Range objRange;
                int        TableNo = 1;
                foreach (Table tblData in tableList)
                {
                    TableNo++;
                    int intTCols = tblData.Header.Count;
                    int intTRows = tblData.RowCount;
                    objRange = ResultDoc1.Bookmarks.get_Item(EndOfDoc).Range;
                    objTable = ResultDoc1.Tables.Add(objRange, intTRows + 1, intTCols, ref Missing, ref Missing);
                    objTable.Borders.Enable = 1;
                    String[] ColData = tblData.Header.ToArray <String>();
                    for (int Col = 0; Col < ColData.Length; Col++)
                    {
                        objTable.Cell(1, Col + 1).Range.Text = ColData[Col];
                    }
                    int       CurrRow  = 2;
                    TableRows DataRows = tblData.Rows;
                    foreach (var DataRow in DataRows)
                    {
                        String[] RowData = DataRow.Values.ToArray <String>();
                        for (int RowCol = 0; RowCol < ColData.Length; RowCol++)
                        {
                            objTable.Cell(CurrRow, RowCol + 1).Range.Text = RowData[RowCol];
                        }
                        CurrRow++;
                    }
                    objTable.Rows[1].Range.Bold = 1;
                    if (TableNo <= tableList.Count)
                    {
                        objRange = null;
                        objRange = ResultDoc1.Bookmarks.get_Item(EndOfDoc).Range;
                        Word.Paragraph objPara2 = ResultDoc1.Content.Paragraphs.Add(objRange);
                        objPara2.Range.InsertParagraphBefore();
                        objPara2.Range.Text = "Table " + TableNo;
                        objTable            = null;
                    }
                }

                ResultDoc1.Save();
                ResultDoc1.Close();
                Wapp1.Quit();
            }
            catch (Exception e)
            {
            }
        }