Exemplo n.º 1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="permissionWindow">May be null, then allows downloading of CacheProgress with no associated PermissionWindow</param>
 /// <param name="repository"></param>
 /// <param name="pipelineEngineExecutionStrategy">Multiple CacheProgresses will result in multiple PipelineEngines, this strategy determines how these should be run, e.g. Round-robin, Async</param>
 public PermissionWindowCacheDownloader(IPermissionWindow permissionWindow, ICatalogueRepository repository, IMultiPipelineEngineExecutionStrategy pipelineEngineExecutionStrategy)
 {
     _permissionWindow   = permissionWindow;
     _cacheProgressItems = _permissionWindow.CacheProgresses.ToList();
     _repository         = repository;
     _pipelineEngineExecutionStrategy = pipelineEngineExecutionStrategy;
 }
        /// <summary>
        /// Overload with specific cache items to download for this permission window
        /// </summary>
        /// <param name="permissionWindow"></param>
        /// <param name="cacheProgressItems"></param>
        /// <param name="pipelineEngineExecutionStrategy"></param>
        public PermissionWindowCacheDownloader(IPermissionWindow permissionWindow, List <ICacheProgress> cacheProgressItems, IMultiPipelineEngineExecutionStrategy pipelineEngineExecutionStrategy)
        {
            _permissionWindow = permissionWindow;

            CheckCacheProgressesUseCorrectPermissionWindow(cacheProgressItems);
            _cacheProgressItems = cacheProgressItems;

            _pipelineEngineExecutionStrategy = pipelineEngineExecutionStrategy;
        }