72 lines
2.6 KiB
C#
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; }
|
|
}
|
|
}
|