예제 #1
0
        public static void InitializeFiles(SyncExecution syncExec)
        {
            Console.WriteLine("\n");
            Console.WriteLine("Fetching source and destination files...");

            var folderMappings   = syncExec.SyncConfig.FolderMappings;
            var watchInitFiles   = new Stopwatch();
            var watchSourceFiles = new Stopwatch();
            var watchDestFiles   = new Stopwatch();

            var sourceFilesTemp = new List <string>();
            var destFilesTemp   = new List <string>();

            watchInitFiles.Start();


            foreach (var pair in folderMappings)
            {
                WorkingWithFiles.GetFiles(pair.Value.Item1, sourceFilesTemp);
                WorkingWithFiles.GetFiles(pair.Value.Item2, destFilesTemp);
            }

            _totalSourceFilesCount = sourceFilesTemp.Count;
            _totalDestFilesCount   = destFilesTemp.Count;

            Console.WriteLine("Source files:      " + _totalSourceFilesCount);
            Console.WriteLine("Destination Files: " + _totalDestFilesCount);

            Console.WriteLine("Populating source files list...");

            foreach (var pair in folderMappings)
            {
                PopulateSourceFiles(syncExec, pair.Value.Item1, sourceFilesTemp);
            }

            Console.WriteLine("\rDone.                                                                      ");
            Console.WriteLine("Populating destination files list...");
            foreach (var pair in folderMappings)
            {
                PopulateDestFiles(syncExec, pair.Value.Item2, destFilesTemp);
            }



            Console.WriteLine("\rDone.                                                                      ");
            Console.WriteLine($"Elapsed time: {FormatTime(watchInitFiles.ElapsedMilliseconds)}");
        }