Пример #1
0
 public void ProcessPage(ISqlRepository sqlRepository, UrlDto urlDto, Report report)
 {
     foreach (var rule in _rules)
     {
         var warningOccurrences = rule.Analyze(sqlRepository, urlDto);
         report.WarningOccurrences.AddRange(warningOccurrences);
     }
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }