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.Globalization;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace File_Folder_Helper.Helpers;
|
||||
@ -44,6 +45,18 @@ internal static partial class HelperGenealogicalDataCommunication
|
||||
long PersonKey,
|
||||
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) =>
|
||||
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);
|
||||
}
|
||||
|
||||
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();
|
||||
foreach (KeyValuePair<string, List<ReadOnlyCollection<object?>>> keyValuePair in keyValuePairs)
|
||||
Dictionary<string, ReadOnlyCollection<ReadOnlyCollection<string>>> results = new();
|
||||
foreach (KeyValuePair<string, List<ReadOnlyCollection<string>>> keyValuePair in keyValuePairs)
|
||||
results.Add(keyValuePair.Key, new(keyValuePair.Value));
|
||||
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)
|
||||
results = new() { "Id", "First-Name", "Last-Name", "Birth-Date", "Sex", "Address", "City", "State", "Zip", "Phone", "E-mail", "Facebook", "Facebook-Id", "Comment", "U-Id" };
|
||||
else
|
||||
{
|
||||
string? facebook = GetFaceBook(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);
|
||||
}
|
||||
@ -103,11 +133,11 @@ internal static partial class HelperGenealogicalDataCommunication
|
||||
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();
|
||||
ReadOnlyCollection<object?> collection;
|
||||
List<ReadOnlyCollection<object?>>? objectCollection;
|
||||
Dictionary<string, List<ReadOnlyCollection<string>>> results = new();
|
||||
ReadOnlyCollection<string> collection;
|
||||
List<ReadOnlyCollection<string>>? objectCollection;
|
||||
foreach (string key in distinctSortedKKeys)
|
||||
{
|
||||
if (results.ContainsKey(key))
|
||||
@ -769,14 +799,14 @@ internal static partial class HelperGenealogicalDataCommunication
|
||||
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, List<ReadOnlyCollection<object?>>> keyValuePairs;
|
||||
Dictionary<string, ReadOnlyCollection<ReadOnlyCollection<string>>> results;
|
||||
Dictionary<string, List<ReadOnlyCollection<string>>> keyValuePairs;
|
||||
string id;
|
||||
string key;
|
||||
ReadOnlyCollection<object?> collection;
|
||||
List<ReadOnlyCollection<object?>>? objectCollection;
|
||||
ReadOnlyCollection<string> collection;
|
||||
List<ReadOnlyCollection<string>>? objectCollection;
|
||||
ReadOnlyCollection<string> distinctSortedKeys = GetDistinctSortedKeys(familyCollection, personTitleFilter);
|
||||
keyValuePairs = Convert(distinctSortedKeys);
|
||||
foreach (Family family in familyCollection)
|
||||
@ -801,19 +831,18 @@ internal static partial class HelperGenealogicalDataCommunication
|
||||
string json;
|
||||
if (people.Count != genealogicalDataCommunicationCollections.IndividualsToLines.Count)
|
||||
throw new NotSupportedException();
|
||||
JsonSerializerOptions jsonSerializerOptions = new() { WriteIndented = true };
|
||||
ReadOnlyDictionary<string, ReadOnlyCollection<ReadOnlyCollection<object?>>> keyValuePairs;
|
||||
ReadOnlyDictionary<string, ReadOnlyCollection<ReadOnlyCollection<string>>> keyValuePairs;
|
||||
json = JsonSerializer.Serialize(new(people), PeopleSourceGenerationContext.Default.DictionaryInt64Person);
|
||||
File.WriteAllText(Path.Combine(input.GenealogicalDataCommunicationDirectory, "people.json"), json);
|
||||
Dictionary<long, Person>? result = JsonSerializer.Deserialize(json, PeopleSourceGenerationContext.Default.DictionaryInt64Person);
|
||||
if (result is null)
|
||||
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);
|
||||
foreach (char personTitleFilter in appSettings.PersonTitleFilters)
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user