namespace View_by_Distance.Shared.Models.Stateless.Methods; public interface IId { const int DeterministicHashCode = 9876543; static bool IsOffsetDeterministicHashCode(MetadataConfiguration metadataConfiguration) => metadataConfiguration.Offset == DeterministicHashCode; string TestStatic_GetIntelligentId(MetadataConfiguration metadataConfiguration, long id, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal) => GetIntelligentId(metadataConfiguration, id, hasIgnoreKeyword, hasDateTimeOriginal); static string GetIntelligentId(MetadataConfiguration metadataConfiguration, long id, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal) => Id.GetIntelligentId(metadataConfiguration, id, hasIgnoreKeyword, hasDateTimeOriginal); int TestStatic_GetId(MetadataConfiguration metadataConfiguration, string intelligentId) => GetId(metadataConfiguration, intelligentId); static int GetId(MetadataConfiguration metadataConfiguration, string intelligentId) => Id.GetId(metadataConfiguration, intelligentId); string TestStatic_GetPaddedId(MetadataConfiguration metadataConfiguration, int id, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal, int? index) => GetPaddedId(metadataConfiguration, id, hasIgnoreKeyword, hasDateTimeOriginal, index); static string GetPaddedId(MetadataConfiguration metadataConfiguration, int id, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal, int? index) => Id.GetPaddedId(metadataConfiguration, id, hasIgnoreKeyword, hasDateTimeOriginal, index); string TestStatic_GetIgnoreFullPath(FilePath filePath, FileHolder fileHolder) => GetIgnoreFullPath(filePath, fileHolder); static string GetIgnoreFullPath(FilePath filePath, FileHolder fileHolder) => fileHolder.DirectoryFullPath is null ? throw new NotSupportedException() : filePath.Id > -1 ? fileHolder.NameWithoutExtension[^1] == '9' ? Path.Combine(fileHolder.DirectoryFullPath, $"{fileHolder.NameWithoutExtension[..^1]}8{fileHolder.ExtensionLowered}") : throw new NotSupportedException("High") : fileHolder.NameWithoutExtension[^1] == '1' ? Path.Combine(fileHolder.DirectoryFullPath, $"{fileHolder.NameWithoutExtension[..^1]}2{fileHolder.ExtensionLowered}") : throw new NotSupportedException("Low"); bool TestStatic_NameWithoutExtensionIsIntelligentIdFormat(MetadataConfiguration metadataConfiguration, string fileNameFirstSegment) => NameWithoutExtensionIsIntelligentIdFormat(metadataConfiguration, fileNameFirstSegment); static bool NameWithoutExtensionIsIntelligentIdFormat(MetadataConfiguration metadataConfiguration, string fileNameFirstSegment) => fileNameFirstSegment.Length - 1 == metadataConfiguration.IntMinValueLength && fileNameFirstSegment[^1] is '1' or '2' or '8' or '9' && fileNameFirstSegment.All(char.IsNumber); bool TestStatic_NameWithoutExtensionIsPaddedIntelligentIdFormat(MetadataConfiguration metadataConfiguration, int sortOrderOnlyLengthIndex, string fileNameFirstSegment) => NameWithoutExtensionIsPaddedIntelligentIdFormat(metadataConfiguration, sortOrderOnlyLengthIndex, fileNameFirstSegment); static bool NameWithoutExtensionIsPaddedIntelligentIdFormat(MetadataConfiguration metadataConfiguration, int sortOrderOnlyLengthIndex, string fileNameFirstSegment) => fileNameFirstSegment.Length == metadataConfiguration.IntMinValueLength + sortOrderOnlyLengthIndex + 1 && fileNameFirstSegment[^1] is '1' or '2' or '8' or '9' && fileNameFirstSegment.All(char.IsNumber); bool TestStatic_NameWithoutExtensionIsIdFormat(MetadataConfiguration metadataConfiguration, FileHolder fileHolder) => NameWithoutExtensionIsIdFormat(metadataConfiguration, fileHolder); static bool NameWithoutExtensionIsIdFormat(MetadataConfiguration metadataConfiguration, FileHolder fileHolder) => Id.NameWithoutExtensionIsIdFormat(metadataConfiguration, fileHolder.NameWithoutExtension.Split('.')[0]); int TestStatic_GetDeterministicHashCode(byte[] value) => GetDeterministicHashCode(value); static int GetDeterministicHashCode(byte[] value) => Id.GetDeterministicHashCode(value); }