2023-12-22 15:46:47 -07:00

43 lines
2.7 KiB
C#

namespace View_by_Distance.Shared.Models.Stateless.Methods;
public interface IId
{
string TestStatic_GetIntelligentId(IntelligentIdRecord intelligentId) =>
GetIntelligentId(intelligentId);
static string GetIntelligentId(IntelligentIdRecord intelligentId) =>
$"{intelligentId.Reverse}{intelligentId.GroupChar2}{intelligentId.GroupChar1}{intelligentId.Key}";
string TestStatic_GetPaddedId(MetadataConfiguration metadataConfiguration, int index, int id) =>
GetPaddedId(metadataConfiguration, index, id);
static string GetPaddedId(MetadataConfiguration metadataConfiguration, int index, int id) =>
Id.GetPaddedId(metadataConfiguration, index, id);
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, short sortOrderOnlyLengthIndex, string fileNameFirstSegment) =>
NameWithoutExtensionIsPaddedIntelligentIdFormat(metadataConfiguration, sortOrderOnlyLengthIndex, fileNameFirstSegment);
static bool NameWithoutExtensionIsPaddedIntelligentIdFormat(MetadataConfiguration metadataConfiguration, short sortOrderOnlyLengthIndex, string fileNameFirstSegment) =>
fileNameFirstSegment.Length == metadataConfiguration.IntMinValueLength + sortOrderOnlyLengthIndex + 1
&& fileNameFirstSegment[^1] is '1' or '2' or '8' or '9'
&& fileNameFirstSegment.All(char.IsNumber);
short TestStatic_GetSortOrderOnlyLengthIndex(MetadataConfiguration metadataConfiguration) =>
GetSortOrderOnlyLengthIndex(metadataConfiguration);
static short GetSortOrderOnlyLengthIndex(MetadataConfiguration metadataConfiguration) =>
(short)metadataConfiguration.Offset.ToString().Length;
FilePath TestStatic_GetFilePath(MetadataConfiguration metadataConfiguration, string file) =>
GetFilePath(metadataConfiguration, file);
static FilePath GetFilePath(MetadataConfiguration metadataConfiguration, string file) =>
Id.GetFilePath(metadataConfiguration, file);
int TestStatic_GetDeterministicHashCode(byte[] value) =>
GetDeterministicHashCode(value);
static int GetDeterministicHashCode(byte[] value) =>
Id.GetDeterministicHashCode(value);
}