Exemple #1
0
        /// <summary>
        /// Create a new instance of a read only vision file repository
        /// </summary>
        /// <param name="visionFileSystem">Vision file system</param>
        /// <param name="fileName">Vision file name</param>
        /// <param name="paginationTokenManager">Pagination token manager</param>
        /// <param name="cache">Memory cache</param>
        /// <param name="logger">Logger</param>
        public VisionReadOnlyRepository(string fileName,
                                        IVisionFileSystem visionFileSystem,
                                        IPaginationTokenManager paginationTokenManager,
                                        IMemoryCache cache,
                                        ILogger logger)
        {
            if (visionFileSystem == null)
            {
                throw new ArgumentNullException(nameof(visionFileSystem));
            }
            if (string.IsNullOrEmpty(fileName))
            {
                throw new ArgumentNullException(nameof(fileName));
            }
            if (paginationTokenManager == null)
            {
                throw new ArgumentNullException(nameof(paginationTokenManager));
            }
            if (cache == null)
            {
                throw new ArgumentNullException(nameof(cache));
            }

            VisionFileSystem       = visionFileSystem;
            FileName               = fileName;
            PaginationTokenManager = paginationTokenManager;
            Cache  = cache;
            Logger = logger ?? NullLogger.Instance;
        }