Ejemplo n.º 1
0
        private FileSysDto CreateLayerDetailDto()
        {
            var dto = new FileSysDto
            {
            };

            return(dto);
        }
Ejemplo n.º 2
0
        public IList <FileSysDto> GetLayerDetails(CancellationToken cancellationToken, string layerKey, string path)
        {
            var result = new List <FileSysDto>();

            var layerPath         = Path.Combine(_config.LayerPath, layerKey);
            var fullFolderPath    = Path.Combine(layerPath, path);
            var fileSystemEntries = Directory.GetFileSystemEntries(fullFolderPath);

            cancellationToken.ThrowIfCancellationRequested();

            //var layer = GetLayer(layerKey);
            //var pathParts = GetPathParts(path);
            //layer.EnFiles.Where()


            foreach (var fileSystemEntry in fileSystemEntries)
            {
                _logger.Information("{FileSystgemEntry}", fileSystemEntry);
                var fileInfo    = new FileInfo(fileSystemEntry);
                var fullPath    = fileInfo.FullName.Substring(layerPath.Length + 1);
                var isDirectory = (fileInfo.Attributes & FileAttributes.Directory) == FileAttributes.Directory;
                var modified    = isDirectory ? Directory.GetLastWriteTime(fileSystemEntry) : File.GetLastWriteTime(fileSystemEntry);
                var length      = isDirectory ? (long?)null : fileInfo.Length;
                var dto         = new FileSysDto
                {
                    FileSystemPath = Path.Combine(fullFolderPath, fileInfo.Name),
                    FullPath       = fullPath,
                    Name           = fileInfo.Name,
                    Extension      = fileInfo.Extension,
                    IsDirectory    = isDirectory,
                    Size           = length,
                    Modified       = modified
                };
                //var dirInfo = new DirectoryInfo(fileSystemEntry);

                result.Add(dto);
            }


            //var directoryInfo = new DirectoryInfo(layerPath);
            //var fullPath = new Uri(directoryInfo.Name);


            //CreateLayerDetailDto();
            return(result);
        }