dmdb/model/Configuration.cs

63 lines
3.7 KiB
C#

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<ConfigLVColumn> MemberListColumns { get; set; } = new List<ConfigLVColumn>();
[XmlElement("MTListColumn")] public List<ConfigLVColumn> MTListColumns { get; set; } = new List<ConfigLVColumn>();
[XmlElement("MvListColumn")] public List<ConfigLVColumn> MvListColumns { get; set; } = new List<ConfigLVColumn>();
[XmlElement("MvInvitationsListColumn")]
public List<ConfigLVColumn> MvInvitationsListColumns{ get; set; } = new List<ConfigLVColumn>();
[XmlElement("AttachmentsColumn")]public List<ConfigLVColumn> AttachmentsColumns{ get; set; } = new List<ConfigLVColumn>();
[XmlElement("SelectFieldsColumn")]public List<ConfigLVColumn> SelectFieldsColumns{ get; set; } = new List<ConfigLVColumn>();
[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<string> MemberCsvExportFields { get; set; } = new List<string>();
[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<KeyValue> MoneyTransferRegEx { get; set; } = new List<KeyValue>(); //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!
}
}