Index: TAOR rework/TAOR rework/Configuraties/IMapper.vb
===================================================================
diff -u
--- TAOR rework/TAOR rework/Configuraties/IMapper.vb (revision 0)
+++ TAOR rework/TAOR rework/Configuraties/IMapper.vb (revision 2071)
@@ -0,0 +1,4 @@
+Public Interface IMapper
+ Sub WriteData(Of T)(item As T)
+ Function GetData(Of T)() As T
+End Interface
Index: TAOR rework/TAOR rework/Configuraties/XmlMapper.vb
===================================================================
diff -u
--- TAOR rework/TAOR rework/Configuraties/XmlMapper.vb (revision 0)
+++ TAOR rework/TAOR rework/Configuraties/XmlMapper.vb (revision 2071)
@@ -0,0 +1,45 @@
+Imports System.IO
+Imports System.Xml.Serialization
+
+'Robin De Bock Created:15/06/2021
+Public Interface IXmlMapper
+ Sub WriteData(Of T)(filestream As Stream, item As T)
+ Function GetData(Of T)(filestream As Stream) As T
+End Interface
+
+Public Class XmlMapper
+ Implements IXmlMapper
+ '''
+ ''' Write data to XML
+ '''
+ '''
+ ''' Created with New FileStream(pathToFile, FileMode.Create)
+ '''
+ Public Sub WriteData(Of T)(writer As Stream, item As T) Implements IXmlMapper.WriteData
+ Try
+ Dim serializer As New XmlSerializer(GetType(T))
+ serializer.Serialize(writer, item)
+ writer.Close()
+ Catch ex As Exception
+ Throw New Exception($"Er is iets foutgelopen bij serializeren van {NameOf(T)} naar xml{vbNewLine}{ex.Message}")
+ End Try
+ End Sub
+
+ '''
+ ''' Get data from XML
+ '''
+ '''
+ ''' Created with New FileStream(pathToFile, FileMode.Open, FileAccess.Read, FileShare.Read)
+ '''
+ Public Function GetData(Of T)(stream As Stream) As T Implements IXmlMapper.GetData
+ Try
+ Dim serializer As New XmlSerializer(GetType(T))
+ Dim deserialized As T = serializer.Deserialize(stream)
+ stream.Close()
+ Return deserialized
+ Catch ex As Exception
+ Throw New Exception($"Er is iets foutgelopen bij deserializeren van het .xml bestand naar {NameOf(T)}{vbNewLine}{ex.Message}")
+ End Try
+ End Function
+
+End Class
\ No newline at end of file