ArchiveTools.FrmMain.BtnFindCorruptFiles_Click C# (CSharp) Метод

BtnFindCorruptFiles_Click() приватный Метод

private BtnFindCorruptFiles_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
Результат void
        private void BtnFindCorruptFiles_Click(object sender, EventArgs e)
        {
            DataTable resultsTable = new DataTable();
            resultsTable.Columns.Add("File", typeof(string));
            resultsTable.Columns.Add("ID", typeof(string));
            StringBuilder sb = new StringBuilder();

            using (var dlg = new OpenFileDialog())
            {
                dlg.Multiselect = true;
                dlg.Filter = "Open Historian 2.0 File|*.d2";
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    foreach (var fileName in dlg.FileNames)
                    {
                        sb.Clear();
                        try
                        {
                            using (var file = SortedTreeFile.OpenFile(fileName, true))
                            {
                                sb.AppendFormat("ID: {0} ", file.Snapshot.Header.ArchiveId);
                                sb.AppendFormat("Commit Number: {0} ", file.Snapshot.Header.SnapshotSequenceNumber);
                                var table = file.OpenTable<HistorianKey, HistorianValue>();
                                if (table == null)
                                {
                                    sb.Append("ERROR - No Historian Table ");
                                }
                                else
                                {
                                    try
                                    {
                                        if ((long)table.FirstKey.Timestamp < DateTime.MinValue.Ticks || (long)table.FirstKey.Timestamp > DateTime.MaxValue.Ticks)
                                        {
                                            sb.Append("Start Time: Invalid ");
                                        }
                                        else
                                        {
                                            sb.AppendFormat("Start Time: {0} ", table.FirstKey.TimestampAsDate.ToString());
                                        }

                                        if ((long)table.LastKey.Timestamp < DateTime.MinValue.Ticks || (long)table.LastKey.Timestamp > DateTime.MaxValue.Ticks)
                                        {
                                            sb.Append("End Time: Invalid ");
                                        }
                                        else
                                        {
                                            sb.AppendFormat("End Time: {0} ", table.LastKey.TimestampAsDate.ToString());
                                        }
                                    }
                                    finally
                                    {
                                        table.Dispose();
                                    }
                                }

                            }

                        }
                        catch (Exception ex)
                        {
                            sb.AppendFormat("File Header Corrupt: {0} ", ex.ToString());
                            throw;
                        }

                        resultsTable.Rows.Add(fileName, sb.ToString());
                    }

                    var win = new FrmDisplayFileMetaData(resultsTable);
                    win.Show();
                }
            }
        }
    }