Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Domein/GraveerInstelling.vb =================================================================== diff -u -r1922 -r1946 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Domein/GraveerInstelling.vb (.../GraveerInstelling.vb) (revision 1922) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Domein/GraveerInstelling.vb (.../GraveerInstelling.vb) (revision 1946) @@ -4,4 +4,8 @@ Public Property Graveervermogen As String Public Property Graveersnelheid As String Public Property Ppi As String + + Public Overrides Function ToString() As String + Return Kleur + End Function End Class Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Domein/GraveerInstellingenRepository.vb =================================================================== diff -u -r1922 -r1946 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Domein/GraveerInstellingenRepository.vb (.../GraveerInstellingenRepository.vb) (revision 1922) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Domein/GraveerInstellingenRepository.vb (.../GraveerInstellingenRepository.vb) (revision 1946) @@ -1,7 +1,8 @@ Imports System.IO +Imports System.Security.Cryptography.X509Certificates Public Interface IGraveerInstellingenRepository - ReadOnly Property GraveerInstellingen() As List(Of GraveerInstelling) + Property GraveerInstellingen() As List(Of GraveerInstelling) End Interface Public Class GraveerInstellingenRepository @@ -17,13 +18,37 @@ Me._configs = configs End Sub - Public ReadOnly Property GraveerInstellingen() As List(Of GraveerInstelling) Implements IGraveerInstellingenRepository.GraveerInstellingen + Public Property GraveerInstellingen() As List(Of GraveerInstelling) Implements IGraveerInstellingenRepository.GraveerInstellingen Get - If _graveerinstellingen Is Nothing Then - Dim stream = New FileStream(_configs.GraveerInstellingenXmlPad, FileMode.Open, FileAccess.Read, FileShare.Read) - _graveerinstellingen = _xmlMapper.GetData(Of List(Of GraveerInstelling))(stream) - End If + If _graveerinstellingen Is Nothing Then Laad() Return New List(Of GraveerInstelling)(_graveerinstellingen) End Get + Set + ControleerNieuweInstellingen(Value) + SlaOp(Value) + End Set End Property + + Private Sub Laad() + Try + Dim stream = New FileStream(_configs.GraveerInstellingenXmlPad, FileMode.Open, FileAccess.Read, FileShare.Read) + _graveerinstellingen = _xmlMapper.GetData(Of List(Of GraveerInstelling))(stream) + Catch ex As Exception + Throw New Exception($"Kon graveer instellingen niet laden.{vbNewLine}{ex.Message}") + End Try + End Sub + + Private Shared Sub ControleerNieuweInstellingen(graveerInstellings As List(Of GraveerInstelling)) + 'TODO controle voorzien + End Sub + + Private Sub SlaOp(nieuweInstellingen As List(Of GraveerInstelling)) + Try + Dim stream = New FileStream(_configs.GraveerInstellingenXmlPad, FileMode.OpenOrCreate) + _graveerinstellingen = _xmlMapper.GetData(Of List(Of GraveerInstelling))(stream) + Catch ex As Exception + Throw New Exception($"Kon nieuwe graveer instellingen niet opslaan.{vbNewLine}{ex.Message}") + End Try + End Sub + End Class