//Do a complete copy from a folder to another private void CompleteCopy(int _nb, string _sourceDirectory, string _targetDirectory) { //Search directory info from source and target path var diSource = new DirectoryInfo(_sourceDirectory); var diTarget = new DirectoryInfo(_targetDirectory); //Calculate the number of file in the source directory and the total size of it int nbFiles = SourceDirectoryInfo.GetFilesNumberInSourceDirectory(diSource); long directorySize = SourceDirectoryInfo.GetSizeInSourceDirectory(diSource); CreateLogLine(nbFiles + " files to save found from " + _sourceDirectory + ",Total size of the directory: " + directorySize + " Bytes"); WorkList[_nb - 1].CreateSaveProgress(nbFiles, directorySize, nbFiles, 0, directorySize); WorkList[_nb - 1].IsActive = true; UpdateSaveFile(_nb); //initiate Copy from the source directory to the target directory CreateLogLine("Saving file from " + _sourceDirectory + " to " + _targetDirectory + " ..."); CompleteCopyAll(_nb, diSource, diTarget); //Closing the complete save protocol WorkList[_nb - 1].DeleteSaveProgress(); WorkList[_nb - 1].IsActive = false; UpdateSaveFile(_nb); CreateLogLine("Closing complete save work program ..."); }
//Do a différential copy from a folder to another private void DifferencialCopy(int _nb, string _sourceDirectory, string _targetDirectory) { //Search directory info from source and target path var diSource = new DirectoryInfo(_sourceDirectory); var diTarget = new DirectoryInfo(_targetDirectory); //Calculate the number of file in the source directory and the total size of it (of all ) int nbFiles = SourceDirectoryInfo.DifferencialGetFilesNumberInSourceDirectory(diSource, diTarget); long directorySize = SourceDirectoryInfo.DifferencialGetSizeInSourceDirectory(diSource, diTarget); //If there is at least one file to save then initiate the differencial saving protocol if (nbFiles != 0) { CreateLogLine(nbFiles + " files to save found from " + _sourceDirectory + ",Total size of the directory: " + directorySize + " Bytes"); WorkList[_nb - 1].CreateSaveProgress(nbFiles, directorySize, nbFiles, 0, directorySize); WorkList[_nb - 1].IsActive = true; UpdateSaveFile(_nb); //initiate Copy from the source directory to the target directory (only the file / directory that has been modified or are new) CreateLogLine("Saving file from " + _sourceDirectory + " to " + _targetDirectory + " ..."); DifferencialCopyAll(_nb, diSource, diTarget); WorkList[_nb - 1].DeleteSaveProgress(); WorkList[_nb - 1].IsActive = false; UpdateSaveFile(_nb); } //If there is no file to save then cancel the saving protocol else { CreateLogLine("There is no file to save in the target directory"); } CreateLogLine("Closing differencial save work program ..."); }