public void Save(PageCrawlResult pageCrawlResult) { using (var session = documentStore.OpenSession()) { var existing = session.Advanced.LuceneQuery <Page, PagesToCrawlByUrl>().Where(string.Format("Hash:\"{0}\"", pageCrawlResult.CrawlUrl.Hash)).FirstOrDefault() ?? new Page(); existing.WebsiteUrl = pageCrawlResult.CrawlUrl.WebsiteDefinition.Website.RootUrl; existing.Url = pageCrawlResult.CrawlUrl.Url; existing.Hash = pageCrawlResult.CrawlUrl.Hash; existing.Contents = pageCrawlResult.Contents; existing.StatusCode = pageCrawlResult.StatusCode; existing.CrawledAt = pageCrawlResult.CrawlEndedAt; session.Store(existing); session.SaveChanges(); } }
public bool Compare(PageCrawlResult result, PageCrawlResult otherResult) { return(result.Check == otherResult.Check && result.ExtraValues[BrokenLinkUrl] == otherResult.ExtraValues[BrokenLinkUrl]); }
public string FormatMessage(PageCrawlResult crawlResult) { return($"Broken url: {crawlResult.ExtraValues[BrokenLinkUrl]} ({crawlResult.ExtraValues[BrokenLinkStatusCode]})"); }