dmdb/model/Member.cs

72 lines
2.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
namespace dezentrale.model
{
public class Member : XmlData
{
public enum eRole
{
Normal = 0,
Vorstandsvorsitzender,
Schatzmeister,
Schriftfuehrer,
Beisitzer,
}
public enum eType
{
Regulaer = 0,
Foerdermitglied
}
public enum eStatus
{
Uninitialized = 0,
Greeted,
Active,
Bannend,
Disabled,
}
public enum ePaymentClass
{
Reduced = 0,
Normal,
NerdClass1,
NerdClass2,
NerdClass3,
NerdClass4,
}
//metadata
[XmlElement] public uint Number { get; set; } = 0;
[XmlElement] public eRole Role { get; set; } = eRole.Normal;
[XmlElement] public eType Type { get; set; } = eType.Regulaer;
[XmlElement] public eStatus Status { get; set; } = eStatus.Uninitialized;
[XmlElement] public List<string> OpenPayments { get; set; } = new List<string>(); //todo: data type
[XmlElement] public List<LogEntry> Log { get; set; } = new List<LogEntry>();
//personal data
[XmlElement] public string Nickname { get; set; } = "{PgpFingerprint}";//"DoeJohnz";
[XmlElement] public string FirstName { get; set; } = "John";
[XmlElement] public string LastName { get; set; } = "_Doe";
[XmlElement] public string AddressStreet { get; set; } = "_HomeStreet";
[XmlElement] public string AddressNumber { get; set; } = "123";
[XmlElement] public string Zipcode { get; set; } = "12345";
[XmlElement] public string City { get; set; } = "_HomeCity";
[XmlElement] public DateTime Birthday { get; set; }
[XmlElement] public string EMail { get; set; } = "john.doe@example.com";
[XmlElement] public string PgpFingerprint { get; set; } = "print";
//membership organizational data
[XmlElement] public bool MvInvitationByPost { get; set; } = false;
[XmlElement] public DateTime SpawnDate { get; set; }
[XmlElement] public ePaymentClass PaymentClass { get; set; } = ePaymentClass.Normal;
[XmlElement] public DateTime MemberFormDate { get; set; }
}
}