GchrConfig.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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 Mandanten Mandantenname;
  45. public string Eurodatanummer;
  46. [XmlElement("Händlernummer")]
  47. public string Haendlernummer;
  48. [XmlElement("Herstellerkontenrahmen", DataType = "int")]
  49. public int Herstellerkontenrahmen;
  50. [XmlElement("Händlerkontenrahmen", DataType = "int")]
  51. public int Haendlerkontenrahmen;
  52. public string Marke = "Department,3,1";
  53. public string Betrieb = "Department,1,2";
  54. public string Hauptmarke;
  55. public string Hauptbetrieb;
  56. public string BilanzDepartment;
  57. public string BilanzMarke = "0";
  58. public string BilanzBetrieb = "07";
  59. public string BilanzKontoart = "1";
  60. [XmlElement("Geschäftsjahr")]
  61. public string Geschaeftsjahr = "01";
  62. [XmlElement("ODBC")]
  63. public string Odbc;
  64. [XmlElement("U")]
  65. public string OdbcUsername;
  66. [XmlElement("P")]
  67. public string OdbcPassword;
  68. public AbfragenXml Abfragen;
  69. [XmlArray("DepartmentÜbersetzung")]
  70. [XmlArrayItem("Über")]
  71. public List<UebersetzungXml> DepartmentUebersetzung = new List<UebersetzungXml>();
  72. public bool KontoOhneUebersetzungUebernehmen;
  73. public UpdateXml Update;
  74. public SteuerungsdateienXml Steuerungsdateien;
  75. public string Verrechnungskonten;
  76. }
  77. [XmlRoot("Update")]
  78. public class UpdateXml
  79. {
  80. [XmlAttribute("aktiviert", DataType = "boolean")]
  81. public bool IsActive;
  82. [XmlElement("Dateipfad")]
  83. public string Dateipfad;
  84. [XmlElement("Proxy")]
  85. public ProxyXml Proxy = new ProxyXml();
  86. }
  87. [XmlRoot("Proxy")]
  88. public class ProxyXml
  89. {
  90. public string Adresse;
  91. public string Port;
  92. public string Benutzer;
  93. public string Passwort;
  94. [XmlElement("Domäne")]
  95. public string Domaene;
  96. }
  97. [XmlRoot("Steuerungsdateien")]
  98. public class SteuerungsdateienXml
  99. {
  100. public string Typ = "verzeichnis";
  101. public string Pfad = "";
  102. }
  103. [XmlRoot("Abfragen")]
  104. public class AbfragenXml
  105. {
  106. [XmlElement("AB")]
  107. public string SuSaKontenQuery;
  108. [XmlElement("ABS")]
  109. public string StatKontenQuery;
  110. [XmlArray("DepartmentFilter")]
  111. [XmlArrayItem("Department")]
  112. public List<String> DepartmentFilter = new List<String>();
  113. }
  114. [XmlRoot("Über")]
  115. public class UebersetzungXml
  116. {
  117. [XmlAttribute("von")]
  118. public string Von;
  119. [XmlAttribute("nach")]
  120. public string Nach;
  121. }
  122. }