SaveSortingWithoutPerson

This commit is contained in:
2022-12-30 00:39:22 -07:00
parent 06a1207285
commit ec5a9098b8
15 changed files with 141 additions and 70 deletions

View File

@ -54,7 +54,7 @@ public partial class Form : System.Windows.Forms.Form
configurationRoot = configurationBuilder.Build();
appSettings = Models.Binder.AppSettings.Get(configurationRoot);
if (string.IsNullOrEmpty(appSettings.WorkingDirectoryName))
throw new Exception("Working directory name must have parentDirectory value!");
throw new Exception("Working path name must have parentDirectory value!");
workingDirectory = IWorkingDirectory.GetWorkingDirectory(assembly.GetName().Name, appSettings.WorkingDirectoryName);
Environment.SetEnvironmentVariable(nameof(workingDirectory), workingDirectory);
_ = ConfigurationLoggerConfigurationExtensions.Configuration(loggerConfiguration.ReadFrom, configurationRoot);
@ -396,6 +396,32 @@ public partial class Form : System.Windows.Forms.Form
return results;
}
private static void Rename2000(string[] paths)
{
string name;
string check;
string? directoryName;
foreach (string path in paths)
{
name = Path.GetFileName(path);
if (name.Length < 1 || (!name.StartsWith("zzz =20") && !name.StartsWith("=20")))
continue;
directoryName = Path.GetDirectoryName(path);
if (directoryName is null)
continue;
if (!name.StartsWith("zzz =20"))
check = Path.Combine(directoryName, name[1..]);
else
check = Path.Combine(directoryName, $"zzz {name[5..]}");
if (Directory.Exists(check) || File.Exists(check))
continue;
if (!Directory.Exists(path))
File.Move(path, check);
else
Directory.Move(path, check);
}
}
private void RenameFilesInDirectories(List<string> directories)
{
string directoryName;
@ -452,13 +478,18 @@ public partial class Form : System.Windows.Forms.Form
_TextBox.Text = string.Empty;
else
{
List<string> directories = GetDirectoriesOrDoDragDrop(paths);
if (directories.Any())
if (paths.All(l => l.Contains("=20")))
Rename2000(paths);
else
{
RenameFilesInDirectories(directories);
string? parentDirectory = Path.GetDirectoryName(directories[0]);
if (parentDirectory is not null && parentDirectory != Path.GetPathRoot(directories[0]))
_ = IPath.DeleteEmptyDirectories(parentDirectory);
List<string> directories = GetDirectoriesOrDoDragDrop(paths);
if (directories.Any())
{
RenameFilesInDirectories(directories);
string? parentDirectory = Path.GetDirectoryName(directories[0]);
if (parentDirectory is not null && parentDirectory != Path.GetPathRoot(directories[0]))
_ = IPath.DeleteEmptyDirectories(parentDirectory);
}
}
}
}