Exemplo n.º 1
0
        private FileSystemMetadata ToMetadata(SmbFile info, bool?isDirectory = null)
        {
            var result = new FileSystemMetadata();

            result.Exists    = info.Exists();
            result.FullName  = GetReturnPath(info);
            result.Extension = Path.GetExtension(result.FullName);
            result.Name      = info.GetName();

            if (result.Exists)
            {
                result.IsDirectory = info.IsDirectory();
                result.IsHidden    = info.IsHidden();

                result.IsReadOnly = !info.CanWrite();

                if (info.IsFile())
                {
                    result.Length        = info.Length();
                    result.DirectoryName = info.GetParent();
                }

                result.CreationTimeUtc  = baseDate.AddMilliseconds(info.CreateTime());
                result.LastWriteTimeUtc = baseDate.AddMilliseconds(info.GetLastModified());
            }
            else
            {
                if (isDirectory.HasValue)
                {
                    result.IsDirectory = isDirectory.Value;
                }
            }

            return(result);
        }
Exemplo n.º 2
0
        private void SetHidden(SmbFile file, bool isHidden)
        {
            var isCurrentlyHidden = file.IsHidden();

            if (isCurrentlyHidden && !isHidden)
            {
                file.SetAttributes(file.GetAttributes() & ~SmbFile.AttrHidden);
            }
            else if (!isCurrentlyHidden && isHidden)
            {
                file.SetAttributes(file.GetAttributes() | SmbFile.AttrHidden);
            }
        }