97 lines
7.1 KiB
C#
97 lines
7.1 KiB
C#
namespace View_by_Distance.Shared.Models.Stateless.Methods;
|
|
|
|
public interface IDirectory
|
|
{
|
|
|
|
static int GetOffset() =>
|
|
1000000;
|
|
|
|
int TestStatic_GetSortOrderOnlyLengthIndex() =>
|
|
GetSortOrderOnlyLengthIndex();
|
|
static int GetSortOrderOnlyLengthIndex() =>
|
|
GetOffset().ToString().Length + 3;
|
|
|
|
char TestStatic_GetDirectory(string fileName) =>
|
|
GetDirectory(fileName);
|
|
static char GetDirectory(string fileName) =>
|
|
fileName.Split('-').Length > 2 ? '-' : fileName.Split('.')[0][^1];
|
|
|
|
int TestStatic_GetDirectory(char directory) =>
|
|
GetDirectory(directory);
|
|
static int GetDirectory(char directory) =>
|
|
directory == '-' ? 10 : int.TryParse(directory.ToString(), out int value) ? value : 11;
|
|
|
|
string TestStatic_GetPaddedId(int intMinValueLength, int index, int id) =>
|
|
GetPaddedId(intMinValueLength, index, id);
|
|
static string GetPaddedId(int intMinValueLength, int index, int id) =>
|
|
id > -1 ? $"{index}070{id.ToString().PadLeft(intMinValueLength, '0')}" : $"{index}030{id.ToString()[1..].PadLeft(intMinValueLength, '0')}";
|
|
|
|
bool TestStatic_NameWithoutExtensionIsPaddedIdFormat(string fileNameWithoutExtension, int sortOrderOnlyLengthIndex) =>
|
|
NameWithoutExtensionIsPaddedIdFormat(fileNameWithoutExtension, sortOrderOnlyLengthIndex);
|
|
static bool NameWithoutExtensionIsPaddedIdFormat(string fileNameWithoutExtension, int sortOrderOnlyLengthIndex) =>
|
|
fileNameWithoutExtension.Length > sortOrderOnlyLengthIndex
|
|
&& fileNameWithoutExtension[sortOrderOnlyLengthIndex] == '0'
|
|
&& fileNameWithoutExtension[sortOrderOnlyLengthIndex - 3] == '0'
|
|
&& fileNameWithoutExtension.All(l => char.IsNumber(l));
|
|
|
|
bool TestStatic_NameWithoutExtensionIsPaddedIdFormat(Models.FileHolder fileHolder, int sortOrderOnlyLengthIndex) =>
|
|
NameWithoutExtensionIsPaddedIdFormat(fileHolder, sortOrderOnlyLengthIndex);
|
|
static bool NameWithoutExtensionIsPaddedIdFormat(Models.FileHolder fileHolder, int sortOrderOnlyLengthIndex) =>
|
|
NameWithoutExtensionIsPaddedIdFormat(fileHolder.NameWithoutExtension, sortOrderOnlyLengthIndex);
|
|
|
|
List<string[]> TestStatic_GetFilesCollection(string directory, string directorySearchFilter, string fileSearchFilter, bool useCeilingAverage) =>
|
|
GetFilesCollection(directory, directorySearchFilter, fileSearchFilter, useCeilingAverage);
|
|
static List<string[]> GetFilesCollection(string directory, string directorySearchFilter, string fileSearchFilter, bool useCeilingAverage) =>
|
|
XDirectory.GetFilesCollection(directory, directorySearchFilter, fileSearchFilter, useCeilingAverage);
|
|
|
|
IReadOnlyDictionary<string, List<string>> TestStatic_GetFilesKeyValuePairs(List<string[]> filesCollection) =>
|
|
GetFilesKeyValuePairs(filesCollection);
|
|
static IReadOnlyDictionary<string, List<string>> GetFilesKeyValuePairs(List<string[]> filesCollection) =>
|
|
XDirectory.GetFilesKeyValuePairs(filesCollection);
|
|
|
|
int TestStatic_LookForAbandoned(List<string[]> jsonFilesCollection, IReadOnlyDictionary<string, List<string>> fileNamesToFiles, string extension) =>
|
|
LookForAbandoned(jsonFilesCollection, fileNamesToFiles, extension);
|
|
static int LookForAbandoned(List<string[]> jsonFilesCollection, IReadOnlyDictionary<string, List<string>> fileNamesToFiles, string extension) =>
|
|
XDirectory.LookForAbandoned(jsonFilesCollection, fileNamesToFiles, extension);
|
|
|
|
int TestStatic_MaybeMove(string directory, string resultAllInOne, int resultAllInOneSubdirectoryLength, List<FilePair> filePairs, string jsonGroupDirectory, string extension) =>
|
|
MaybeMove(directory, resultAllInOne, resultAllInOneSubdirectoryLength, filePairs, jsonGroupDirectory, extension);
|
|
static int MaybeMove(string directory, string resultAllInOne, int resultAllInOneSubdirectoryLength, List<FilePair> filePairs, string jsonGroupDirectory, string extension) =>
|
|
XDirectory.MaybeMove(directory, resultAllInOne, resultAllInOneSubdirectoryLength, filePairs, jsonGroupDirectory, extension);
|
|
|
|
List<FilePair> TestStatic_GetFiles(List<string[]> filesCollection, IReadOnlyDictionary<string, List<string>> fileNamesToFiles, string extension, IReadOnlyDictionary<string, List<string>> compareFileNamesToFiles) =>
|
|
GetFiles(filesCollection, fileNamesToFiles, extension, compareFileNamesToFiles);
|
|
static List<FilePair> GetFiles(List<string[]> filesCollection, IReadOnlyDictionary<string, List<string>> fileNamesToFiles, string extension, IReadOnlyDictionary<string, List<string>> compareFileNamesToFiles) =>
|
|
XDirectory.GetFiles(filesCollection, fileNamesToFiles, extension, compareFileNamesToFiles);
|
|
|
|
void TestStatic_MoveFiles(List<string> files, string find, string replace) =>
|
|
MoveFiles(files, find, replace);
|
|
static void MoveFiles(List<string> files, string find, string replace) =>
|
|
XDirectory.MoveFiles(files, find, replace);
|
|
|
|
(string[], List<(Models.FileHolder, string)>) TestStatic_GetToDoCollection(Properties.IPropertyConfiguration propertyConfiguration, List<string[]> filesCollection, string[] directories, Action? tick) =>
|
|
GetToDoCollection(propertyConfiguration, filesCollection, directories, tick);
|
|
static (string[], List<(Models.FileHolder, string)>) GetToDoCollection(Properties.IPropertyConfiguration propertyConfiguration, List<string[]> filesCollection, string[] directories, Action? tick) =>
|
|
XDirectory.GetToDoCollection(propertyConfiguration, copyDuplicates: false, ifCanUseId: true, filesCollection, directories, tick);
|
|
|
|
(string[], List<(Models.FileHolder, string)>) TestStatic_GetToDoCollection(Properties.IPropertyConfiguration propertyConfiguration, bool copyDuplicates, bool ifCanUseId, List<string[]> filesCollection, string[] directories, Action? tick) =>
|
|
GetToDoCollection(propertyConfiguration, copyDuplicates, ifCanUseId, filesCollection, directories, tick);
|
|
static (string[], List<(Models.FileHolder, string)>) GetToDoCollection(Properties.IPropertyConfiguration propertyConfiguration, bool copyDuplicates, bool ifCanUseId, List<string[]> filesCollection, string[] directories, Action? tick) =>
|
|
XDirectory.GetToDoCollection(propertyConfiguration, copyDuplicates, ifCanUseId, filesCollection, directories, tick);
|
|
|
|
List<string> TestStatic_CopyOrMove(List<(Models.FileHolder, string)> toDoCollection, bool move, bool moveBack, Action? tick) =>
|
|
CopyOrMove(toDoCollection, move, moveBack, tick);
|
|
static List<string> CopyOrMove(List<(Models.FileHolder, string)> toDoCollection, bool move, bool moveBack, Action? tick) =>
|
|
XDirectory.CopyOrMove(toDoCollection, move, moveBack, tick);
|
|
|
|
(bool, int?) TestStatic_GetId(int sortOrderOnlyLengthIndex, Models.FileHolder fileHolder) =>
|
|
GetId(sortOrderOnlyLengthIndex, fileHolder);
|
|
static (bool, int?) GetId(int sortOrderOnlyLengthIndex, Models.FileHolder fileHolder) =>
|
|
XDirectory.GetId(sortOrderOnlyLengthIndex, fileHolder);
|
|
|
|
(bool, int?) TestStatic_GetId(Models.FileHolder fileHolder) =>
|
|
GetId(fileHolder);
|
|
static (bool, int?) GetId(Models.FileHolder fileHolder) =>
|
|
XDirectory.GetId(GetSortOrderOnlyLengthIndex(), fileHolder);
|
|
|
|
} |