public FilterResult Filter( IFileResource sourceResource, IEnumerable <IFileResource> targetResources, ITargetHistoryRepository targetHistoryRepository, IFileSystem source, IFileSystem target) { return(HaveMatchingTargetResource() || HaveMatchingHistoryItem() ? FilterResult.Ambivalent : FilterResult.Include); bool HaveMatchingTargetResource() { var existing = targetResources.FirstOrDefault( r => r.RelativePath == sourceResource.RelativePath ); return(existing?.Size == sourceResource.Size); } bool HaveMatchingHistoryItem() { var historyItem = targetHistoryRepository.Find( sourceResource.RelativePath ); return(historyItem?.Size == sourceResource.Size); } }
private static bool ResourceExistsInHistory( ITargetHistoryRepository targetHistoryRepository, IFileResource sourceResource) { return(targetHistoryRepository.Find( sourceResource.RelativePath ) ?.Size == sourceResource.Size); }
private bool HistoryFileExists( ITargetHistoryRepository targetHistoryRepository, IFileResource sourceResource) { var existing = targetHistoryRepository.Find( sourceResource.RelativePath ); return(existing?.Size == sourceResource.Size); }