GchrConfig.cs 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Xml.Schema;
  5. using System.Xml.Serialization;
  6. using GCHR.Mandantenschnittstelle;
  7. using GCHR.Model.Konto;
  8. namespace GCHR.Model
  9. {
  10. [XmlRoot("GCEHRep")]
  11. public class GchrConfig
  12. {
  13. [XmlAttribute(AttributeName = "noNamespaceSchemaLocation", Namespace = XmlSchema.InstanceNamespace)]
  14. public string NoNamespaceSchemaLocation = "http://dev.global-cube.de/gchr.xsd";
  15. public static GchrConfig GetInstance(String cfgDatei)
  16. {
  17. var serializer = new XmlSerializer(typeof(GchrConfig));
  18. using (var stream = File.OpenText(cfgDatei))
  19. {
  20. var gcsConfig = (GchrConfig)serializer.Deserialize(stream);
  21. gcsConfig._configDatei = cfgDatei;
  22. return gcsConfig;
  23. }
  24. }
  25. private string _configDatei;
  26. public void Save()
  27. {
  28. var serializer = new XmlSerializer(typeof(GchrConfig));
  29. using (var stream = File.CreateText(_configDatei))
  30. {
  31. serializer.Serialize(stream, this);
  32. }
  33. }
  34. public DateipfadeXml Dateipfade = new DateipfadeXml();
  35. [XmlElement("Einstellungen")]
  36. public EinstellungenXml Einstellungen = new EinstellungenXml();
  37. [XmlArray("Konten")]
  38. [XmlArrayItem("Konto")]
  39. public List<HaendlerKonto> Konten;
  40. }
  41. [XmlRoot("Einstellungen")]
  42. public class EinstellungenXml
  43. {
  44. public string Haendler = "Autohaus";
  45. public Mandanten Mandantenname;
  46. public string Eurodatanummer;
  47. [XmlElement("Händlernummer")]
  48. public string Haendlernummer;
  49. [XmlElement("Herstellerkontenrahmen", DataType = "int")]
  50. public int Herstellerkontenrahmen;
  51. [XmlElement("Händlerkontenrahmen", DataType = "int")]
  52. public int Haendlerkontenrahmen;
  53. public string Marke = "Department,3,1";
  54. public string Betrieb = "Department,1,2";
  55. public string Hauptmarke;
  56. public string Hauptbetrieb;
  57. public string BilanzDepartment
  58. {
  59. get { return null; }
  60. set
  61. {
  62. BilanzMarke = value.Substring(0, 1);
  63. BilanzBetrieb = value.Substring(1, 2);
  64. }
  65. }
  66. public string BilanzMarke = "0";
  67. public string BilanzBetrieb = "07";
  68. public string BilanzKontoart = "1";
  69. [XmlElement("Geschäftsjahr")]
  70. public string Geschaeftsjahr
  71. {
  72. get { return _geschaeftsjahr.PadLeft(2, '0'); }
  73. set { _geschaeftsjahr = value; }
  74. }
  75. [XmlElement("ODBC")]
  76. public string Odbc;
  77. [XmlElement("U")]
  78. public string OdbcUsername;
  79. [XmlElement("P")]
  80. public string OdbcPassword;
  81. public AbfragenXml Abfragen;
  82. [XmlArray("DepartmentÜbersetzung")]
  83. [XmlArrayItem("Über")]
  84. public List<UebersetzungXml> DepartmentUebersetzung = new List<UebersetzungXml>();
  85. public bool KontoOhneUebersetzungUebernehmen;
  86. public UpdateXml Update;
  87. public SteuerungsdateienXml Steuerungsdateien;
  88. public string Verrechnungskonten;
  89. private string _geschaeftsjahr;
  90. public EinstellungenXml()
  91. {
  92. Geschaeftsjahr = "01";
  93. }
  94. }
  95. [XmlRoot("Update")]
  96. public class UpdateXml
  97. {
  98. [XmlAttribute("aktiviert", DataType = "boolean")]
  99. public bool IsActive;
  100. [XmlElement("Dateipfad")]
  101. public string Dateipfad;
  102. [XmlElement("Proxy")]
  103. public ProxyXml Proxy = new ProxyXml();
  104. }
  105. [XmlRoot("Proxy")]
  106. public class ProxyXml
  107. {
  108. public string Adresse;
  109. public string Port;
  110. public string Benutzer;
  111. public string Passwort;
  112. [XmlElement("Domäne")]
  113. public string Domaene;
  114. }
  115. [XmlRoot("Steuerungsdateien")]
  116. public class SteuerungsdateienXml
  117. {
  118. public string Typ = "verzeichnis";
  119. public string Pfad = "";
  120. }
  121. [XmlRoot("Abfragen")]
  122. public class AbfragenXml
  123. {
  124. [XmlElement("AB")]
  125. public string SuSaKontenQuery;
  126. [XmlElement("ABS")]
  127. public string StatKontenQuery;
  128. }
  129. [XmlRoot("Über")]
  130. public class UebersetzungXml
  131. {
  132. [XmlAttribute("von")]
  133. public string Von;
  134. [XmlAttribute("nach")]
  135. public string Nach;
  136. }
  137. }