xmp and json sidecar support Alignment with Phares 8.0.118.14905 for Shared and Metadata A_Metadata Parameter constructors Removed force-property-last-write-time-to-creation-time House Cleaning
87 lines
5.5 KiB
C#
87 lines
5.5 KiB
C#
using View_by_Distance.Shared.Models.Properties;
|
|
|
|
namespace View_by_Distance.Shared.Models.Stateless.Methods;
|
|
|
|
public interface IId
|
|
{
|
|
|
|
const int DeterministicHashCode = 9876543;
|
|
|
|
public static int GetDeterministicHashCode(byte[] value) =>
|
|
Id.GetDeterministicHashCode(value);
|
|
|
|
public static byte GetHasIgnoreKeyword(FilePath filePath) =>
|
|
Id.GetHasIgnoreKeyword(filePath);
|
|
|
|
public static int GetId(IPropertyConfiguration propertyConfiguration, string intelligentId) =>
|
|
Id.GetId(propertyConfiguration, intelligentId);
|
|
|
|
public static bool IsOffsetDeterministicHashCode(IPropertyConfiguration propertyConfiguration) =>
|
|
propertyConfiguration.Offset == DeterministicHashCode;
|
|
|
|
public static string GetIntelligentId(IPropertyConfiguration propertyConfiguration, FilePath filePath) =>
|
|
Id.GetIntelligentId(propertyConfiguration, filePath);
|
|
|
|
public static byte GetHasDateTimeOriginal(IPropertyConfiguration propertyConfiguration, FilePath filePath) =>
|
|
Id.GetHasDateTimeOriginal(propertyConfiguration, filePath);
|
|
|
|
public static byte GetMissingDateTimeOriginal(IPropertyConfiguration propertyConfiguration, FilePath filePath) =>
|
|
Id.GetMissingDateTimeOriginal(propertyConfiguration, filePath);
|
|
|
|
public static bool NameWithoutExtensionIsIdFormat(IPropertyConfiguration propertyConfiguration, Models.FileHolder fileHolder) =>
|
|
Id.NameWithoutExtensionIsIdFormat(propertyConfiguration, fileHolder.NameWithoutExtension.Split('.')[0]);
|
|
|
|
public static bool NameWithoutExtensionIsIntelligentIdFormat(IPropertyConfiguration propertyConfiguration, string fileNameFirstSegment) =>
|
|
fileNameFirstSegment.Length - 1 == propertyConfiguration.IntMinValueLength && fileNameFirstSegment[^1] is '0' or '1' or '2' or '3' or '4' or '5' or '6' or '7' or '8' or '9' && fileNameFirstSegment.All(char.IsNumber);
|
|
|
|
public static string? GetPaddedId(IPropertyConfiguration propertyConfiguration, FilePath filePath, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal, int? index) =>
|
|
Id.GetPaddedId(propertyConfiguration, filePath, hasIgnoreKeyword, hasDateTimeOriginal, index);
|
|
|
|
public static bool NameWithoutExtensionIsPaddedIntelligentIdFormat(IPropertyConfiguration propertyConfiguration, int sortOrderOnlyLengthIndex, string fileNameFirstSegment) =>
|
|
fileNameFirstSegment.Length == propertyConfiguration.IntMinValueLength + sortOrderOnlyLengthIndex + 1
|
|
&& fileNameFirstSegment[^1] is '0' or '1' or '2' or '3' or '4' or '5' or '6' or '7' or '8' or '9'
|
|
&& fileNameFirstSegment.All(char.IsNumber);
|
|
|
|
public static string? GetPaddedId(IPropertyConfiguration propertyConfiguration, int id, string nameWithoutExtension, string extensionLowered, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal, int? index) =>
|
|
Id.GetPaddedId(propertyConfiguration, id, nameWithoutExtension, extensionLowered, hasIgnoreKeyword, hasDateTimeOriginal, index);
|
|
|
|
public static string GetPaddedId(IPropertyConfiguration propertyConfiguration, FilePath filePath, int? index) =>
|
|
Id.GetPaddedId(propertyConfiguration, filePath, index);
|
|
|
|
internal int TestStatic_GetDeterministicHashCode(byte[] value) =>
|
|
GetDeterministicHashCode(value);
|
|
|
|
internal byte TestStatic_GetHasIgnoreKeyword(FilePath filePath) =>
|
|
GetHasIgnoreKeyword(filePath);
|
|
|
|
internal int TestStatic_GetId(IPropertyConfiguration propertyConfiguration, string intelligentId) =>
|
|
GetId(propertyConfiguration, intelligentId);
|
|
|
|
internal string TestStatic_GetIntelligentId(IPropertyConfiguration propertyConfiguration, FilePath filePath) =>
|
|
GetIntelligentId(propertyConfiguration, filePath);
|
|
|
|
internal byte TestStatic_GetHasDateTimeOriginal(IPropertyConfiguration propertyConfiguration, FilePath filePath) =>
|
|
GetHasDateTimeOriginal(propertyConfiguration, filePath);
|
|
|
|
internal string TestStatic_GetPaddedId(IPropertyConfiguration propertyConfiguration, FilePath filePath, int? index) =>
|
|
GetPaddedId(propertyConfiguration, filePath, index);
|
|
|
|
internal byte TestStatic_GetMissingDateTimeOriginal(IPropertyConfiguration propertyConfiguration, FilePath filePath) =>
|
|
GetMissingDateTimeOriginal(propertyConfiguration, filePath);
|
|
|
|
internal bool TestStatic_NameWithoutExtensionIsIdFormat(IPropertyConfiguration propertyConfiguration, Models.FileHolder fileHolder) =>
|
|
NameWithoutExtensionIsIdFormat(propertyConfiguration, fileHolder);
|
|
|
|
internal bool TestStatic_NameWithoutExtensionIsIntelligentIdFormat(IPropertyConfiguration propertyConfiguration, string fileNameFirstSegment) =>
|
|
NameWithoutExtensionIsIntelligentIdFormat(propertyConfiguration, fileNameFirstSegment);
|
|
|
|
internal string? TestStatic_GetPaddedId(IPropertyConfiguration propertyConfiguration, FilePath filePath, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal, int? index) =>
|
|
GetPaddedId(propertyConfiguration, filePath, hasIgnoreKeyword, hasDateTimeOriginal, index);
|
|
|
|
internal bool TestStatic_NameWithoutExtensionIsPaddedIntelligentIdFormat(IPropertyConfiguration propertyConfiguration, int sortOrderOnlyLengthIndex, string fileNameFirstSegment) =>
|
|
NameWithoutExtensionIsPaddedIntelligentIdFormat(propertyConfiguration, sortOrderOnlyLengthIndex, fileNameFirstSegment);
|
|
|
|
internal string? TestStatic_GetPaddedId(IPropertyConfiguration propertyConfiguration, int id, string nameWithoutExtension, string extensionLowered, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal, int? index) =>
|
|
GetPaddedId(propertyConfiguration, id, nameWithoutExtension, extensionLowered, hasIgnoreKeyword, hasDateTimeOriginal, index);
|
|
|
|
} |