public void Search(SearchFilter searchFilter, ICriminalDao criminalDao, IEmailService emailService) { var result = criminalDao.SearchCriminals(CriminalSearchFilter(searchFilter)); if (result != null) { var reports = new ReportingEngine().CreateReports(result); if (reports == null || reports.Count < 1) { return; } var reports10 = from index in Enumerable.Range(0, reports.Count) group reports[index] by index / 10; foreach (var report in reports10) { emailService.Send(searchFilter.Email, report.ToList()); } } }
public SearchService(ICriminalDao criminalDao, IEmailService emailService) { _criminalDao = criminalDao; _emailService = emailService; }