DistanceLimits

This commit is contained in:
2023-02-25 23:01:08 -07:00
parent db43eb5459
commit 0f025b5e2e
26 changed files with 426 additions and 392 deletions

View File

@ -94,7 +94,10 @@ internal abstract class Container
filePairs = IDirectory.GetFiles(filesCollection, fileNamesToFiles, extension, compareFileNamesToFiles);
renamed += IDirectory.MaybeMove(propertyConfiguration.RootDirectory, propertyConfiguration.ResultAllInOne, filePairs, aPropertySingletonDirectory, extension);
if (renamed == 0)
{
_ = IPath.DeleteEmptyDirectories(aPropertySingletonDirectory);
break;
}
}
if (filePairs is null || jsonFilesCollection is null || compareFileNamesToFiles is null)
throw new NullReferenceException(nameof(filePairs));

View File

@ -9,7 +9,7 @@ public interface IDirectory
int TestStatic_GetDirectory(char directory) =>
GetDirectory(directory);
static int GetDirectory(char directory) => directory == '-' ? 10 : int.Parse(directory.ToString());
static int GetDirectory(char directory) => directory == '-' ? 10 : int.TryParse(directory.ToString(), out int value) ? value : 11;
List<string[]> TestStatic_GetFilesCollection(string directory, string directorySearchFilter, string fileSearchFilter) =>
GetFilesCollection(directory, directorySearchFilter, fileSearchFilter);

View File

@ -3,19 +3,19 @@ namespace View_by_Distance.Shared.Models.Stateless.Methods;
public interface IMappingFromItem
{ // ...
MappingFromItem TestStatic_GetMappingFromItem(DateTime[] containerDateTimes, Models.Item item, Models.FileHolder? resizedFileHolder)
=> GetMappingFromItem(containerDateTimes, item, resizedFileHolder);
static MappingFromItem GetMappingFromItem(DateTime[] containerDateTimes, Models.Item item, Models.FileHolder? resizedFileHolder)
=> MappingFromItem.GetMappingFromItem(containerDateTimes, item, resizedFileHolder);
MappingFromItem TestStatic_GetMappingFromItem(DateTime[] containerDateTimes, Models.Item item, Models.FileHolder? resizedFileHolder, bool isIgnoreRelativePath)
=> GetMappingFromItem(containerDateTimes, item, resizedFileHolder, isIgnoreRelativePath);
static MappingFromItem GetMappingFromItem(DateTime[] containerDateTimes, Models.Item item, Models.FileHolder? resizedFileHolder, bool isIgnoreRelativePath)
=> MappingFromItem.GetMappingFromItem(containerDateTimes, item, resizedFileHolder, isIgnoreRelativePath);
MappingFromItem TestStatic_GetMappingFromItem(DateTime[] containerDateTimes, Models.Item item)
=> GetMappingFromItem(containerDateTimes, item);
static MappingFromItem GetMappingFromItem(DateTime[] containerDateTimes, Models.Item item)
=> GetMappingFromItem(containerDateTimes, item, item.ResizedFileHolder);
MappingFromItem TestStatic_GetMappingFromItem(DateTime[] containerDateTimes, Models.Item item, bool isIgnoreRelativePath)
=> GetMappingFromItem(containerDateTimes, item, isIgnoreRelativePath);
static MappingFromItem GetMappingFromItem(DateTime[] containerDateTimes, Models.Item item, bool isIgnoreRelativePath)
=> GetMappingFromItem(containerDateTimes, item, item.ResizedFileHolder, isIgnoreRelativePath);
MappingFromItem TestStatic_GetMappingFromItem(Models.Item item)
=> GetMappingFromItem(item);
static MappingFromItem GetMappingFromItem(Models.Item item)
=> GetMappingFromItem(containerDateTimes: Array.Empty<DateTime>(), item, item.ResizedFileHolder);
MappingFromItem TestStatic_GetMappingFromItem(Models.Item item, bool isIgnoreRelativePath)
=> GetMappingFromItem(item, isIgnoreRelativePath);
static MappingFromItem GetMappingFromItem(Models.Item item, bool isIgnoreRelativePath)
=> GetMappingFromItem(containerDateTimes: Array.Empty<DateTime>(), item, item.ResizedFileHolder, isIgnoreRelativePath);
}

View File

@ -68,19 +68,25 @@ internal abstract partial class XDirectory
internal static int LookForAbandoned(List<string[]> jsonFilesCollection, IReadOnlyDictionary<string, List<string>> fileNamesToFiles, string extension)
{
string fileName;
string fileNameWith;
List<string>? collection;
string fileNameUpperExtension;
int length = extension.Length;
List<(string, string)> rename = new();
foreach (string[] files in jsonFilesCollection)
{
foreach (string file in files)
{
fileName = Path.GetFileName(file);
if (fileName.Length < length || !fileName.EndsWith(extension))
fileNameWith = Path.GetFileName(file);
if (fileNameWith.Length < length || !fileNameWith.EndsWith(extension))
throw new Exception();
if (!fileNamesToFiles.TryGetValue(fileName[..^length], out collection))
rename.Add(new(file, string.Concat(file, ".del")));
fileName = fileNameWith[..^length];
if (!fileNamesToFiles.TryGetValue(fileName, out collection))
{
fileNameUpperExtension = string.Concat(Path.GetFileNameWithoutExtension(fileName), Path.GetExtension(fileName).ToUpper());
if (fileName == fileNameUpperExtension || !fileNamesToFiles.TryGetValue(fileNameUpperExtension, out collection))
rename.Add(new(file, string.Concat(file, ".del")));
}
}
}
foreach ((string from, string to) in rename)
@ -236,7 +242,6 @@ internal abstract partial class XDirectory
}
File.Move(from, checkDirectory);
}
_ = IPath.DeleteEmptyDirectories(jsonGroupDirectory);
return rename.Count;
}