Exemple #1
0
 public void Copy(FileSystemEventWrapper e)
 {
     var origin = Path.Combine(_rootPath, e.Name);
       var target = Path.Combine(_targetPath, e.Name);
       var targetDirectory = Path.GetDirectoryName(target);
       if (targetDirectory == null) throw new NullReferenceException();
       if (!Directory.Exists(targetDirectory))
       {
     Directory.CreateDirectory(targetDirectory);
       }
       else
       {
     TryRemoveReadonly(target);
       }
       File.Copy(origin, target, true);
 }
 protected bool Equals(FileSystemEventWrapper other)
 {
     return string.Equals(Name, other.Name) && string.Equals(NewName, other.NewName) && ChangeType == other.ChangeType;
 }
Exemple #3
0
 public void Delete(FileSystemEventWrapper e)
 {
     Delete(e.Name);
 }
Exemple #4
0
 private void TimerCallback(object state)
 {
     FileSystemEventWrapper e;
       var last = new FileSystemEventWrapper { ChangeType = WatcherChangeTypes.All, Name = "", NewName = "" };
       while (_queue.TryDequeue(out e))
       {
     try
     {
       if (e == last) continue;
       switch (e.ChangeType)
       {
     case WatcherChangeTypes.Created:
       ColorConsole.Write(ConsoleColor.DarkGreen, "Creating");
       Console.Write(" {0}..", e.Name);
       Copy(e);
       Console.WriteLine(" OK!");
       break;
     case WatcherChangeTypes.Deleted:
       ColorConsole.Write(ConsoleColor.DarkRed, "Deleting");
       Console.Write(" {0}..", e.Name);
       Delete(e);
       Console.WriteLine(" OK!");
       break;
     case WatcherChangeTypes.Changed:
       Console.Write("Copying {0}..", e.Name);
       Copy(e);
       Console.WriteLine(" OK!");
       break;
     case WatcherChangeTypes.Renamed:
       ColorConsole.Write(ConsoleColor.DarkYellow, "Moving");
       Console.Write(" {0} to {1}..", e.Name, e.NewName);
       Move(e);
       Console.WriteLine(" OK!");
       break;
       }
     }
     catch (Exception ex)
     {
       Console.WriteLine(" ERROR!");
       Console.WriteLine(ex.Message);
     }
     last = e;
       }
 }
Exemple #5
0
 private void HandleEvent(FileSystemEventWrapper e)
 {
     _timer.Change(_activityTimeout, Timeout.Infinite);
       _queue.Enqueue(e);
 }
Exemple #6
0
 public void Move(FileSystemEventWrapper e)
 {
     var oldName = Path.Combine(_targetPath, e.Name);
       var newName = Path.Combine(_targetPath, e.NewName);
       if (File.Exists(oldName))
       {
     if (File.Exists(newName))
       Delete(newName);
     File.Move(oldName, newName);
       }
       else
       {
     Copy(e);
       }
 }