private void SetChunkDataDescriptorRetriever() { DaoRepository daoRepo = Repository as DaoRepository; if (daoRepo != null) { ChunkDataDescriptorRetriever = (fileHash, fromIndex, chunkDataBatchSize) => { return(daoRepo.Top <ChunkDataDescriptor>(chunkDataBatchSize, Filter.Where(nameof(ChunkDataDescriptor.FileHash)) == fileHash && Filter.Where(nameof(ChunkDataDescriptor.ChunkIndex)) > fromIndex)); }; } else { Logger.Warning("{0}::FileService.Repository is not a DaoRepository but is a ({1}), good luck with that!", nameof(SetChunkDataDescriptorRetriever), Repository.GetType().Name); ChunkDataDescriptorRetriever = (fileHash, fromIndex, chunkDataBatchSize) => { return(Repository.Query <ChunkDataDescriptor>( Filter.Where(nameof(ChunkDataDescriptor.FileHash)) == fileHash && Filter.Where(nameof(ChunkDataDescriptor.ChunkIndex)) > fromIndex) .Take(chunkDataBatchSize)); }; } }
public virtual IEnumerable <object> NextSet(ReplicationOperation operation) { Type type = TypeResolver.ResolveType(operation); yield return(DaoRepository.Top(operation.BatchSize, type, QueryFilter.Where("Cuid") > operation.FromCuid)); }