Exemplo n.º 1
0
 public DirectorySmb(SmbFile contentSmb) : base(contentSmb ?? throw new ArgumentNullException(nameof(contentSmb)))
 {
     if (!contentSmb.IsDirectory())
     {
         throw new ArgumentException("Argument is not Directory.");
     }
 }
Exemplo n.º 2
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.º 3
0
        public SMBDirectoryChangeToken(string folderPath)
        {
            var directory = new SmbFile(folderPath);

            if (!directory.IsDirectory())
            {
                throw new ArgumentException($"'{directory.GetName()}' не является каталогом.");
            }
            if (!directory.Exists())
            {
                throw new ArgumentException($"Каталог '{directory.GetName()}' не существует.");
            }

            _folderPath = folderPath;
        }