Work with video

This commit is contained in:
2024-01-27 18:11:24 -07:00
parent cfe43360fc
commit 4081a73b9d
20 changed files with 210 additions and 165 deletions

View File

@ -14,6 +14,9 @@ public record MappingFromFilterPre(bool? InSkipCollection,
return result;
}
internal static void Constructor() =>
_ = new MappingFromFilterPre(null, null, null);
}
[JsonSourceGenerationOptions(WriteIndented = true)]

View File

@ -194,11 +194,11 @@ internal abstract class Container
return (count, results);
}
internal static List<int> GetFilteredDistinctIds(Properties.IPropertyConfiguration propertyConfiguration, Models.Container[] containers)
internal static List<int> GetFilteredDistinctIds(Properties.IPropertyConfiguration propertyConfiguration, ReadOnlyCollection<Models.Container> readOnlyContainers)
{
List<int> results = [];
Models.Item[] filteredItems;
foreach (Models.Container container in containers)
foreach (Models.Container container in readOnlyContainers)
{
if (container.Items.Count == 0)
continue;

View File

@ -25,10 +25,10 @@ public interface IContainer
static (int, Models.Container[]) GetContainers(Properties.IPropertyConfiguration propertyConfiguration, string aPropertySingletonDirectory, string filesCollectionDirectory, ReadOnlyCollection<string[]> filesCollection) =>
Container.GetContainers(propertyConfiguration, aPropertySingletonDirectory, filesCollectionDirectory, filesCollection);
List<int> TestStatic_GetFilteredDistinctIds(Properties.IPropertyConfiguration propertyConfiguration, Models.Container[] containers) =>
GetFilteredDistinctIds(propertyConfiguration, containers);
static List<int> GetFilteredDistinctIds(Properties.IPropertyConfiguration propertyConfiguration, Models.Container[] containers) =>
Container.GetFilteredDistinctIds(propertyConfiguration, containers);
List<int> TestStatic_GetFilteredDistinctIds(Properties.IPropertyConfiguration propertyConfiguration, ReadOnlyCollection<Models.Container> readOnlyContainers) =>
GetFilteredDistinctIds(propertyConfiguration, readOnlyContainers);
static List<int> GetFilteredDistinctIds(Properties.IPropertyConfiguration propertyConfiguration, ReadOnlyCollection<Models.Container> readOnlyContainers) =>
Container.GetFilteredDistinctIds(propertyConfiguration, readOnlyContainers);
ReadOnlyCollection<Models.Item> TestStatic_GetItems(Properties.IPropertyConfiguration propertyConfiguration, ReadOnlyCollection<Models.Container> containers, bool distinctItems, bool filterItems) =>
GetItems(propertyConfiguration, containers, distinctItems, filterItems);

View File

@ -13,10 +13,10 @@ public interface IId
static int GetId(Properties.IPropertyConfiguration propertyConfiguration, string intelligentId) =>
Id.GetId(propertyConfiguration, intelligentId);
string TestStatic_GetPaddedId(Properties.IPropertyConfiguration propertyConfiguration, int index, int id) =>
GetPaddedId(propertyConfiguration, index, id);
static string GetPaddedId(Properties.IPropertyConfiguration propertyConfiguration, int index, int id) =>
Id.GetPaddedId(propertyConfiguration, index, id);
string TestStatic_GetPaddedId(Properties.IPropertyConfiguration propertyConfiguration, int id, int? index) =>
GetPaddedId(propertyConfiguration, id, index);
static string GetPaddedId(Properties.IPropertyConfiguration propertyConfiguration, int id, int? index) =>
Id.GetPaddedId(propertyConfiguration, id, index);
bool TestStatic_IsIgnore(FilePath filePath) =>
IsIgnore(filePath);

View File

@ -62,14 +62,19 @@ internal abstract class Id
return result;
}
internal static string GetPaddedId(Properties.IPropertyConfiguration propertyConfiguration, int index, int id)
internal static string GetPaddedId(Properties.IPropertyConfiguration propertyConfiguration, int id, int? index)
{
string result;
string intelligentId = GetIntelligentId(propertyConfiguration, id, ignore: false);
int check = GetId(propertyConfiguration, intelligentId);
if (check != id)
throw new NotSupportedException();
result = $"{propertyConfiguration.Offset + index}{intelligentId}";
if (propertyConfiguration.Offset < 0)
result = Guid.NewGuid().ToString();
else
{
string intelligentId = GetIntelligentId(propertyConfiguration, id, ignore: false);
int check = GetId(propertyConfiguration, intelligentId);
if (check != id)
throw new NotSupportedException();
result = index is null || propertyConfiguration.Offset == 9876543 ? intelligentId : $"{propertyConfiguration.Offset + index}{intelligentId}";
}
return result;
}

View File

@ -324,7 +324,7 @@ internal abstract partial class XDirectory
}
if (ifCanUseId && filePath.IsIntelligentIdFormat && filePath.Id is not null && filePath.DirectoryName is not null)
{
paddedId = IId.GetPaddedId(propertyConfiguration, i, filePath.Id.Value);
paddedId = IId.GetPaddedId(propertyConfiguration, filePath.Id.Value, i);
paddedIdFile = Path.Combine(filePath.DirectoryName, $"{paddedId}{filePath.ExtensionLowered}");
if (!File.Exists(paddedIdFile))
{