public SyncData MakeSyncData(FolderSet folderSet)
        {
            foreach (var folderPair in folderSet.FolderList)
            {
                _addDictionary    = FindNewFiles(folderPair, _addDictionary);
                _updateDictionary = FindUpdateFiles(folderPair, _updateDictionary);
                _deleteDictionary = FindDeleteFiles(folderPair, _deleteDictionary);
            }

            var syncData = new SyncData(_addDictionary, _updateDictionary, new Dictionary <string, string>());

            return(syncData);
        }
        public void Synchronize(SyncData syncData, List <string> folderPaths, ILog log)
        {
            foreach (var path in folderPaths)
            {
                _syncProcManager.Copy(syncData.FilesToCopy, path, log);
            }

            foreach (var path in folderPaths)
            {
                _syncProcManager.Update(syncData.FilesToCopy, path, log);
            }

            foreach (var path in folderPaths)
            {
                _syncProcManager.Delete(syncData.FilesToDelete, path, log);
            }
        }