private static void CreateEmptyFolders(string targetFolderPath, string seasonNumber, int numberOfEpisodes, List <int> listOfEpisodes, string name, TargetAlgoritam targetAlgoritam) { if (targetAlgoritam == TargetAlgoritam.List) { for (int i = 1; i <= numberOfEpisodes; i++) { var folderName = $"{name} Sezona {seasonNumber} Epizoda {i.ToString("00")}"; Console.WriteLine("Kreiram: " + folderName); if (!Directory.Exists(Path.Combine(targetFolderPath, folderName))) { Directory.CreateDirectory(Path.Combine(targetFolderPath, folderName)); } } } else if (targetAlgoritam == TargetAlgoritam.Specific) { foreach (var i in listOfEpisodes) { var folderName = $"{name} Sezona {seasonNumber} Epizoda {i.ToString("00")}"; Console.WriteLine("Kreiram: " + folderName); if (!Directory.Exists(Path.Combine(targetFolderPath, folderName))) { Directory.CreateDirectory(Path.Combine(targetFolderPath, folderName)); } } } }
private static void MoveSeriesInPropriateFolders(string targetFolderPath, string seasonNumber, int numberOfEpisodes, string name, TargetAlgoritam targetAlgoritam) { CreateEmptyFolders(targetFolderPath, seasonNumber, numberOfEpisodes, null, name, targetAlgoritam); var filePaths = Directory.GetFiles(targetFolderPath); foreach (var filePath in filePaths) { var movingImplementationType = MovingImplementationHelper.GetMovingImplementationType(filePath); var handler = MovingImplementationFactory.GetHanlder(movingImplementationType); var folderToBeMoved = handler.GetTargetFolderName(targetFolderPath, filePath); if (string.IsNullOrEmpty(folderToBeMoved)) { continue; } Console.WriteLine(filePath + " --> " + folderToBeMoved); //TODO: Move file in to folder var finalDestination = Path.Combine(folderToBeMoved, Path.GetFileName(filePath)); File.Move(filePath, finalDestination); } }