Example #1
0
        internal static void Main(string[] args)
        {
            //Console.OutputEncoding = Encoding.UTF8;
            CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.CreateSpecificCulture(Config.Configuration.Culture.Name);

            var fileSystemSorters = SortersInitializer.InitializeFileSystemSorters().ToList();

            Console.WriteLine(ResourceManagment.GetString("EnableDisableTrackingTip"));
            Console.CancelKeyPress += (o, e) => Environment.Exit(0);

            while (true)
            {
                var key = Console.ReadKey().Key;
                switch (key)
                {
                case ConsoleKey.D:
                    fileSystemSorters.ForEach(sorter => sorter.directoryWorker.EnableRaisingEvents = false);
                    Console.WriteLine();
                    Console.WriteLine(ResourceManagment.GetString("TrackingStopped"));
                    break;

                case ConsoleKey.E:
                    fileSystemSorters.ForEach(sorter => sorter.directoryWorker.EnableRaisingEvents = true);
                    Console.WriteLine();
                    Console.WriteLine(ResourceManagment.GetString("TrackingStarted"));
                    break;
                }
            }
        }
Example #2
0
        public static IEnumerable <SorterService.ClassLibrary.FileListener> InitializeFileSystemSorters()
        {
            var fileSystemProvider = new FileSystemWorker();

            foreach (ListenDirectoryElement directory in Config.Configuration.ListenDirectories)
            {
                var directoryWatcher = new DirectoryWorker(directory.Path)
                {
                    IncludeSubdirectories = true
                };

                var fileSystemSorter = new SorterService.ClassLibrary.FileListener(directoryWatcher,
                                                                                   Config.Configuration.DefaultDirectory.Path, fileSystemProvider)
                {
                    Rules = Config.Configuration.patternPathDictionary,
                    GenerateNewFileName = NameWorker.GenerateNewFileName
                };


                fileSystemSorter.directoryWorker.Created += OnCreated;
                fileSystemSorter.directoryWorker.Changed += OnChanged;
                fileSystemSorter.directoryWorker.Deleted += OnDeleted;

                fileSystemSorter.RuleFound += (s, e) =>
                                              Console.WriteLine(ResourceManagment.GetString("FileFoundMessage"), e.Rule, e.FileName, e.PathToMove);
                fileSystemSorter.RuleNotFound += (s, e) =>
                                                 Console.WriteLine(ResourceManagment.GetString("FileNotFoundMessage"), e.FileName, e.DefaultPath);

                yield return(fileSystemSorter);
            }
        }
Example #3
0
 private static void OnDeleted(object sender, FileSystemEventArgs e)
 {
     Console.WriteLine(ResourceManagment.GetString("EntityDeletedMsg"),
                       NameWorker.GetFileNameWithoutFolders(e.Name), NameWorker.GetPathWithoutFile(e.FullPath));
 }