GchrConfig.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  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 string Webservice = "";
  35. public DateipfadeXml Dateipfade = new DateipfadeXml();
  36. [XmlElement("Einstellungen")]
  37. public EinstellungenXml Einstellungen = new EinstellungenXml();
  38. [XmlArray("Konten")]
  39. [XmlArrayItem("Konto")]
  40. public List<HaendlerKonto> Konten;
  41. }
  42. [XmlRoot("Einstellungen")]
  43. public class EinstellungenXml
  44. {
  45. public string Haendler = "Autohaus";
  46. public Mandanten Mandantenname = Mandanten.Opel;
  47. public string Eurodatanummer = "000000";
  48. [XmlElement("Händlernummer")]
  49. public string Haendlernummer = "000000";
  50. [XmlElement("Herstellerkontenrahmen", DataType = "int")]
  51. public int Herstellerkontenrahmen = 5;
  52. [XmlElement("Händlerkontenrahmen", DataType = "int")]
  53. public int Haendlerkontenrahmen = 5;
  54. public string Marke = "Department,3,1";
  55. public string Betrieb = "Department,1,2";
  56. public string Hauptmarke = "1";
  57. public string Hauptbetrieb = "01";
  58. public string BilanzDepartment
  59. {
  60. get { return null; }
  61. set
  62. {
  63. BilanzMarke = value.Substring(0, 1);
  64. BilanzBetrieb = value.Substring(1, 2);
  65. }
  66. }
  67. public string BilanzMarke = "0";
  68. public string BilanzBetrieb = "07";
  69. public string BilanzKontoart = "1";
  70. [XmlElement("Geschäftsjahr")]
  71. public string Geschaeftsjahr
  72. {
  73. get { return _geschaeftsjahr.PadLeft(2, '0'); }
  74. set { _geschaeftsjahr = value; }
  75. }
  76. [XmlElement("ODBC")]
  77. public string Odbc = "O21";
  78. [XmlElement("U")]
  79. public string OdbcUsername = Constants.Encrypt("sa");
  80. [XmlElement("P")]
  81. public string OdbcPassword = Constants.Encrypt("");
  82. public AbfragenXml Abfragen = new AbfragenXml();
  83. [XmlArray("DepartmentÜbersetzung")]
  84. [XmlArrayItem("Über")]
  85. public List<UebersetzungXml> DepartmentUebersetzung = new List<UebersetzungXml>();
  86. public bool KontoOhneUebersetzungUebernehmen;
  87. public bool StatImport = true;
  88. public UpdateXml Update;
  89. public SteuerungsdateienXml Steuerungsdateien;
  90. private string _geschaeftsjahr;
  91. public EinstellungenXml()
  92. {
  93. Geschaeftsjahr = "01";
  94. }
  95. }
  96. [XmlRoot("Update")]
  97. public class UpdateXml
  98. {
  99. [XmlAttribute("aktiviert", DataType = "boolean")]
  100. public bool IsActive;
  101. [XmlElement("Dateipfad")]
  102. public string Dateipfad;
  103. [XmlElement("Proxy")]
  104. public ProxyXml Proxy = new ProxyXml();
  105. }
  106. [XmlRoot("Proxy")]
  107. public class ProxyXml
  108. {
  109. public string Adresse;
  110. public string Port;
  111. public string Benutzer;
  112. public string Passwort;
  113. [XmlElement("Domäne")]
  114. public string Domaene;
  115. }
  116. [XmlRoot("Steuerungsdateien")]
  117. public class SteuerungsdateienXml
  118. {
  119. public string Typ = "verzeichnis";
  120. public string Pfad = "";
  121. }
  122. [XmlRoot("Abfragen")]
  123. public class AbfragenXml
  124. {
  125. [XmlElement("AB")]
  126. public string SuSaKontenQuery;
  127. [XmlElement("ABS")]
  128. public string StatKontenQuery;
  129. }
  130. [XmlRoot("Über")]
  131. public class UebersetzungXml
  132. {
  133. [XmlAttribute("von")]
  134. public string Von;
  135. [XmlAttribute("nach")]
  136. public string Nach;
  137. }
  138. }