Example #1
0
        public static void Copy(this System.IO.DirectoryInfo @this, string source, string destination)
        {
            DirectoryInfo dir = new DirectoryInfo(source);

            DirectoryInfo[] dirs = dir.GetDirectories();

            if (!dir.Exists)
            {
                throw (new DirectoryNotFoundException("Source directory does not exist or could not be found: " + source));
            }

            if (!Directory.Exists(destination))
            {
                Directory.CreateDirectory(destination);
            }

            FileInfo[] files = dir.GetFiles();

            foreach (FileInfo file in files)
            {
                string temppath = Path.Combine(destination, file.Name);
                file.CopyTo(temppath, false);
            }

            foreach (var subdir in dirs)
            {
                string temppath = Path.Combine(destination, subdir.Name);
                @this.Copy(subdir.FullName, temppath);
            }
        }
        //[SetUp]
        public void GlobalSetUp()
        {
            if (_EnvironmentInitialised == false)
            {

                DirectoryInfo difo = new DirectoryInfo(Path.GetFullPath(@"..\..\TestFolders\InFolder"));
                if (difo.Exists)
                {
                    difo.RemoveReadOnly();
                    difo.Empty(true);
                }

                difo = new DirectoryInfo(Path.GetFullPath(@"..\..\TestFolders\OutFolder"));
                if (difo.Exists)
                {
                    difo.RemoveReadOnly();
                    difo.Empty(true);
                }

                DirectoryInfo dif = new DirectoryInfo(Path.GetFullPath(@"..\..\TestFolders\InToBeCopied"));
                dif.Copy(Path.GetFullPath(@"..\..\TestFolders\InFolder"));

                difo = new DirectoryInfo(Path.GetFullPath(@"..\..\TestFolders\InFolder"));
                difo.RemoveReadOnly();

                _MFH = new MusicFolderHelper(Path.GetFullPath(@"..\..\TestFolders\OutFolder"));
                CleanDirectories(_MFH);

                _MFH = new MusicFolderHelper(Path.GetFullPath(@"..\..\TestFolders\OutFolder"));
                _EnvironmentInitialised = true;
            }
        }
Example #3
0
 public static bool SpawAndRun( BackupScheduleWrapper job )
 {
     SpawnLogger.Log( "Spawn request {0}".FillBlanks( job.Name ) );
     string procName = "Bummer.ScheduleRunner.{0}".FillBlanks( job.ID );
     Process[] processes = Process.GetProcessesByName( procName );
     if( processes.Length > 0 ) {
         SpawnLogger.Log( "Spawn request, already running {0}".FillBlanks( job.Name ) );
         return false;
     }
     DirectoryInfo dir = new DirectoryInfo( Configuration.DataDirectory.FullName + "\\" + job.ID );
     if( Directory.Exists( dir.FullName ) ) {
         try {
             Directory.Delete( dir.FullName, true );
         } catch( Exception ex ) {
             SpawnLogger.Log( "Spawn request, cleanup failed {0}: {1}".FillBlanks( job.Name, ex.Message ) );
             return false;
         }
     }
     Type t = typeof(ScheduleJobSpawner);
     FileInfo fi = new FileInfo( t.Assembly.Location );
     DirectoryInfo binDir = new DirectoryInfo( fi.DirectoryName );
     binDir.Copy( dir.FullName, true );
     string exeName = "{0}\\{1}.exe".FillBlanks( dir.FullName, procName );
     fi.CopyTo( exeName, true );
     FileInfo[] configs = binDir.GetFiles( "*.config" );
     foreach( FileInfo configFile in configs ) {
         if( configFile.Name.Contains( ".vshost." ) ) {
             continue;
         }
         configFile.CopyTo( exeName + ".config" );
         break;
     }
     SpawnLogger.Log( "Spawn request spawning {0}".FillBlanks( job.Name ) );
     Process p = new Process();
     p.StartInfo = new ProcessStartInfo( exeName );
     p.StartInfo.CreateNoWindow = true;
     p.StartInfo.UseShellExecute = false;
     p.EnableRaisingEvents = true;
     p.Exited += p_Exited;
     p.Start();
     return true;
 }
        public void MoveButton_ClickHandler(object sender, EventArgs e)
        {
            ActionPanel.SetActiveView(FolderContentView);

            var path = RootDir + moveTree.SelectedNode + "\\";
            foreach (string fileName in SelectedFiles)
            {
                File.Move(RootDir + RequestedPath + "\\" + fileName, path + fileName);
            }
            foreach (string directoryName in SelectedDirectories)
            {
                var directory = new DirectoryInfo(RootDir + RequestedPath + "\\" + directoryName);
                directory.Copy(RootDir + RequestedPath + "\\" + directoryName, path + directoryName);
                directory.Delete(true);

            }
            Cache.Remove(RootDir);

            ClearSelectedDirectories();
            ClearSelectedFiles();
        }
