Removed Genealogical Data Communication files
This commit is contained in:
@ -264,7 +264,7 @@ internal abstract class MapLogic
|
||||
if (personKeyFormattedToNewestPersonKeyFormatted.Count > 0 && newestPersonKeyFormatted is null)
|
||||
{
|
||||
timeSpan = new TimeSpan(DateTime.Now.Ticks - ticksDirectory.DirectoryTicks);
|
||||
if (timeSpan.TotalDays > 3)
|
||||
if (timeSpan.TotalDays > 7)
|
||||
throw new Exception($"{configuration.MappingDefaultName} are only allowed within x days!");
|
||||
}
|
||||
yearDirectories = Directory.GetDirectories(personKeyDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
@ -681,6 +681,8 @@ internal abstract class MapLogic
|
||||
DirectoryInfo directoryInfo;
|
||||
long? lastDirectoryTicks = null;
|
||||
DateTime dateTime = DateTime.Now;
|
||||
for (int i = 1; i < 5; i++)
|
||||
_ = IPath.DeleteEmptyDirectories(eDistanceContentDirectory);
|
||||
string[] ticksDirectories = Directory.GetDirectories(eDistanceContentDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
foreach (string ticksDirectory in ticksDirectories)
|
||||
{
|
||||
@ -1251,7 +1253,39 @@ internal abstract class MapLogic
|
||||
return results;
|
||||
}
|
||||
|
||||
internal static List<(string, long)> GetJLinkDirectories(string[] jLinks, string personBirthdayFormat, char[] personCharacters, string a2PeopleSingletonDirectory, string a2PeopleContentDirectory)
|
||||
private static List<(string, long)> GetGenealogicalDataCommunicationDirectories(string genealogicalDataCommunicationFile, string[] jLinks, string personBirthdayFormat)
|
||||
{
|
||||
List<(string, long)> results = new();
|
||||
string directory;
|
||||
DateTime dateTime;
|
||||
string[] personKeyDirectories;
|
||||
string[] personDisplayDirectoryNames;
|
||||
string personKeyFormattedDirectoryName;
|
||||
string? genealogicalDataCommunicationDirectory = Path.GetDirectoryName(genealogicalDataCommunicationFile);
|
||||
foreach (string jLink in jLinks)
|
||||
{
|
||||
if (genealogicalDataCommunicationDirectory is null)
|
||||
continue;
|
||||
directory = Path.Combine(genealogicalDataCommunicationDirectory, jLink);
|
||||
if (!Directory.Exists(directory))
|
||||
continue;
|
||||
personDisplayDirectoryNames = Directory.GetDirectories(directory, "*", SearchOption.TopDirectoryOnly);
|
||||
foreach (string personDisplayDirectoryName in personDisplayDirectoryNames)
|
||||
{
|
||||
personKeyDirectories = Directory.GetDirectories(personDisplayDirectoryName, "*", SearchOption.TopDirectoryOnly);
|
||||
foreach (string personKeyFormattedDirectory in personKeyDirectories)
|
||||
{
|
||||
personKeyFormattedDirectoryName = Path.GetFileName(personKeyFormattedDirectory);
|
||||
if (personKeyFormattedDirectoryName.Length != personBirthdayFormat.Length || !DateTime.TryParseExact(personKeyFormattedDirectoryName, personBirthdayFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
|
||||
continue;
|
||||
results.Add((directory, dateTime.Ticks));
|
||||
}
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
internal static List<(string, long)> GetJLinkDirectories(string genealogicalDataCommunicationFile, string[] jLinks, string personBirthdayFormat, char[] personCharacters, string a2PeopleSingletonDirectory, string a2PeopleContentDirectory)
|
||||
{
|
||||
List<(string, long)> results;
|
||||
string[] files;
|
||||
@ -1260,38 +1294,42 @@ internal abstract class MapLogic
|
||||
string checkDirectory;
|
||||
WindowsShortcut windowsShortcut;
|
||||
List<string> resolvedDirectories = new();
|
||||
List<(string, string, string)> a2PeopleSingletonDirectories = new();
|
||||
foreach (string directory in Directory.GetDirectories(a2PeopleSingletonDirectory, "*", SearchOption.AllDirectories))
|
||||
a2PeopleSingletonDirectories.Add((directory, Path.GetFileName(directory), Path.GetFileName(directory).Split(personCharacters).First()));
|
||||
foreach (string directoryName in jLinks)
|
||||
results = GetGenealogicalDataCommunicationDirectories(genealogicalDataCommunicationFile, jLinks, personBirthdayFormat);
|
||||
if (results.Count == 0 || results.Count < jLinks.Length)
|
||||
{
|
||||
checkDirectory = Path.Combine(a2PeopleContentDirectory, directoryName);
|
||||
if (!Directory.Exists(checkDirectory))
|
||||
continue;
|
||||
files = Directory.GetFiles(checkDirectory, "*.lnk", SearchOption.TopDirectoryOnly);
|
||||
totalFiles += files.Length;
|
||||
foreach (string file in files)
|
||||
List<(string, string, string)> a2PeopleSingletonDirectories = new();
|
||||
foreach (string directory in Directory.GetDirectories(a2PeopleSingletonDirectory, "*", SearchOption.AllDirectories))
|
||||
a2PeopleSingletonDirectories.Add((directory, Path.GetFileName(directory), Path.GetFileName(directory).Split(personCharacters).First()));
|
||||
foreach (string directoryName in jLinks)
|
||||
{
|
||||
windowsShortcut = WindowsShortcut.Load(file);
|
||||
if (windowsShortcut.Path is null)
|
||||
checkDirectory = Path.Combine(a2PeopleContentDirectory, directoryName);
|
||||
if (!Directory.Exists(checkDirectory))
|
||||
continue;
|
||||
if (Directory.Exists(windowsShortcut.Path))
|
||||
resolvedDirectories.Add(windowsShortcut.Path);
|
||||
else
|
||||
files = Directory.GetFiles(checkDirectory, "*.lnk", SearchOption.TopDirectoryOnly);
|
||||
totalFiles += files.Length;
|
||||
foreach (string file in files)
|
||||
{
|
||||
foundPath = TryToFind(personCharacters, a2PeopleSingletonDirectory, a2PeopleSingletonDirectories, file, windowsShortcut.Path);
|
||||
if (string.IsNullOrEmpty(foundPath))
|
||||
windowsShortcut = WindowsShortcut.Load(file);
|
||||
if (windowsShortcut.Path is null)
|
||||
continue;
|
||||
resolvedDirectories.Add(foundPath);
|
||||
if (Directory.Exists(windowsShortcut.Path))
|
||||
resolvedDirectories.Add(windowsShortcut.Path);
|
||||
else
|
||||
{
|
||||
foundPath = TryToFind(personCharacters, a2PeopleSingletonDirectory, a2PeopleSingletonDirectories, file, windowsShortcut.Path);
|
||||
if (string.IsNullOrEmpty(foundPath))
|
||||
continue;
|
||||
resolvedDirectories.Add(foundPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (totalFiles == resolvedDirectories.Count)
|
||||
results = GetJLinkResolvedDirectories(personBirthdayFormat, resolvedDirectories);
|
||||
else
|
||||
{
|
||||
resolvedDirectories.Clear();
|
||||
results = new();
|
||||
if (totalFiles == resolvedDirectories.Count)
|
||||
results = GetJLinkResolvedDirectories(personBirthdayFormat, resolvedDirectories);
|
||||
else
|
||||
{
|
||||
resolvedDirectories.Clear();
|
||||
results = new();
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
@ -28,9 +28,9 @@ public interface IMapLogic
|
||||
static Dictionary<int, Dictionary<int, Shared.Models.Mapping>> GetIdToWholePercentagesToFace(Shared.Models.Mapping[] mappingCollection) =>
|
||||
MapLogic.GetIdToWholePercentagesToFace(mappingCollection);
|
||||
|
||||
List<(string, long)> TestStatic_GetJLinkDirectories(string[] jLinks, string personBirthdayFormat, char[] personCharacters, string a2PeopleSingletonDirectory, string a2PeopleContentDirectory) =>
|
||||
GetJLinkDirectories(jLinks, personBirthdayFormat, personCharacters, a2PeopleSingletonDirectory, a2PeopleContentDirectory);
|
||||
static List<(string, long)> GetJLinkDirectories(string[] jLinks, string personBirthdayFormat, char[] personCharacters, string a2PeopleSingletonDirectory, string a2PeopleContentDirectory) =>
|
||||
MapLogic.GetJLinkDirectories(jLinks, personBirthdayFormat, personCharacters, a2PeopleSingletonDirectory, a2PeopleContentDirectory);
|
||||
List<(string, long)> TestStatic_GetJLinkDirectories(string genealogicalDataCommunicationFile, string[] jLinks, string personBirthdayFormat, char[] personCharacters, string a2PeopleSingletonDirectory, string a2PeopleContentDirectory) =>
|
||||
GetJLinkDirectories(genealogicalDataCommunicationFile, jLinks, personBirthdayFormat, personCharacters, a2PeopleSingletonDirectory, a2PeopleContentDirectory);
|
||||
static List<(string, long)> GetJLinkDirectories(string genealogicalDataCommunicationFile, string[] jLinks, string personBirthdayFormat, char[] personCharacters, string a2PeopleSingletonDirectory, string a2PeopleContentDirectory) =>
|
||||
MapLogic.GetJLinkDirectories(genealogicalDataCommunicationFile, jLinks, personBirthdayFormat, personCharacters, a2PeopleSingletonDirectory, a2PeopleContentDirectory);
|
||||
|
||||
}
|
Reference in New Issue
Block a user