示例#1
0
        public IDirectory(string DirectoryPath, int Flags, IFileSystemProvider Provider)
        {
            m_Commands = new Dictionary <int, ServiceProcessRequest>()
            {
                { 0, Read },
                { 1, GetEntryCount }
            };

            this.Provider      = Provider;
            this.DirectoryPath = DirectoryPath;

            DirectoryEntries = new List <DirectoryEntry>();

            if ((Flags & 1) != 0)
            {
                DirectoryEntries.AddRange(Provider.GetDirectories(DirectoryPath));
            }

            if ((Flags & 2) != 0)
            {
                DirectoryEntries.AddRange(Provider.GetFiles(DirectoryPath));
            }

            CurrentItemIndex = 0;
        }
示例#2
0
        public IDirectory(string directoryPath, int flags, IFileSystemProvider provider)
        {
            _commands = new Dictionary <int, ServiceProcessRequest>
            {
                { 0, Read },
                { 1, GetEntryCount }
            };

            _provider     = provider;
            DirectoryPath = directoryPath;

            _directoryEntries = new List <DirectoryEntry>();

            if ((flags & 1) != 0)
            {
                _directoryEntries.AddRange(provider.GetDirectories(directoryPath));
            }

            if ((flags & 2) != 0)
            {
                _directoryEntries.AddRange(provider.GetFiles(directoryPath));
            }

            _currentItemIndex = 0;
        }
示例#3
0
        private void ConfigureRoute(string baseDirectory)
        {
            //Get All files in directory
            var files = _fileSystemProvider.GetFiles(
                baseDirectory, _configManager.Configuration.FileTypes).ToList();

            foreach (var fileInfo in files)
            {
                var directory = fileInfo.Directory ?? new DirectoryInfo(baseDirectory);
                var route     = MapRouteModel(directory, fileInfo);
                Routes[route.Url] = route;
            }

            var subDirectories = _fileSystemProvider.GetDirectories(baseDirectory, "*", SearchOption.AllDirectories);

            //Recersively Call the ConfigureRoute(string path) method to populate all routes.
            foreach (var directoryInfo in subDirectories)
            {
                ConfigureRoute(directoryInfo.FullName);
            }
        }