public void ProcessPage(ISqlRepository sqlRepository, UrlDto urlDto, Report report) { foreach (var rule in _rules) { var warningOccurrences = rule.Analyze(sqlRepository, urlDto); report.WarningOccurrences.AddRange(warningOccurrences); } }
internal void Do(Report report) { int pages = 0; var rulesEngine = new RulesEngine.RulesEngine(); foreach (var urlDto in _sqlRepository.GetWebPages()) { rulesEngine.ProcessPage(_sqlRepository, urlDto, report); pages++; } _log.Info("Pages analyzed: " + pages); }
static void Analysis() { DateTime startTime = DateTime.Now; var report = new Report(); var analysis = new Analisys(_sqlRepository); analysis.Do(report); int warnings = 0; foreach (var ocurrence in report.WarningOccurrences) { UrlDto urlDto; _sqlRepository.FindUrl(ocurrence.UrlId, out urlDto); _log.InfoFormat("{0} -> {1}", urlDto.Url, ocurrence.Message); warnings++; } _log.InfoFormat("Total warnings: " + warnings); TimeSpan span = DateTime.Now - startTime; _log.Info("Analysis time: " + span); }