Example #1
0
        private IFileSystemItemModel CreateFileSystemTreeItemModel(IFileSystemItemModel parentFileSystemItem, FileSystemInfo pathInfo)
        {
            IFileSystemItemModel fileSystemTreeElement = parentFileSystemItem.CreateModel();

            fileSystemTreeElement.ParentFileSystemItem = parentFileSystemItem;
            fileSystemTreeElement.Info        = pathInfo;
            fileSystemTreeElement.DisplayName = pathInfo.Name;

            fileSystemTreeElement.IsDirectory = pathInfo is DirectoryInfo;

            fileSystemTreeElement.IsArchive = !fileSystemTreeElement.IsDirectory &&
                                              FileExtractor.FileIsArchive(fileSystemTreeElement.Info as FileInfo);

            fileSystemTreeElement.IsSystem = pathInfo.Attributes.HasFlag(FileAttributes.System);
            fileSystemTreeElement.IsHidden = pathInfo.Attributes.HasFlag(FileAttributes.Hidden);
            fileSystemTreeElement.IsDrive  = pathInfo is DirectoryInfo directoryInfo && directoryInfo.Root.FullName.Equals(
                directoryInfo.FullName,
                StringComparison.OrdinalIgnoreCase);
            return(fileSystemTreeElement);
        }