using System; using System.Collections.Generic; using System.IO; using System.Xml.Schema; using System.Xml.Serialization; using GCHR.Mandantenschnittstelle; using GCHR.Model.Konto; namespace GCHR.Model { [XmlRoot("GCEHRep")] public class GchrConfig { [XmlAttribute(AttributeName = "noNamespaceSchemaLocation", Namespace = XmlSchema.InstanceNamespace)] public string NoNamespaceSchemaLocation = "http://dev.global-cube.de/gchr.xsd"; public static GchrConfig GetInstance(String cfgDatei) { var serializer = new XmlSerializer(typeof(GchrConfig)); using (var stream = File.OpenText(cfgDatei)) { var gcsConfig = (GchrConfig)serializer.Deserialize(stream); gcsConfig._configDatei = cfgDatei; return gcsConfig; } } private string _configDatei; public void Save() { var serializer = new XmlSerializer(typeof(GchrConfig)); using (var stream = File.CreateText(_configDatei)) { serializer.Serialize(stream, this); } } public string Webservice = ""; public DateipfadeXml Dateipfade = new DateipfadeXml(); [XmlElement("Einstellungen")] public EinstellungenXml Einstellungen = new EinstellungenXml(); [XmlArray("Konten")] [XmlArrayItem("Konto")] public List Konten; } [XmlRoot("Einstellungen")] public class EinstellungenXml { public string Haendler = "Autohaus"; public Mandanten Mandantenname = Mandanten.Opel; public string Eurodatanummer = "000000"; [XmlElement("Händlernummer")] public string Haendlernummer = "000000"; [XmlElement("Herstellerkontenrahmen", DataType = "int")] public int Herstellerkontenrahmen = 5; [XmlElement("Händlerkontenrahmen", DataType = "int")] public int Haendlerkontenrahmen = 5; public string Marke = "Department,3,1"; public string Betrieb = "Department,1,2"; public string Hauptmarke = "1"; public string Hauptbetrieb = "01"; public string BilanzDepartment { get { return null; } set { BilanzMarke = value.Substring(0, 1); BilanzBetrieb = value.Substring(1, 2); } } public string BilanzMarke = "0"; public string BilanzBetrieb = "07"; public string BilanzKontoart = "1"; [XmlElement("Geschäftsjahr")] public string Geschaeftsjahr { get { return _geschaeftsjahr.PadLeft(2, '0'); } set { _geschaeftsjahr = value; } } [XmlElement("ODBC")] public string Odbc = "O21"; [XmlElement("U")] public string OdbcUsername = Constants.Encrypt("sa"); [XmlElement("P")] public string OdbcPassword = Constants.Encrypt(""); public AbfragenXml Abfragen = new AbfragenXml(); [XmlArray("DepartmentÜbersetzung")] [XmlArrayItem("Über")] public List DepartmentUebersetzung = new List(); public bool KontoOhneUebersetzungUebernehmen; public bool StatImport = true; public UpdateXml Update; public SteuerungsdateienXml Steuerungsdateien; private string _geschaeftsjahr; public EinstellungenXml() { Geschaeftsjahr = "01"; } } [XmlRoot("Update")] public class UpdateXml { [XmlAttribute("aktiviert", DataType = "boolean")] public bool IsActive; [XmlElement("Dateipfad")] public string Dateipfad; [XmlElement("Proxy")] public ProxyXml Proxy = new ProxyXml(); } [XmlRoot("Proxy")] public class ProxyXml { public string Adresse; public string Port; public string Benutzer; public string Passwort; [XmlElement("Domäne")] public string Domaene; } [XmlRoot("Steuerungsdateien")] public class SteuerungsdateienXml { public string Typ = "verzeichnis"; public string Pfad = ""; } [XmlRoot("Abfragen")] public class AbfragenXml { [XmlElement("AB")] public string SuSaKontenQuery; [XmlElement("ABS")] public string StatKontenQuery; } [XmlRoot("Über")] public class UebersetzungXml { [XmlAttribute("von")] public string Von; [XmlAttribute("nach")] public string Nach; } }