Esempio n. 1
0
        public void CopyTo(DirectoryName path)
        {
            //refactor this out?
            if (!System.IO.Directory.Exists(path.GetPath()))
            {
                System.IO.Directory.CreateDirectory(path.GetPath());
            }

            // Copy all files.
            var files = GetFiles();

            foreach (var file in files)
            {
                var fileDestination = FileName.GetFileName(path, file.Name.GetName());
                file.CopyTo(fileDestination);
            }

            // Process subdirectories.
            var dirs = GetDirectories();

            foreach (var dir in dirs)
            {
                var destinationDir = DirectoryName.GetDirectoryName(path, dir.Name.GetName());
                dir.CopyTo(destinationDir);
            }
        }
Esempio n. 2
0
        Directory GetRootDirectory(PathName name)
        {
            string root = Path.GetPathRoot(name.GetAbsolutePath());

            var di = new DirectoryInfo(root);

            return(new DotNetDirectory(DirectoryName.GetDirectoryName(di.FullName)));
        }
Esempio n. 3
0
        public Directory GetDirectory(string path)
        {
            if (!Path.IsPathRooted(path))
            {
                path = Path.Combine(System.IO.Directory.GetCurrentDirectory(), path);
            }

            return(new DotNetDirectory(DirectoryName.GetDirectoryName(path)));
        }
Esempio n. 4
0
        public void WorkWithTempDir(Action <Directory> tempAction)
        {
            string tempDir = Path.Combine(Path.GetTempPath(), "magnum.fs");

            tempDir = Path.Combine(tempDir, Guid.NewGuid().ToString());
            var d = new DotNetDirectory(DirectoryName.GetDirectoryName(tempDir));

            if (!d.Exists())
            {
                CreateDirectory(d);
            }
            try
            {
                tempAction(d);
            }
            finally
            {
                Delete(d);
            }
        }
Esempio n. 5
0
 public IEnumerable <Directory> GetDirectories()
 {
     return(System.IO.Directory.GetDirectories(Name.GetPath())
            .Select(directory => (Directory) new DotNetDirectory(DirectoryName.GetDirectoryName(directory))));
 }
Esempio n. 6
0
        public Directory GetCurrentDirectory()
        {
            var directory = DirectoryName.GetDirectoryName(System.IO.Directory.GetCurrentDirectory());

            return(new DotNetDirectory(directory));
        }