Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
GenderCodeToSymbol.cs
1using System.Globalization;
3
5{
9 public class GenderCodeToSymbol : IValueConverter, IMarkupExtension
10 {
12 public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
13 {
14 ISO_5218_Gender? Rec;
15
16 if (value is string s)
17 {
18 if (ISO_5218.LetterToGender(s.ToUpper(CultureInfo.InvariantCulture), out Rec) && Rec is not null)
19 return new string(Rec.Unicode, 1);
20 else if (int.TryParse(s, out int i) && ISO_5218.CodeToGender(i, out Rec) && Rec is not null)
21 return new string(Rec.Unicode, 1);
22 else
23 return s;
24 }
25 else if (value is int Code && ISO_5218.CodeToGender(Code, out Rec) && Rec is not null)
26 return new string(Rec.Unicode, 1);
27 else
28 return value ?? string.Empty;
29 }
30
32 public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
33 {
34 return value?.ToString() ?? string.Empty;
35 }
36
38 public object ProvideValue(IServiceProvider serviceProvider)
39 {
40 return this;
41 }
42 }
43}
Static class containing ISO 5218 gender codes
Definition: ISO_5218.cs:9
static bool CodeToGender(int Code, out ISO_5218_Gender? Gender)
Tries to get the gender label corresponding to an ISO 5218 gender code.
Definition: ISO_5218.cs:19
static bool LetterToGender(string Letter, out ISO_5218_Gender? Gender)
Tries to get the gender label corresponding to an ISO 5218 gender code.
Definition: ISO_5218.cs:40
Converts a gender code to a Unicode symbol.
object ProvideValue(IServiceProvider serviceProvider)
object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
class ISO_5218_Gender(string Gender, int Code, string Letter, string LocalizedNameId, char Unicode)
Contains one record of the ISO 5218 data set.