示例#1
0
        /**************************************************************************/

        public new void RenderListView(MacroscopeDocumentCollection DocCollection)
        {
            List <ListViewItem>    ListViewItems        = new List <ListViewItem>(1);
            MacroscopeDocumentList OrphanedDocumentList = DocCollection.GetOrphanedDocumentList();

            this.ClearData();

            if (OrphanedDocumentList != null)
            {
                foreach (MacroscopeDocument msDoc in OrphanedDocumentList.IterateDocuments())
                {
                    this.RenderListView(
                        ListViewItems: ListViewItems,
                        DocCollection: DocCollection,
                        msDoc: msDoc,
                        Url: msDoc.GetUrl()
                        );
                }
            }

            this.DisplayListView.Items.AddRange(ListViewItems.ToArray());
        }
        /**************************************************************************/

        private void BuildWorksheetPageOrphanedPages(
            MacroscopeJobMaster JobMaster,
            CsvWriter ws
            )
        {
            MacroscopeDocumentCollection DocCollection        = JobMaster.GetDocCollection();
            MacroscopeDocumentList       OrphanedDocumentList = DocCollection.GetOrphanedDocumentList();

            {
                ws.WriteField("URL");
                ws.WriteField("Status Code");
                ws.WriteField("Status");

                ws.NextRecord();
            }

            if (OrphanedDocumentList != null)
            {
                foreach (MacroscopeDocument msDoc in OrphanedDocumentList.IterateDocuments())
                {
                    string Url        = msDoc.GetUrl();
                    string StatusCode = ((int)msDoc.GetStatusCode()).ToString();
                    string Status     = msDoc.GetStatusCode().ToString();
                    string Checksum   = msDoc.GetChecksum();
                    int    Count      = DocCollection.GetStatsChecksumCount(Checksum: Checksum);

                    this.InsertAndFormatUrlCell(ws, msDoc);

                    this.InsertAndFormatContentCell(ws, StatusCode);

                    this.InsertAndFormatContentCell(ws, Status);

                    ws.NextRecord();
                }
            }
        }
        /**************************************************************************/

        private void BuildWorksheetPageOrphanedPages(
            MacroscopeJobMaster JobMaster,
            XLWorkbook wb,
            string WorksheetLabel
            )
        {
            var ws = wb.Worksheets.Add(WorksheetLabel);

            int iRow    = 1;
            int iCol    = 1;
            int iColMax = 1;

            MacroscopeDocumentCollection DocCollection        = JobMaster.GetDocCollection();
            MacroscopeAllowedHosts       AllowedHosts         = JobMaster.GetAllowedHosts();
            MacroscopeDocumentList       OrphanedDocumentList = DocCollection.GetOrphanedDocumentList();

            {
                ws.Cell(iRow, iCol).Value = "URL";
                iCol++;

                ws.Cell(iRow, iCol).Value = "Status Code";
                iCol++;

                ws.Cell(iRow, iCol).Value = "Status";
            }

            iColMax = iCol;

            iRow++;

            if (OrphanedDocumentList != null)
            {
                foreach (MacroscopeDocument msDoc in OrphanedDocumentList.IterateDocuments())
                {
                    string Url        = msDoc.GetUrl();
                    string StatusCode = ((int)msDoc.GetStatusCode()).ToString();
                    string Status     = msDoc.GetStatusCode().ToString();

                    iCol = 1;

                    this.InsertAndFormatUrlCell(ws, iRow, iCol, msDoc);

                    if (AllowedHosts.IsInternalUrl(Url: Url))
                    {
                        ws.Cell(iRow, iCol).Style.Font.SetFontColor(XLColor.Green);
                    }
                    else
                    {
                        ws.Cell(iRow, iCol).Style.Font.SetFontColor(XLColor.Gray);
                    }

                    iCol++;

                    this.InsertAndFormatContentCell(ws, iRow, iCol, StatusCode);

                    iCol++;

                    this.InsertAndFormatContentCell(ws, iRow, iCol, Status);

                    iRow++;
                }

                {
                    var rangeData  = ws.Range(1, 1, iRow - 1, iColMax);
                    var excelTable = rangeData.CreateTable();
                }
            }
        }