Example #5
0
 public static void CopyDirectory(DirectoryInfo src, DirectoryInfo target, bool overwrite = true, bool copySubdirs = true)
 {
     src.Copy(target, overwrite, copySubdirs);
 }
        protected void Reinitialize()
        {
            CleanDirectories(false);

            DirectoryInfo root = new DirectoryInfo(Root);
            root.RemoveReadOnly();
            root.Empty(true);

            DirectoryInfo In = new DirectoryInfo(DirectoryIn);
            In.RemoveReadOnly();
            In.Empty(true);

            string Pathentry = Path.Combine(Path.GetFullPath(@"..\..\TestFolders\InToBeCopied"), this.CopyName);

            DirectoryInfo dif = new DirectoryInfo(Pathentry);
            dif.Copy(DirectoryIn);

            In = new DirectoryInfo(DirectoryIn);
            In.RemoveReadOnly();

            _SK = GetKeys();

            CopyDBIfNeeded();


        }
        protected void Init()
        {

            _MFH = new MusicFolderHelper(DirectoryOut);
            //_SK = GetKeys();
            DirectoryIn = Path.Combine(RootDirectoryIn, InputDirectorySimpleName);
 
            object[] PIs = this.GetType().GetCustomAttributes(typeof(TestFolderAttribute), false);

            if ((PIs != null) && (PIs.Length > 0))
            {
                TestFolderAttribute tfa = PIs[0] as TestFolderAttribute;
                if (!Directory.Exists(DirectoryIn))
                {
                    Directory.CreateDirectory(DirectoryIn);
                }

                CopyName = tfa.InFolderName ?? InputDirectorySimpleName;
                CopyNameDB = tfa.DBFolderName ?? InputDirectorySimpleName;


                DirectoryInfo dif = new DirectoryInfo(Path.Combine(Path.GetFullPath(@"..\..\TestFolders\InToBeCopied"), CopyName));
                dif.Copy(DirectoryIn);


                dif = new DirectoryInfo(DirectoryIn);
                dif.RemoveReadOnly();


                //IsOverride = true;
            }
            else
            {
                CopyName = InputDirectorySimpleName;
                CopyNameDB = InputDirectorySimpleName;
            }

            CopyDBIfNeeded();

            _SK = GetKeys();
            
            OldAlbums = new List<IList<ExportAlbum>>();

            bool continu = true;
            int i = 0;

            while (continu)
            {
                string iPath = Path.Combine(DirectoryIn, string.Format("AlbumRef{0}.xml", i++));
                if (File.Exists(iPath))
                {
                    OldAlbums.Add(ExportAlbums.Import(iPath, false, String.Empty, null));
                }
                else
                    continu = false;
            }


            Albums = new List<IList<AlbumDescriptor>>();

            continu = true;
            i = 0;

            while (continu)
            {
                string iPath = Path.Combine(DirectoryIn, string.Format("Album{0}.xml", i++));
                if (File.Exists(iPath))
                {
                    Albums.Add(AlbumDescriptorExchanger.Import(iPath, false, String.Empty, null));
                }
                else
                    continu = false;
            }

            Albums.SelectMany(o => o).SelectMany(u => u.RawTrackDescriptors.Select(t => new Tuple<AlbumDescriptor, TrackDescriptor>(u, t))).Apply(o => Assert.That(o.Item1, Is.EqualTo(o.Item2.AlbumDescriptor)));

        }