diff --git a/Database/Database.csproj b/Database/Database.csproj
new file mode 100644
index 0000000..7ca606e
--- /dev/null
+++ b/Database/Database.csproj
@@ -0,0 +1,47 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {B0227727-6CF9-4E2E-9AFE-5DD76DEAA9DB}
+ Library
+ Properties
+ Database
+ Database
+ v4.6.1
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Database/Properties/AssemblyInfo.cs b/Database/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..b862157
--- /dev/null
+++ b/Database/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Allgemeine Informationen über eine Assembly werden über die folgenden
+// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+// die einer Assembly zugeordnet sind.
+[assembly: AssemblyTitle("Database")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Database")]
+[assembly: AssemblyCopyright("Copyright © 2018")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
+// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
+// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
+[assembly: ComVisible(false)]
+
+// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
+[assembly: Guid("b0227727-6cf9-4e2e-9afe-5dd76deaa9db")]
+
+// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+//
+// Hauptversion
+// Nebenversion
+// Buildnummer
+// Revision
+//
+// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
+// indem Sie "*" wie unten gezeigt eingeben:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/KlassenBIB/AbwasserTechnischeAnlageCollection.cs b/KlassenBIB/AbwasserTechnischeAnlageCollection.cs
new file mode 100644
index 0000000..be9a563
--- /dev/null
+++ b/KlassenBIB/AbwasserTechnischeAnlageCollection.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace KlassenBIB
+{
+ public class AbwasserTechnischeAnlageCollection : List
+ {
+ }
+}
diff --git a/KlassenBIB/AdresseCollection.cs b/KlassenBIB/AdresseCollection.cs
new file mode 100644
index 0000000..39a5e80
--- /dev/null
+++ b/KlassenBIB/AdresseCollection.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace KlassenBIB
+{
+ public class AdresseCollection : List
+ {
+ }
+}
diff --git a/KlassenBIB/Inspektionskuerzeln.cs b/KlassenBIB/Inspektionskuerzeln.cs
new file mode 100644
index 0000000..7bfef02
--- /dev/null
+++ b/KlassenBIB/Inspektionskuerzeln.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace KlassenBIB
+{
+ public class Inspektionskuerzeln
+ {
+ public string Hauptkode { get; set; }
+ public string Charakterisierung1 { get; set; }
+ public string Charakterisierung2 { get; set; }
+ public uint Quantifizierung1 { get; set; }
+ public uint Quantifizierung2 { get; set; }
+ public uint LageAmUmfangStart { get; set; }
+ public uint LageAmUmfangEnde { get; set; }
+ public bool ImVerbindung { get; set; }
+ public string FotoReferenz { get; set; }
+ public string VideoReferenz { get; set; }
+ public string Anmerkung { get; set; }
+ }
+}
diff --git a/KlassenBIB/InspektionskuerzelnCollection.cs b/KlassenBIB/InspektionskuerzelnCollection.cs
new file mode 100644
index 0000000..83d5d6d
--- /dev/null
+++ b/KlassenBIB/InspektionskuerzelnCollection.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace KlassenBIB
+{
+ [Browsable(false)]
+ public class InspektionskuerzelnCollection : List
+ {
+ }
+}
diff --git a/KlassenBIB/Inspektionsobjekt.cs b/KlassenBIB/Inspektionsobjekt.cs
new file mode 100644
index 0000000..993541c
--- /dev/null
+++ b/KlassenBIB/Inspektionsobjekt.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace KlassenBIB
+{
+ public class Inspektionsobjekt
+ {
+ public string Objektbezeichnung { get; set; }
+ public InspektionskuerzelnCollection schadenskuerzeln { get; set; }
+
+ public Inspektionsobjekt()
+ {
+ schadenskuerzeln = new InspektionskuerzelnCollection();
+ }
+ }
+}
diff --git a/KlassenBIB/KlassenBIB.csproj b/KlassenBIB/KlassenBIB.csproj
new file mode 100644
index 0000000..2c4e824
--- /dev/null
+++ b/KlassenBIB/KlassenBIB.csproj
@@ -0,0 +1,60 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {C82BD650-466B-403F-BED9-2B1660771F54}
+ Library
+ Properties
+ KlassenBIB
+ KlassenBIB
+ v4.6.1
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Designer
+ MSBuild:Compile
+ PreserveNewest
+
+
+
+
\ No newline at end of file
diff --git a/KlassenBIB/Projekt.cs b/KlassenBIB/Projekt.cs
new file mode 100644
index 0000000..1f1efca
--- /dev/null
+++ b/KlassenBIB/Projekt.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace KlassenBIB
+{
+ public class Projekt
+ {
+ public string Projektnummer { get; set; }
+ public string ProjektOrt { get; set; }
+ public AdresseCollection adressen { get; set; }
+
+ public Projekt()
+ {
+ adressen = new AdresseCollection();
+ }
+ }
+}
diff --git a/KlassenBIB/Properties/AssemblyInfo.cs b/KlassenBIB/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..8b2d080
--- /dev/null
+++ b/KlassenBIB/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Allgemeine Informationen über eine Assembly werden über die folgenden
+// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+// die einer Assembly zugeordnet sind.
+[assembly: AssemblyTitle("KlassenBIB")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("KlassenBIB")]
+[assembly: AssemblyCopyright("Copyright © 2018")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
+// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
+// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
+[assembly: ComVisible(false)]
+
+// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
+[assembly: Guid("c82bd650-466b-403f-bed9-2b1660771f54")]
+
+// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+//
+// Hauptversion
+// Nebenversion
+// Buildnummer
+// Revision
+//
+// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
+// indem Sie "*" wie unten gezeigt eingeben:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/KlassenBIB/Strasse.cs b/KlassenBIB/Strasse.cs
new file mode 100644
index 0000000..be54ac8
--- /dev/null
+++ b/KlassenBIB/Strasse.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace KlassenBIB
+{
+ public class Strasse
+ {
+ public string Strassename { get; set; }
+ public string Ort { get; set; }
+
+ public AbwasserTechnischeAnlageCollection objekte { get; set; }
+
+ public Strasse()
+ {
+ objekte = new AbwasserTechnischeAnlageCollection();
+ }
+ }
+}
diff --git a/KlassenBIB/database.xaml b/KlassenBIB/database.xaml
new file mode 100644
index 0000000..1f8b9ab
--- /dev/null
+++ b/KlassenBIB/database.xaml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/KlassenBIBTests/InspektionsobjektTests.cs b/KlassenBIBTests/InspektionsobjektTests.cs
new file mode 100644
index 0000000..1c488b0
--- /dev/null
+++ b/KlassenBIBTests/InspektionsobjektTests.cs
@@ -0,0 +1,80 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using KlassenBIB;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xaml;
+
+namespace KlassenBIB.Tests
+{
+ [TestClass()]
+ public class InspektionsobjektTests
+ {
+ [TestMethod()]
+ public void XAMLDeserializeTest()
+ {
+ string filepath = @"C:\Users\OBremer\Desktop\SanVerwaltung\KlassenBIB\database.xaml";
+ var x = XamlServices.Load(filepath) as KlassenBIB.Projekt;
+ }
+
+ [TestMethod()]
+ public void XAMLSerializeTest()
+ {
+ Projekt projekt = new Projekt();
+ projekt.Projektnummer = "16/219";
+ projekt.ProjektOrt = "Oldenburg";
+
+ AbwasserTechnischeAnlageCollection abwasserTechnischeAnlageCollection = new AbwasserTechnischeAnlageCollection();
+
+
+ Inspektionsobjekt inspektionsobjekt = new Inspektionsobjekt();
+ inspektionsobjekt.Objektbezeichnung = "122345";
+ inspektionsobjekt.schadenskuerzeln.Add(new Inspektionskuerzeln()
+ {
+ Hauptkode = "BCD",
+ Charakterisierung1 = "XP"
+ });
+ inspektionsobjekt.schadenskuerzeln.Add(new Inspektionskuerzeln()
+ {
+ Hauptkode = "BCA",
+ Charakterisierung1 = "A",
+ Charakterisierung2 = "A",
+ Quantifizierung1 = 150,
+ Quantifizierung2 = 150,
+ });
+
+ abwasserTechnischeAnlageCollection.Add(inspektionsobjekt);
+
+
+ Strasse strasse = new Strasse()
+ {
+ Ort = "Oldenburg",
+ Strassename = "Dieselstraße",
+ objekte = abwasserTechnischeAnlageCollection
+ };
+ projekt.adressen.Add(strasse);
+
+
+
+ XamlServices.Save("db.xaml", projekt);
+ }
+ [TestMethod()]
+ public void InspektionsobjektTest()
+ {
+ Inspektionsobjekt inspektionsobjekt = new Inspektionsobjekt();
+ inspektionsobjekt.Objektbezeichnung = "1232";
+ inspektionsobjekt.schadenskuerzeln.Add(new Inspektionskuerzeln()
+ {
+ Hauptkode = "BCA",
+ Charakterisierung1 = "A",
+ Charakterisierung2 = "A",
+ Quantifizierung1 = 150,
+ Quantifizierung2 = 150
+ });
+
+ XamlServices.Save("file.xaml", inspektionsobjekt);
+ }
+ }
+}
\ No newline at end of file
diff --git a/KlassenBIBTests/KlassenBIBTests.csproj b/KlassenBIBTests/KlassenBIBTests.csproj
new file mode 100644
index 0000000..69a0da0
--- /dev/null
+++ b/KlassenBIBTests/KlassenBIBTests.csproj
@@ -0,0 +1,108 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {0FEC903E-6C9F-48AC-A207-0BACA184AAA8}
+ Library
+ Properties
+ KlassenBIBTests
+ KlassenBIBTests
+ v4.6.1
+ 512
+ {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 10.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+ $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages
+ False
+ UnitTest
+
+
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll
+
+
+ ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {C82BD650-466B-403F-BED9-2B1660771F54}
+ KlassenBIB
+
+
+
+
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+
+
+
+
+
+
+ Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/KlassenBIBTests/Properties/AssemblyInfo.cs b/KlassenBIBTests/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..4444975
--- /dev/null
+++ b/KlassenBIBTests/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Allgemeine Informationen über eine Assembly werden über folgende
+// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+// die einer Assembly zugeordnet sind.
+[assembly: AssemblyTitle("KlassenBIBTests")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("KlassenBIBTests")]
+[assembly: AssemblyCopyright("Copyright © 2018")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Wenn ComVisible auf "false" festgelegt wird, sind die Typen innerhalb dieser Assembly
+// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
+// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
+[assembly: ComVisible(false)]
+
+// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
+[assembly: Guid("0fec903e-6c9f-48ac-a207-0baca184aaa8")]
+
+// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+//
+// Hauptversion
+// Nebenversion
+// Buildnummer
+// Revision
+//
+// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
+// übernehmen, indem Sie "*" eingeben:
+// [Assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/KlassenBIBTests/packages.config b/KlassenBIBTests/packages.config
new file mode 100644
index 0000000..cf2d094
--- /dev/null
+++ b/KlassenBIBTests/packages.config
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/SanVerwaltung.sln b/SanVerwaltung.sln
index 50655b4..3ae038a 100644
--- a/SanVerwaltung.sln
+++ b/SanVerwaltung.sln
@@ -5,6 +5,12 @@ VisualStudioVersion = 15.0.27130.2026
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SanSystem", "SanSystem\SanSystem.csproj", "{C6546A88-8830-4EF2-B99C-B9183171F6EF}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Database", "Database\Database.csproj", "{B0227727-6CF9-4E2E-9AFE-5DD76DEAA9DB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KlassenBIB", "KlassenBIB\KlassenBIB.csproj", "{C82BD650-466B-403F-BED9-2B1660771F54}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KlassenBIBTests", "KlassenBIBTests\KlassenBIBTests.csproj", "{0FEC903E-6C9F-48AC-A207-0BACA184AAA8}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,6 +21,18 @@ Global
{C6546A88-8830-4EF2-B99C-B9183171F6EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C6546A88-8830-4EF2-B99C-B9183171F6EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C6546A88-8830-4EF2-B99C-B9183171F6EF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B0227727-6CF9-4E2E-9AFE-5DD76DEAA9DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B0227727-6CF9-4E2E-9AFE-5DD76DEAA9DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B0227727-6CF9-4E2E-9AFE-5DD76DEAA9DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B0227727-6CF9-4E2E-9AFE-5DD76DEAA9DB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C82BD650-466B-403F-BED9-2B1660771F54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C82BD650-466B-403F-BED9-2B1660771F54}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C82BD650-466B-403F-BED9-2B1660771F54}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C82BD650-466B-403F-BED9-2B1660771F54}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0FEC903E-6C9F-48AC-A207-0BACA184AAA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0FEC903E-6C9F-48AC-A207-0BACA184AAA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0FEC903E-6C9F-48AC-A207-0BACA184AAA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0FEC903E-6C9F-48AC-A207-0BACA184AAA8}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE