private IEnumerable <Activity> FetchNextPageFromElastic(ElasticPagingData pagingData, IFixActionReaderLogger readerLogger) { var activities = FetchNextPageOfActivities(pagingData).Result; readerLogger?.IncrementElasticActivities(pagingData.CurrentPageSize); return(activities); }
public IEnumerable <ActivityDiscrepancy> Scan(ActivityDiscrepancyFinderParameters parameters) { var cosmosPagingData = new CosmosPagingData(_cosmosRepository, parameters.BatchSize, parameters.MaxInspections); var elasticPagingData = new ElasticPagingData(_elasticRepository, parameters.BatchSize, parameters.MaxInspections); return(Zipper .Zip( () => FetchNextPageFromCosmos(cosmosPagingData, parameters.ReaderLogger), () => FetchNextPageFromElastic(elasticPagingData, parameters.ReaderLogger)) .Where(z => z.IsMissing) .Select(z => new ActivityDiscrepancy(z.Item, z.IsMissingInA ? ActivityDiscrepancyType.NotFoundInCosmos : ActivityDiscrepancyType.NotFoundInElastic))); }