using System; using System.Collections.Generic; using System.IO; using System.Xml.Schema; using System.Xml.Serialization; using GCHR.Model.Konto; using GCHR.Model.Mandant; 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 = "00000000"; [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 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; } } public string JahresergebnisKonto = "10108381"; public string JahresergebnisBezeichnung = "Gewinn-/Verlust-Vortrag"; [XmlElement("ODBC")] public string Odbc = "O21"; [XmlElement("U")] public string OdbcUsername = Constants.Encrypt("sa"); [XmlElement("P")] public string OdbcPassword = Constants.Encrypt(""); public string Datenbank = "deop00"; public AbfragenXml Abfragen = new AbfragenXml(); [XmlArray("DepartmentÜbersetzung")] [XmlArrayItem("Über")] public List DepartmentUebersetzung = new List(); public bool KontoOhneUebersetzungUebernehmen; public bool StatImport = true; 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 { [XmlIgnore] public string SuSaQuery { get { return (AB == "") ? "DVrUHLvXeCsurxjhOh3WN+e6jwRvytqt+TOYMlw7oT3WnY/R2ukU86VSknEw1XLLMafBCpSLkqzDk5iEcst8YOIewnnWTExPyuz3flGmFOFmZ1Ol4QjFkiFxrxHQfaWI+tTTHSkLos7/1OzZShwnE4UYlfoJyA7Rm3c1qgDeeCk6ytlBAtncdEKZy6CUqe4sON4KM//+IzFTmhpqu2aJrhFXFz5TBtPhOicDwQsqSDkruV8aduxWS2kEJrXUiMv6USrluME4SxOFI9cQ8F950skOJ09Nzg+62dI4aK/qw9OK+aKLrSZw/+n6WGnEmKRZ8qUoSTIkIG2Wg4BlX07ZfoMS3fkHzMVkSmQ0nbRag489Eaj81kPsM2/wMDPTkUw/xVFFW2BA5CCBSPNlMVmJr5g6zjjji1m4wdFAZ7mBhRhkpvC0gpspFRb5iwyPJJjgG/G3nLKrGWAr8gPcZh3QEhd1s8t3XH3fMAtajAbKVofLHsmMSVZxh6jE98SkK3px4DQDC2HKdubyUA3yBx9M0v2RCBBMoaYxWI0gVkxN4q9N2DHqbTc4F97LQbDz99RWL9US2X0Y0wWkBmGp1DvRpuyQ4qDfzmxpEUq6GFBMz4K4nGhQ5YADtg==" : AB; } } public string AB = ""; [XmlIgnore] public string StatQuery { get { return (ABS == "") ? "pAYfFlGeHG/aLQHYCiHnzBFJVsfbeWnUygij3LS25vll139yMkXCYKa0Z+KnWASK/5LOgUQ84AbvO+W6zVqUiejIGIj4dUJ9t39KV4jTpBBTgLybqu43cld7kZNsiF8VzwCz9az9BL4asqK85KBI30YJZwPQkBxlQ8Ryw0wwhsfp+IGGdbFQH2jXhsVRRdvQ0++dtXDw7Txi6CKiWBO6ndCgnLuD3+yn8cMn/lk2CMkiU1cdbK0Ows1MhnKtTLNvPp755iutGte371+od5HyPdnedktM8pzg0CXoKQVeMuP40sKohpJ0UVq/Mii7qe9vVvnCrwKTrlMJmpg1s0xq22tn7d+QFzIdKCTCsKdo5oaAwoKMFTXFOYxBLw+MhSnPR0RBa2KcxvFBbSvctrB/zYihhceerQuBcQzHYlReF9aK6pK/S/fgk6uXJYNkOcdd4uTMyBHIO5+i3e9H7vGXln/eD9AP/eS0/WhekNdcExGYMI3StK3pPYnwU7kCCCh6Fu5NELmhHTMY6+CnJtsgMd/H8n8pgC77uic6PZpIPp8s0h7vjICoYdx/+SDcfD789YcK8ddWwbhgClKtFgoqnilvDyEcIb7fHOGefegJ50vpV+qAccTqh/ezsPfWKXmo" : ABS; } } public string ABS = ""; public string Kontonummer = "T1.ACCT_NO"; public string Department = "T1.DEPARTMENT"; public string Filter = "1=1"; public string Bezeichnung = "''"; } [XmlRoot("Über")] public class UebersetzungXml { [XmlAttribute("von")] public string Von; [XmlAttribute("nach")] public string Nach; } }