Fixed AOT warnings
This commit is contained in:
parent
df729431d8
commit
096262b2eb
1186
.vscode/HelperMarkdown.cs
vendored
1186
.vscode/HelperMarkdown.cs
vendored
File diff suppressed because it is too large
Load Diff
@ -3,6 +3,7 @@ using Microsoft.Extensions.Logging;
|
|||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
namespace File_Folder_Helper.Helpers;
|
namespace File_Folder_Helper.Helpers;
|
||||||
@ -44,6 +45,18 @@ internal static partial class HelperGenealogicalDataCommunication
|
|||||||
long PersonKey,
|
long PersonKey,
|
||||||
string? LineTwo);
|
string? LineTwo);
|
||||||
|
|
||||||
|
[JsonSourceGenerationOptions(WriteIndented = true)]
|
||||||
|
[JsonSerializable(typeof(ReadOnlyCollection<ReadOnlyCollection<string>>))]
|
||||||
|
internal partial class CollectionSourceGenerationContext : JsonSerializerContext
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
[JsonSourceGenerationOptions(WriteIndented = true)]
|
||||||
|
[JsonSerializable(typeof(ReadOnlyDictionary<string, ReadOnlyCollection<ReadOnlyCollection<string>>>))]
|
||||||
|
internal partial class DictionarySourceGenerationContext : JsonSerializerContext
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
private static string? GetFaceBook(Person person) =>
|
private static string? GetFaceBook(Person person) =>
|
||||||
person.Birth?.Continue.Where(l => !l.Contains("profile.php?id=") && l.StartsWith("https://www.facebook.com/")).Select(l => l[25..].Split('/')[0]).FirstOrDefault();
|
person.Birth?.Continue.Where(l => !l.Contains("profile.php?id=") && l.StartsWith("https://www.facebook.com/")).Select(l => l[25..].Split('/')[0]).FirstOrDefault();
|
||||||
|
|
||||||
@ -58,24 +71,41 @@ internal static partial class HelperGenealogicalDataCommunication
|
|||||||
return new(results);
|
return new(results);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Dictionary<string, ReadOnlyCollection<ReadOnlyCollection<object?>>> Convert(Dictionary<string, List<ReadOnlyCollection<object?>>> keyValuePairs)
|
private static Dictionary<string, ReadOnlyCollection<ReadOnlyCollection<string>>> Convert(Dictionary<string, List<ReadOnlyCollection<string>>> keyValuePairs)
|
||||||
{
|
{
|
||||||
Dictionary<string, ReadOnlyCollection<ReadOnlyCollection<object?>>> results = new();
|
Dictionary<string, ReadOnlyCollection<ReadOnlyCollection<string>>> results = new();
|
||||||
foreach (KeyValuePair<string, List<ReadOnlyCollection<object?>>> keyValuePair in keyValuePairs)
|
foreach (KeyValuePair<string, List<ReadOnlyCollection<string>>> keyValuePair in keyValuePairs)
|
||||||
results.Add(keyValuePair.Key, new(keyValuePair.Value));
|
results.Add(keyValuePair.Key, new(keyValuePair.Value));
|
||||||
return new(results);
|
return new(results);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ReadOnlyCollection<object?> GetObjectCollection(Person? person)
|
private static ReadOnlyCollection<string> GetObjectCollection(Person? person)
|
||||||
{
|
{
|
||||||
List<object?> results;
|
List<string> results;
|
||||||
if (person is null)
|
if (person is null)
|
||||||
results = new() { "Id", "First-Name", "Last-Name", "Birth-Date", "Sex", "Address", "City", "State", "Zip", "Phone", "E-mail", "Facebook", "Facebook-Id", "Comment", "U-Id" };
|
results = new() { "Id", "First-Name", "Last-Name", "Birth-Date", "Sex", "Address", "City", "State", "Zip", "Phone", "E-mail", "Facebook", "Facebook-Id", "Comment", "U-Id" };
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string? facebook = GetFaceBook(person);
|
string? facebook = GetFaceBook(person);
|
||||||
string? facebookId = GetFaceBookId(person);
|
string? facebookId = GetFaceBookId(person);
|
||||||
results = new() { person.Id, person.Name?.Given, person.Name?.Sur, person.Birth?.Date.ToString(), person.Sex, null, null, "NM", null, null, null, facebook, facebookId, null, person.UId };
|
results = new()
|
||||||
|
{
|
||||||
|
person.Id.ToString(),
|
||||||
|
string.Concat(person.Name?.Given),
|
||||||
|
string.Concat(person.Name?.Sur),
|
||||||
|
string.Concat(person.Birth?.Date.ToString()),
|
||||||
|
string.Concat(person.Sex),
|
||||||
|
string.Empty,
|
||||||
|
string.Empty,
|
||||||
|
"NM",
|
||||||
|
string.Empty,
|
||||||
|
string.Empty,
|
||||||
|
string.Empty,
|
||||||
|
string.Concat(facebook),
|
||||||
|
string.Concat(facebookId),
|
||||||
|
string.Empty,
|
||||||
|
string.Concat(person.UId)
|
||||||
|
};
|
||||||
}
|
}
|
||||||
return new(results);
|
return new(results);
|
||||||
}
|
}
|
||||||
@ -103,11 +133,11 @@ internal static partial class HelperGenealogicalDataCommunication
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Dictionary<string, List<ReadOnlyCollection<object?>>> Convert(ReadOnlyCollection<string> distinctSortedKKeys)
|
private static Dictionary<string, List<ReadOnlyCollection<string>>> Convert(ReadOnlyCollection<string> distinctSortedKKeys)
|
||||||
{
|
{
|
||||||
Dictionary<string, List<ReadOnlyCollection<object?>>> results = new();
|
Dictionary<string, List<ReadOnlyCollection<string>>> results = new();
|
||||||
ReadOnlyCollection<object?> collection;
|
ReadOnlyCollection<string> collection;
|
||||||
List<ReadOnlyCollection<object?>>? objectCollection;
|
List<ReadOnlyCollection<string>>? objectCollection;
|
||||||
foreach (string key in distinctSortedKKeys)
|
foreach (string key in distinctSortedKKeys)
|
||||||
{
|
{
|
||||||
if (results.ContainsKey(key))
|
if (results.ContainsKey(key))
|
||||||
@ -769,14 +799,14 @@ internal static partial class HelperGenealogicalDataCommunication
|
|||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ReadOnlyDictionary<string, ReadOnlyCollection<ReadOnlyCollection<object?>>> GetKeyValuePairs(List<Family> familyCollection, char personTitleFilter)
|
private static ReadOnlyDictionary<string, ReadOnlyCollection<ReadOnlyCollection<string>>> GetKeyValuePairs(List<Family> familyCollection, char personTitleFilter)
|
||||||
{
|
{
|
||||||
Dictionary<string, ReadOnlyCollection<ReadOnlyCollection<object?>>> results;
|
Dictionary<string, ReadOnlyCollection<ReadOnlyCollection<string>>> results;
|
||||||
Dictionary<string, List<ReadOnlyCollection<object?>>> keyValuePairs;
|
Dictionary<string, List<ReadOnlyCollection<string>>> keyValuePairs;
|
||||||
string id;
|
string id;
|
||||||
string key;
|
string key;
|
||||||
ReadOnlyCollection<object?> collection;
|
ReadOnlyCollection<string> collection;
|
||||||
List<ReadOnlyCollection<object?>>? objectCollection;
|
List<ReadOnlyCollection<string>>? objectCollection;
|
||||||
ReadOnlyCollection<string> distinctSortedKeys = GetDistinctSortedKeys(familyCollection, personTitleFilter);
|
ReadOnlyCollection<string> distinctSortedKeys = GetDistinctSortedKeys(familyCollection, personTitleFilter);
|
||||||
keyValuePairs = Convert(distinctSortedKeys);
|
keyValuePairs = Convert(distinctSortedKeys);
|
||||||
foreach (Family family in familyCollection)
|
foreach (Family family in familyCollection)
|
||||||
@ -801,19 +831,18 @@ internal static partial class HelperGenealogicalDataCommunication
|
|||||||
string json;
|
string json;
|
||||||
if (people.Count != genealogicalDataCommunicationCollections.IndividualsToLines.Count)
|
if (people.Count != genealogicalDataCommunicationCollections.IndividualsToLines.Count)
|
||||||
throw new NotSupportedException();
|
throw new NotSupportedException();
|
||||||
JsonSerializerOptions jsonSerializerOptions = new() { WriteIndented = true };
|
ReadOnlyDictionary<string, ReadOnlyCollection<ReadOnlyCollection<string>>> keyValuePairs;
|
||||||
ReadOnlyDictionary<string, ReadOnlyCollection<ReadOnlyCollection<object?>>> keyValuePairs;
|
|
||||||
json = JsonSerializer.Serialize(new(people), PeopleSourceGenerationContext.Default.DictionaryInt64Person);
|
json = JsonSerializer.Serialize(new(people), PeopleSourceGenerationContext.Default.DictionaryInt64Person);
|
||||||
File.WriteAllText(Path.Combine(input.GenealogicalDataCommunicationDirectory, "people.json"), json);
|
File.WriteAllText(Path.Combine(input.GenealogicalDataCommunicationDirectory, "people.json"), json);
|
||||||
Dictionary<long, Person>? result = JsonSerializer.Deserialize(json, PeopleSourceGenerationContext.Default.DictionaryInt64Person);
|
Dictionary<long, Person>? result = JsonSerializer.Deserialize(json, PeopleSourceGenerationContext.Default.DictionaryInt64Person);
|
||||||
if (result is null)
|
if (result is null)
|
||||||
throw new NullReferenceException(nameof(result));
|
throw new NullReferenceException(nameof(result));
|
||||||
json = JsonSerializer.Serialize(genealogicalDataCommunicationCollections.FamilyGroupLines, jsonSerializerOptions);
|
json = JsonSerializer.Serialize(genealogicalDataCommunicationCollections.FamilyGroupLines, CollectionSourceGenerationContext.Default.ReadOnlyCollectionReadOnlyCollectionString);
|
||||||
File.WriteAllText(Path.Combine(input.GenealogicalDataCommunicationDirectory, "family.json"), json);
|
File.WriteAllText(Path.Combine(input.GenealogicalDataCommunicationDirectory, "family.json"), json);
|
||||||
foreach (char personTitleFilter in appSettings.PersonTitleFilters)
|
foreach (char personTitleFilter in appSettings.PersonTitleFilters)
|
||||||
{
|
{
|
||||||
keyValuePairs = GetKeyValuePairs(familyCollection, personTitleFilter);
|
keyValuePairs = GetKeyValuePairs(familyCollection, personTitleFilter);
|
||||||
json = JsonSerializer.Serialize(keyValuePairs, jsonSerializerOptions);
|
json = JsonSerializer.Serialize(keyValuePairs, DictionarySourceGenerationContext.Default.ReadOnlyDictionaryStringReadOnlyCollectionReadOnlyCollectionString);
|
||||||
File.WriteAllText(Path.Combine(input.GenealogicalDataCommunicationDirectory, $"{personTitleFilter}.json"), json);
|
File.WriteAllText(Path.Combine(input.GenealogicalDataCommunicationDirectory, $"{personTitleFilter}.json"), json);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user