diff --git a/Elwig/Helpers/Utils.cs b/Elwig/Helpers/Utils.cs
index 4ba5c3c..b22a959 100644
--- a/Elwig/Helpers/Utils.cs
+++ b/Elwig/Helpers/Utils.cs
@@ -173,5 +173,12 @@ namespace Elwig.Helpers {
public static long DecToDb(decimal value, byte precision) {
return (long)decimal.Round(value * (decimal)Math.Pow(10, precision), 0);
}
+
+ public static int GetAge(DateOnly birthday) {
+ var today = DateTime.Today;
+ var a = (today.Year * 100 + today.Month) * 100 + today.Day;
+ var b = (birthday.Year * 100 + birthday.Month) * 100 + birthday.Day;
+ return (a - b) / 10000;
+ }
}
}
diff --git a/Elwig/Windows/MemberAdminWindow.xaml b/Elwig/Windows/MemberAdminWindow.xaml
index 074d0c8..f6f26f5 100644
--- a/Elwig/Windows/MemberAdminWindow.xaml
+++ b/Elwig/Windows/MemberAdminWindow.xaml
@@ -142,6 +142,9 @@
+
+
+
diff --git a/Elwig/Windows/MemberAdminWindow.xaml.cs b/Elwig/Windows/MemberAdminWindow.xaml.cs
index 4a4858e..b4986d3 100644
--- a/Elwig/Windows/MemberAdminWindow.xaml.cs
+++ b/Elwig/Windows/MemberAdminWindow.xaml.cs
@@ -347,6 +347,13 @@ namespace Elwig.Windows {
FamilyNameInput.Text = m.FamilyName;
SuffixInput.Text = m.Suffix;
BirthdayInput.Text = (m.Birthday != null) ? string.Join(".", m.Birthday.Split("-").Reverse()) : null;
+ if (m.Birthday?.Length == 10) {
+ Age.Text = Utils.GetAge(DateOnly.ParseExact(m.Birthday, "yyyy-MM-dd")).ToString();
+ } else if (m.Birthday != null) {
+ Age.Text = "ca. " + (DateTime.Now.Year - int.Parse(m.Birthday[^4..])).ToString();
+ } else {
+ Age.Text = "-";
+ }
AddressInput.Text = m.Address;
AT_PlzDest? p = m.PostalDest.AtPlz;
if (p != null) {
@@ -412,6 +419,7 @@ namespace Elwig.Windows {
new protected void ClearInputs() {
Menu_Member_SendEmail.IsEnabled = false;
AreaCommitment.Text = "- m²";
+ Age.Text = "-";
base.ClearInputs();
}