using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Serialization; namespace dezentrale.model { public class Configuration : XmlData { //Program-wide configuration (single-instance settings in main configuration) [XmlElement] public ConfigSmtp Smtp { get; set; } = new ConfigSmtp(); [XmlElement] public string LocalUser { get; set; } = "John Doe"; //UI: lstMembers: Columns [XmlElement("MemberListColumn")] public List MemberListColumns { get; set; } = new List(); [XmlElement("MTListColumn")] public List MTListColumns { get; set; } = new List(); [XmlElement("MvListColumn")] public List MvListColumns { get; set; } = new List(); [XmlElement("MvInvitationsListColumn")] public List MvInvitationsListColumns{ get; set; } = new List(); [XmlElement("AttachmentsColumn")]public List AttachmentsColumns{ get; set; } = new List(); [XmlElement("SelectFieldsColumn")]public List SelectFieldsColumns{ get; set; } = new List(); [XmlIgnore] public static string DefaultDbDirectory { get; private set; } = "db-data"; //[XmlIgnore] public static string DefaultDbBackupDirectory { get; private set; } = "db-backup"; //[XmlIgnore] public static string DefaultImportExportDirectory { get; private set; } = "import-export"; //Program-wide db metadata (multiple sub-objects in main configuration) [XmlElement] public string DbDirectory { get; set; } = DefaultDbDirectory; //[XmlElement] public string DbBackupDirectory { get; set; } = DefaultDbBackupDirectory; //[XmlElement] public string ImportExportDirectory { get; set; } = DefaultImportExportDirectory; [XmlElement] public DateTime LastDbLocalChange { get; set; } [XmlElement] public DateTime LastDbExport { get; set; } [XmlElement] public DateTime LastDbImport { get; set; } [XmlElement] public bool DbChangedSinceExport { get; set; } = false; public List MemberCsvExportFields { get; set; } = new List(); [XmlElement] public MemberImportExport ImportExport { get; set; } = new MemberImportExport(); //db-wide configuration (in DB folder) [XmlElement] public ConfigEMail VS { get; set; } = new ConfigEMail() { EMailName = "dezentrale Vorstand", EMail = "vorstand@dezentrale.space" }; [XmlElement] public ConfigEMail Schatzmeister { get; set; } = new ConfigEMail() { EMailName = "Schatzmeister", EMail = "kasse@dezentrale.space" }; [XmlElement] public ConfigEMail Schriftfuehrer { get; set; } = new ConfigEMail() { EMailName = "Schriftfuehrer", EMail = "vorstand@dezentrale.space" }; [XmlElement] public uint RegularPaymentAmount { get; set; } = 3200; //cents [XmlElement] public string RegularPaymentCurrency { get; set; } = "EUR"; [XmlElement] public string KeylockCombination { get; set; } = "0000"; [XmlElement] public List MoneyTransferRegEx { get; set; } = new List(); //This doesn't belong here! Move to new file within db-data! [XmlElement] public DateTime LastCronjobRun { get; set; } = DateTime.Now; //This doesn't belong here! Move to new file within db-data! } }