Imports System.Globalization Imports System.IO Public Module Configs Private _algemeneConfigs As List(Of String) Private _specialsConfigs As List(Of String) Private _sifonLadeWaarden As List(Of String) Private _spoelbakLadeWaarden As List(Of String) Private _voorraadWaarden As List(Of String) Private _kleurVervangenWaarden As List(Of String) Private _hoogteVerschilWaarden As List(Of String) Sub New() If Directory.Exists(My.Settings.PathNaarConfigMap) Then Try _algemeneConfigs = ConfigsTextMapper.getAllValues _specialsConfigs = WaardenSpecialsTextMapper.getAllValues _sifonLadeWaarden = WaardenSifonLadeTextMapper.getAllValues _spoelbakLadeWaarden = WaardenSpoelbakLadenTextMapper.getAllValues _voorraadWaarden = WaardenVoorraadTextMapper.getAllValues _kleurVervangenWaarden = WaardenKleurVervangenTextMapper.getAllValues _hoogteVerschilWaarden = WaardenHoogteVerschilTextMapper.getAllValues 'algemene configs laadOnderdelen() laadArdisPath() laadBartenderConfigs() laadPrinterBacklogPath() laadHelpPDFPath() laadOnderdelenKleuren() 'specials algemene waarden laadArdisSpecialPath() laadStemasProgsLeft1Stemas() laadStemasProgsRight1Stemas() laadWaardenDieptesEnLengtenEnCodeStemasB() 'sifon lade waarden laadsifonWaardenVerplaatsFolderPath() laadSifonWaardenMinimumLengteRug() laadSifonWaardenMinWaardePositie() laadSifonWaardenMinWaardeRestPositie() laadSifonWaardenBreedteUitsparing() laadSifonWaardenKleurLaden() laadsifonWaardenGeefAutoMillingProgrammasGegenereerdeZijkantenVerlaagdeRug() 'spoelbak lade waarden laadSpoelbakWaardenVerplaatsFolderPath() laadSpoelbakWaardenMinWaardeNuttigeRuimteZijvakken() laadSpoelbakVasteWaardeRugBerekening() laadSpoelbakWaardenBreedteUitsparing() laadSpoelbakWaardenKleurLaden() laadSpoelbakWaardenLengteEnCodeStemasB() 'kleur vervangen waarden laadNieuweKleuren() laadKantenbandNieuweKleuren() LaadSpecialLadenOnderdelenNieuweKleurKantenbandData() 'voorraad waarden laadDieptesNettoLengteEnCodeStemaBVoorraad() laadHoogteLettersVoorraad() laadKleurenMetPlaatmateriaalVoorraad() 'hoogte verschil waarden laadHoogteLettersHoogteVerschil() laadAutomillingProgrammaLettersHoogteVerschil() Catch ex As Exception MessageBox.Show(ex.Message, "Er is een fout opgetreden...", MessageBoxButtons.OK, MessageBoxIcon.Error) Application.Exit() End Try Try 'controleren of er instellingen zijn vergeten in te lezen, dit wijst op fouten in het bestand of instellingen die hier nog niet worden ingesteld If _algemeneConfigs.Count > 0 Then MessageBox.Show("Het config bestand bevat instellingen/tekst die geen nut hebben. Dit kan wijzen op foutieve instellingen, gelieve dit zo snel mogelijk na te kijken.", "Fout in bestand...", MessageBoxButtons.OK, MessageBoxIcon.Error) End If If _sifonLadeWaarden.Count > 0 Then MessageBox.Show("Het sifon lade config bestand bevat instellingen/tekst die geen nut hebben. Dit kan wijzen op foutieve instellingen, gelieve dit zo snel mogelijk na te kijken.", "Fout in bestand...", MessageBoxButtons.OK, MessageBoxIcon.Error) End If If _spoelbakLadeWaarden.Count > 0 Then MessageBox.Show("Het spoelbak lade config bestand bevat instellingen/tekst die geen nut hebben. Dit kan wijzen op foutieve instellingen, gelieve dit zo snel mogelijk na te kijken.", "Fout in bestand...", MessageBoxButtons.OK, MessageBoxIcon.Error) End If Catch ex As Exception MessageBox.Show(ex.Message, "Er is een fout opgetreden...", MessageBoxButtons.OK, MessageBoxIcon.Error) Application.Exit() End Try Else MessageBox.Show("Kon Configs niet laden, gelieve het pad naar de config map te configureren", "Er is een fout opgetreden...", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Sub #Region "algemene configs" #Region "onderdelen" Private _onderdelen As New List(Of String) Private Sub laadOnderdelen() _onderdelen = OnderdelenTextFileMapper.getDataFromFile() If (_onderdelen Is Nothing) OrElse (_onderdelen.Count <= 0) Then _onderdelen = CacheMapper.GeefOnderdelen OnderdelenTextFileMapper.writeToFile(_onderdelen) End If If _onderdelen.Count <= 0 Then Throw New Exception("De onderdelen konden niet worden opgehaald uit het bestand en de databank.") End If End Sub Public ReadOnly Property Onderdelen() As List(Of String) Get Return New List(Of String)(_onderdelen) End Get End Property #End Region #Region "ardispath" Private _ardisPath As String Private Sub laadArdisPath() For teller As Integer = 0 To _algemeneConfigs.Count - 1 Dim lijn As String = _algemeneConfigs(teller) If lijn.ToLower.StartsWith("ardispath") Then _ardisPath = lijn.Remove(0, 9).Trim _algemeneConfigs.RemoveAt(teller) Exit For End If Next If _ardisPath Is Nothing OrElse _ardisPath.Equals("") Then Throw New Exception("ArdisPath is niet geconfigureerd.") End If End Sub Public Property ardisPathTextFile() As String Get Return _ardisPath End Get Set(ByVal value As String) _ardisPath = value End Set End Property #End Region #Region "bartender" Private _printerNamen As New List(Of String) Private _printerData As New List(Of String) Private _templateNamen As New List(Of String) Private _templateData As New List(Of String) Private _bartenderPath As String Private Sub laadBartenderConfigs() Dim overigeConfigs As New List(Of String) For Each lijn As String In _algemeneConfigs If lijn.ToLower.StartsWith("printer") Then _printerNamen.Add(lijn.Split("|")(0).Replace("printer", "").Replace("PRINTER", "").Trim) _printerData.Add(lijn.Split("|")(1).Trim) ElseIf lijn.ToLower.StartsWith("template") Then _templateNamen.Add(lijn.Split("|")(0).Replace("template", "").Replace("TEMPLATE", "").Trim) _templateData.Add(lijn.Split("|")(1).Trim) ElseIf lijn.ToLower.StartsWith("bartenderpath") Then _bartenderPath = lijn.Remove(0, 13).Trim Else overigeConfigs.Add(lijn) End If Next _algemeneConfigs = overigeConfigs If _printerNamen.Count <= 0 Or _printerData.Count <= 0 Then Throw New Exception("De configuratie van de bartender printer(s) is foutief of niet aanwezig, gelieve deze na te kijken.") ElseIf _templateData.Count <= 0 Or _templateNamen.Count <= 0 Then Throw New Exception("De configuratie van de bartender template(s) is foutief of niet aanwezig, gelieve deze na te kijken.") ElseIf _bartenderPath Is Nothing OrElse _bartenderPath.Equals("") Then Throw New Exception("BartenderPath is niet geconfigureerd.") End If End Sub Public ReadOnly Property printerNamen As List(Of String) Get Return New List(Of String)(_printerNamen) End Get End Property Public ReadOnly Property templateNamen As List(Of String) Get Return New List(Of String)(_templateNamen) End Get End Property Public Function geefPrinterData(printerNaam As String) As String For teller As Integer = 0 To _printerNamen.Count - 1 If printerNaam.Equals(_printerNamen(teller)) Then Return _printerData(teller) End If Next Throw New Exception("Ongeldige printernaam bij opvragen printerData") End Function Public Function geefTemplateData(templateNaam As String) As String For teller As Integer = 0 To _templateNamen.Count - 1 If templateNaam.Equals(_templateNamen(teller)) Then Return _templateData(teller) End If Next Throw New Exception("Ongeldige templatenaam bij opvragen templateData") End Function Public Property bartenderPathTextFile() As String Get Return _bartenderPath End Get Set(ByVal value As String) _bartenderPath = value End Set End Property #End Region #Region "printerbacklog locatie" Private _printerBacklogPath As String Private Sub laadPrinterBacklogPath() For teller As Integer = 0 To _algemeneConfigs.Count - 1 Dim lijn As String = _algemeneConfigs(teller) If lijn.ToLower.StartsWith("backlogpathprinter") Then _printerBacklogPath = lijn.Replace("backlogpathprinter", "").Replace("BACKLOGPATHPRINTER", "").Trim _algemeneConfigs.RemoveAt(teller) Exit For End If Next If _printerBacklogPath Is Nothing OrElse _printerBacklogPath.Equals("") Then Throw New Exception("BackLogPathPrinter is niet geconfigureerd.") End If End Sub Public Property printerBacklogPath() As String Get Return _printerBacklogPath End Get Set(ByVal value As String) _printerBacklogPath = value End Set End Property #End Region #Region "help PDF locatie" Private _helpPDFPath As String Private Sub laadHelpPDFPath() For teller As Integer = 0 To _algemeneConfigs.Count - 1 Dim lijn As String = _algemeneConfigs(teller) If lijn.ToLower.StartsWith("helppdfpath") Then _helpPDFPath = lijn.Replace("helppdfpath", "").Replace("HELPPDFPATH", "").Trim _algemeneConfigs.RemoveAt(teller) Exit For End If Next If _helpPDFPath Is Nothing OrElse _helpPDFPath.Equals("") Then Throw New Exception("HelpPDFPath is niet geconfigureerd.") End If End Sub Public Property helpPDFPath() As String Get Return _helpPDFPath End Get Set(ByVal value As String) _helpPDFPath = value End Set End Property #End Region #Region "onderdelen kleuren" Private _onderdelenKleuren(0, 0) As String Private Sub laadOnderdelenKleuren() Dim overigeConfigs As New List(Of String) Dim listOnderdelenKleuren As New List(Of String()) For Each lijn As String In _algemeneConfigs If lijn.ToLower.StartsWith("onderdelenkleuren") Then Dim tempString(1) As String tempString(0) = (lijn.Split("|")(0).Replace("onderdelenkleuren", "").Replace("ONDERDELENKLEUREN", "").Trim) tempString(1) = (lijn.Split("|")(1).Trim) listOnderdelenKleuren.Add(tempString) Else overigeConfigs.Add(lijn) End If Next If listOnderdelenKleuren.Count <= 0 Then Throw New Exception("Onderdelen en kleuren zijn niet of foutief geconfigureerd, gelieve dit na te kijken") End If Dim onderdelenKleuren(listOnderdelenKleuren.Count - 1, 1) As String Dim teller As Integer = 0 For Each onderdeelKleur() As String In listOnderdelenKleuren onderdelenKleuren(teller, 0) = onderdeelKleur(0) onderdelenKleuren(teller, 1) = onderdeelKleur(1) teller += 1 Next _algemeneConfigs = overigeConfigs _onderdelenKleuren = onderdelenKleuren End Sub Public Function geefKleurOnderdeel(onderdeel As String) As Color If Onderdelen.Contains(onderdeel, StringComparer.OrdinalIgnoreCase) Then For teller As Integer = 0 To _onderdelenKleuren.GetLength(0) - 1 If Not String.IsNullOrEmpty(_onderdelenKleuren(teller, 1)) And _onderdelenKleuren(teller, 0).ToLower.Equals(onderdeel.ToLower) Then Try Return ColorTranslator.FromHtml(_onderdelenKleuren(teller, 1)) Catch ex As Exception Throw New Exception("De hexadecimale waarde voor de status: " + onderdeel + " is foutief") End Try End If Next Return Color.White Else ' Throw New Exception("Ongeldig onderdeel gekozen") Return ColorTranslator.FromHtml("#bada55") End If End Function #End Region #Region "verwerken of niet" Public Function geefVerwerkStatus() As Boolean Return My.Settings.VerwerkStatus End Function #End Region #Region "Logs schrijven of niet" public Function GeefLogOpslaanStatus() As Boolean Return My.Settings.LogOpslaanStatus End Function #End Region Public Sub opslaanAlgemeneConfigs() slaConfigsOp() End Sub #End Region #Region "specials configs" #Region "path naar ardis special" Private _ardisSpecialPath As String Private Sub laadArdisSpecialPath() For teller As Integer = 0 To _specialsConfigs.Count - 1 Dim lijn As String = _specialsConfigs(teller) If lijn.ToLower.StartsWith("ardisspecialpath") Then _ardisSpecialPath = lijn.Remove(0, 16).Trim _specialsConfigs.RemoveAt(teller) Exit For End If Next If _ardisSpecialPath Is Nothing OrElse _ardisSpecialPath.Equals("") Then Throw New Exception("ArdisSpecialPath is niet geconfigureerd.") End If End Sub Public Function geefPathArdisSpecialFolder() As String Return _ardisSpecialPath & "\" End Function #End Region #Region "progs left 1 stemas" Private _stemasProgsLeft1(0, 0) As String Private Sub laadStemasProgsLeft1Stemas() Dim overigeConfigs As New List(Of String) Dim listLettersMateriaalEnProgLeft1 As New List(Of String()) For Each lijn As String In _specialsConfigs If lijn.ToLower.StartsWith("stemasprogsleft1") Then Dim tempString(1) As String tempString(0) = (lijn.Split("|")(0).Replace("stemasprogsleft1", "").Replace("STEMASPROGSLEFT1", "").Trim) tempString(1) = (lijn.Split("|")(1).Trim) listLettersMateriaalEnProgLeft1.Add(tempString) Else overigeConfigs.Add(lijn) End If Next If listLettersMateriaalEnProgLeft1.Count <= 0 Then Throw New Exception("Stemas progs left 1 is niet of foutief geconfigureerd, gelieve dit na te kijken") End If Dim lettersMateriaalEnProgLeft1(listLettersMateriaalEnProgLeft1.Count - 1, 1) As String Dim teller As Integer = 0 For Each lettersProgs() As String In listLettersMateriaalEnProgLeft1 lettersMateriaalEnProgLeft1(teller, 0) = lettersProgs(0) lettersMateriaalEnProgLeft1(teller, 1) = lettersProgs(1) teller += 1 Next _specialsConfigs = overigeConfigs _stemasProgsLeft1 = lettersMateriaalEnProgLeft1 End Sub Function geefProgLeft1Stemas(letterMateriaal As String) As String If letterMateriaal.ToLower.Equals("m") Or letterMateriaal.ToLower.Equals("f") Then 'bestaat de letter (melamine/fineer) For teller As Integer = 0 To _stemasProgsLeft1.GetLength(0) - 1 If Not String.IsNullOrEmpty(_stemasProgsLeft1(teller, 1)) And _stemasProgsLeft1(teller, 0).ToLower.Equals(letterMateriaal.ToLower) Then Return _stemasProgsLeft1(teller, 1) End If Next Throw New Exception("Geen Stemas prog left 1 gevonden voor letter materiaal: " & letterMateriaal) Else Throw New Exception("Ongeldige letter materiaal voor opvragen Stemas prog left 1, letter materiaal: " & letterMateriaal) End If End Function #End Region #Region "progs right 1 stemas" Private _stemasProgsRight1(0, 0) As String Private Sub laadStemasProgsRight1Stemas() Dim overigeConfigs As New List(Of String) Dim listLettersMateriaalEnProgRight1 As New List(Of String()) For Each lijn As String In _specialsConfigs If lijn.ToLower.StartsWith("stemasprogsright1") Then Dim tempString(1) As String tempString(0) = (lijn.Split("|")(0).Replace("stemasprogsright1", "").Replace("STEMASPROGSRIGHT1", "").Trim) tempString(1) = (lijn.Split("|")(1).Trim) listLettersMateriaalEnProgRight1.Add(tempString) Else overigeConfigs.Add(lijn) End If Next If listLettersMateriaalEnProgRight1.Count <= 0 Then Throw New Exception("Stemas progs right 1 is niet of foutief geconfigureerd, gelieve dit na te kijken") End If Dim lettersMateriaalEnProgRight1(listLettersMateriaalEnProgRight1.Count - 1, 1) As String Dim teller As Integer = 0 For Each lettersProgs() As String In listLettersMateriaalEnProgRight1 lettersMateriaalEnProgRight1(teller, 0) = lettersProgs(0) lettersMateriaalEnProgRight1(teller, 1) = lettersProgs(1) teller += 1 Next _specialsConfigs = overigeConfigs _stemasProgsRight1 = lettersMateriaalEnProgRight1 End Sub Function geefProgRight1Stemas(letterMateriaal As String) As String If letterMateriaal.ToLower.Equals("m") Or letterMateriaal.ToLower.Equals("f") Then 'bestaat de letter (melamine/fineer) For teller As Integer = 0 To _stemasProgsRight1.GetLength(0) - 1 If Not String.IsNullOrEmpty(_stemasProgsRight1(teller, 1)) And _stemasProgsRight1(teller, 0).ToLower.Equals(letterMateriaal.ToLower) Then Return _stemasProgsRight1(teller, 1) End If Next Throw New Exception("Geen Stemas prog right 1 gevonden voor letter materiaal: " & letterMateriaal) Else Throw New Exception("Ongeldige letter materiaal voor opvragen Stemas prog right 1, letter materiaal: " & letterMateriaal) End If End Function #End Region #Region "diepte, lengte en code stemas b" Private _dieptes As New List(Of String) Private _nettoLengte As New List(Of String) Private _codeStemasB As New List(Of String) Private Sub laadWaardenDieptesEnLengtenEnCodeStemasB() Dim overigeConfigs As New List(Of String) For Each lijn As String In _specialsConfigs If lijn.ToLower.StartsWith("dieptelengtecodestemb") Then _dieptes.Add(lijn.Split("|")(0).Replace("dieptelengtecodestemb", "").Replace("DIEPTELENGTECODESTEMB", "").Trim) _nettoLengte.Add(lijn.Split("|")(1).Trim) _codeStemasB.Add(lijn.Split("|")(2).Trim) Else overigeConfigs.Add(lijn) End If Next _specialsConfigs = overigeConfigs If _dieptes.Count <= 0 Then Throw New Exception("De waarde diepte voor specials is foutief of niet aanwezig, gelieve deze na te kijken.") ElseIf _nettoLengte.Count <= 0 Then Throw New Exception("De waarde netto lengte voor specials is foutief of niet aanwezig, gelieve deze na te kijken.") ElseIf _codeStemasB.Count <= 0 Then Throw New Exception("De waarde code stemas B voor specials is foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property dieptes As List(Of String) Get Return New List(Of String)(_dieptes) End Get End Property Public Function geefNettoLengte(diepte As String) As String For teller As Integer = 0 To _dieptes.Count - 1 If diepte.Equals(_dieptes(teller)) Then Return _nettoLengte(teller) End If Next Throw New Exception("Ongeldige diepte bij opvragen NettoLengte") End Function Public Function geefCodeStemasB(nettoLengte As String) As String For teller As Integer = 0 To _nettoLengte.Count - 1 If nettoLengte.Equals(_nettoLengte(teller)) Then Return _codeStemasB(teller) End If Next Throw New Exception("Ongeldige nettoLengte bij opvragen CodeStemasB") End Function #End Region #Region "kleuren, codes en materialen kantenband" Private _kleurenKantenband As New List(Of String) Private _codesKantenband As New List(Of String) Private _materialenKantenband As New List(Of String) Private Sub laadKantenbandNieuweKleuren() Dim overigeConfigs As New List(Of String) For Each lijn As String In _specialsConfigs If lijn.ToLower.StartsWith("kantenbandkleurenencodes") Then _kleurenKantenband.Add(lijn.Split("|")(0).Replace("kantenbandkleurenencodes ", "").Replace("KANTENBANDKLEURENENCODES", "").Trim) _codesKantenband.Add(lijn.Split("|")(1).Trim) _materialenKantenband.Add(lijn.Split("|")(2).Trim) Else overigeConfigs.Add(lijn) End If Next _specialsConfigs = overigeConfigs If _kleurenKantenband.Count <= 0 Or _codesKantenband.Count <= 0 Or _materialenKantenband.Count <= 0 Then Throw New Exception("De configuratie van de kleuren, codes en materialen voor kantenband is foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property kantenbandKleurenLetters As List(Of String) Get Return New List(Of String)(_kleurenKantenband) End Get End Property Public Function geefKantenbandCodeBijKleur(kleur As String) As String For teller As Integer = 0 To _kleurenKantenband.Count - 1 If kleur.Equals(_kleurenKantenband(teller)) Then Return _codesKantenband(teller) End If Next Throw New Exception("Ongeldige kleur bij opvragen kantenband code") End Function Public Function geefKantenbandMateriaalBijKleur(kleur As String) As String For teller As Integer = 0 To _kleurenKantenband.Count - 1 If kleur.Equals(_kleurenKantenband(teller)) Then Return _materialenKantenband(teller) End If Next Throw New Exception("Ongeldige kleur bij opvragen kantenband materiaal") End Function #End Region #End Region #Region "waarden sifonlade" #Region "path om uitgelezen bestand naar te verplaatsen" Private _sifonLadeVerplaatsFolderPath As String Private Sub laadsifonWaardenVerplaatsFolderPath() For teller As Integer = 0 To _sifonLadeWaarden.Count - 1 Dim lijn As String = _sifonLadeWaarden(teller) If lijn.ToLower.StartsWith("verplaatspath") Then _sifonLadeVerplaatsFolderPath = lijn.Remove(0, 13).Trim _sifonLadeWaarden.RemoveAt(teller) Exit For End If Next If _sifonLadeVerplaatsFolderPath Is Nothing OrElse _sifonLadeVerplaatsFolderPath.Equals("") Then Throw New Exception("SifonLadeVerplaatsFolderPath is niet geconfigureerd in het SifonLadeWaarden bestand.") End If End Sub Public Function sifonLadeGeefVerplaatsFolderPath() As String Return _sifonLadeVerplaatsFolderPath & "\" End Function #End Region #Region "drempelwaarde rug" Private _sifonLadeMinimumLengteRug As String Private Sub laadSifonWaardenMinimumLengteRug() For teller As Integer = 0 To _sifonLadeWaarden.Count - 1 Dim lijn As String = _sifonLadeWaarden(teller) If lijn.ToLower.StartsWith("minlengterug") Then _sifonLadeMinimumLengteRug = lijn.Remove(0, 12).Trim _sifonLadeWaarden.RemoveAt(teller) Exit For End If Next If _sifonLadeMinimumLengteRug Is Nothing OrElse _sifonLadeMinimumLengteRug.Equals("") Then Throw New Exception("SifonLadeMinimumLengteRug is niet geconfigureerd.") End If End Sub Public Function SifonLadeGeefMinimumLengteRug() As Integer Return _sifonLadeMinimumLengteRug End Function #End Region #Region "minimum waarde positie" Private _sifonLadeMinWaardePositie As String Private Sub laadSifonWaardenMinWaardePositie() For teller As Integer = 0 To _sifonLadeWaarden.Count - 1 Dim lijn As String = _sifonLadeWaarden(teller) If lijn.ToLower.StartsWith("minpositie") Then _sifonLadeMinWaardePositie = lijn.Remove(0, 10).Trim _sifonLadeWaarden.RemoveAt(teller) Exit For End If Next If _sifonLadeMinWaardePositie Is Nothing OrElse _sifonLadeMinWaardePositie.Equals("") Then Throw New Exception("SifonLadeMinWaardePositie is niet geconfigureerd.") End If End Sub Public Function sifonLadeGeefMinWaardePositie() Return _sifonLadeMinWaardePositie End Function #End Region #Region "minimum waarde rest positie" Private _sifonLadeMinWaardeRestPositie As String Private Sub laadSifonWaardenMinWaardeRestPositie() For teller As Integer = 0 To _sifonLadeWaarden.Count - 1 Dim lijn As String = _sifonLadeWaarden(teller) If lijn.ToLower.StartsWith("minrestpositie") Then _sifonLadeMinWaardeRestPositie = lijn.Remove(0, 14).Trim _sifonLadeWaarden.RemoveAt(teller) Exit For End If Next If _sifonLadeMinWaardeRestPositie Is Nothing OrElse _sifonLadeMinWaardeRestPositie.Equals("") Then Throw New Exception("SifonLadeMinWaardeRestPositie is niet geconfigureerd.") End If End Sub Public Function sifonLadeGeefMinWaardeRestPositie() Return _sifonLadeMinWaardeRestPositie End Function #End Region #Region "breedte uitsparing" Private _sifonLadeBreedteUitsparing As New List(Of String) Private Sub laadSifonWaardenBreedteUitsparing() Dim overigeWaarden As New List(Of String) For Each lijn As String In _sifonLadeWaarden If lijn.ToLower.StartsWith("buit") Then _sifonLadeBreedteUitsparing.Add(lijn.Replace("buit", "").Replace("BUIT", "").Trim) Else overigeWaarden.Add(lijn) End If Next _sifonLadeWaarden = overigeWaarden If _sifonLadeBreedteUitsparing.Count <= 0 Then Throw New Exception("De waarden breedteUitsparing van de sifonLade zijn foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property sifonLadeBreedteUitsparing Get Return New List(Of String)(_sifonLadeBreedteUitsparing) End Get End Property #End Region #Region "kleur lade" Private _sifonLadeKleurLade As New List(Of String) Private Sub laadSifonWaardenKleurLaden() Dim overigeWaarden As New List(Of String) For Each lijn As String In _sifonLadeWaarden If lijn.ToLower.StartsWith("klade") Then _sifonLadeKleurLade.Add(lijn.Replace("klade", "").Replace("KLADE", "").Trim) Else overigeWaarden.Add(lijn) End If Next _sifonLadeWaarden = overigeWaarden If _sifonLadeKleurLade.Count <= 0 Then Throw New Exception("De waarden kleurLade van de sifonLade zijn foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property sifonLadeKleurLade As List(Of String) Get Return New List(Of String)(_sifonLadeKleurLade) End Get End Property #End Region #Region "automilling programma's voor zijkanten sifonladen met verlaagde ruggen" Private _sifonLadeAutoMillingProgrammasGegenereerdeZijkantenVerlaagdeRug As New List(Of String(,)) Private Sub laadsifonWaardenGeefAutoMillingProgrammasGegenereerdeZijkantenVerlaagdeRug() Dim overigeWaarden As New List(Of String) Dim huidigeLetter As String = "" For teller As Integer = 0 To _sifonLadeWaarden.Count - 1 Dim lijn As String = _sifonLadeWaarden(teller) If lijn.ToLower.StartsWith("automillingprogrammazijkantverlaagderug") Then Dim letter As String = lijn.Split("|")(0).Replace("automillingprogrammazijkantverlaagderug", "").Replace("AUTOMILLINGPROGRAMMAZIJKANTVERLAAGDERUG", "").Trim Dim programma As String = lijn.Split("|")(1).Trim Dim letterEnProgramma(0, 1) As String letterEnProgramma(0, 0) = letter.Trim letterEnProgramma(0, 1) = programma.Trim _sifonLadeAutoMillingProgrammasGegenereerdeZijkantenVerlaagdeRug.Add(letterEnProgramma) Else overigeWaarden.Add(lijn) End If Next _sifonLadeWaarden = overigeWaarden If _sifonLadeAutoMillingProgrammasGegenereerdeZijkantenVerlaagdeRug Is Nothing OrElse _sifonLadeAutoMillingProgrammasGegenereerdeZijkantenVerlaagdeRug.Count <= 0 Then Throw New Exception("SifonLadeAutoMillingProgrammasGegenereerdeZijkantenVerlaagdeRug zijn niet geconfigureerd in het SifonLadeWaarden bestand.") End If End Sub Public Function sifonLadeGeefAutoMillingProgrammasGegenereerdeZijkantenVerlaagdeRug(letterZijkantHoogte As String) As List(Of String) Dim programmas As New List(Of String) For Each letterZijkantHoogteEnProgramma As String(,) In _sifonLadeAutoMillingProgrammasGegenereerdeZijkantenVerlaagdeRug If letterZijkantHoogteEnProgramma(0, 0).Equals(letterZijkantHoogte) Then programmas.Add(letterZijkantHoogteEnProgramma(0, 1)) End If Next If programmas.Count <= 0 Then Throw New Exception("De letterZijkantHoogte gebruikt om AutoMillingProgrammasGegenereerdeZijkantenVerlaagdeRug op te vragen heeft geen resultaat opgeleverd, letter: " & letterZijkantHoogte) End If Return programmas End Function #End Region #Region "opvragen onderdeel naam voor in cache van gegenereerde onderdelen" Public Function specialLadeGeefOnderdeelNaamGegenereerdeZijkant(onderdeelLetter As String) As String Select Case onderdeelLetter Case "L", "C", "E", "A" Return "Zijkant LiS" Case "R", "D", "F", "B" Return "Zijkant ReS" Case Else Throw New Exception($"Onbestaande letter: '{onderdeelLetter}' voor onderdeel van gegenereerde zijkant") End Select End Function Public Function sifonLadeGeefOnderdeelNaamGegenereerdeRug() As String Return "Rug" End Function #End Region #End Region #Region "waarden spoelbak lade" #Region "path om uitgelezen bestand naar te verplaatsen" Private _spoelbakLadeVerplaatsFolderPath As String Private Sub laadSpoelbakWaardenVerplaatsFolderPath() For teller As Integer = 0 To _spoelbakLadeWaarden.Count - 1 Dim lijn As String = _spoelbakLadeWaarden(teller) If lijn.ToLower.StartsWith("verplaatspath") Then _spoelbakLadeVerplaatsFolderPath = lijn.Remove(0, 13).Trim _spoelbakLadeWaarden.RemoveAt(teller) Exit For End If Next If _spoelbakLadeVerplaatsFolderPath Is Nothing OrElse _spoelbakLadeVerplaatsFolderPath.Equals("") Then Throw New Exception("SpoelbakLadeVerplaatsFolderPath is niet geconfigureerd.") End If End Sub Public Function spoelbakLadeGeefVerplaatsFolderPath() As String Return _spoelbakLadeVerplaatsFolderPath End Function #End Region #Region "minimum waarde nuttige ruimte zijvakken" Private _spoelbakLadeMinWaardeNuttigeRuimteZijvakken As String Private Sub laadSpoelbakWaardenMinWaardeNuttigeRuimteZijvakken() For teller As Integer = 0 To _spoelbakLadeWaarden.Count - 1 Dim lijn As String = _spoelbakLadeWaarden(teller) If lijn.ToLower.StartsWith("minnuttigeruimtezijvakken") Then _spoelbakLadeMinWaardeNuttigeRuimteZijvakken = lijn.Remove(0, 25).Trim _spoelbakLadeWaarden.RemoveAt(teller) Exit For End If Next If _spoelbakLadeMinWaardeNuttigeRuimteZijvakken Is Nothing OrElse _spoelbakLadeMinWaardeNuttigeRuimteZijvakken.Equals("") Then Throw New Exception("SpoelbakLadeMinWaardeNuttigeRuimteZijvakken is niet geconfigureerd.") End If End Sub Public Function spoelbakLadeGeefMinWaardeNuttigeRuimteZijvakken() As String Return _spoelbakLadeMinWaardeNuttigeRuimteZijvakken End Function #End Region #Region "vaste waarde rug berekening" Private _spoelbakLadeVasteWaardeRugBerekening As Integer Private Sub laadSpoelbakVasteWaardeRugBerekening() _spoelbakLadeVasteWaardeRugBerekening = 0 For teller As Integer = 0 To _spoelbakLadeWaarden.Count - 1 Dim lijn As String = _spoelbakLadeWaarden(teller) If lijn.ToLower.StartsWith("vastewaarderugberekening") Then Try _spoelbakLadeVasteWaardeRugBerekening = CInt(lijn.Remove(0, 24).Trim) Catch ex As Exception Throw New Exception("Onjuiste vaste waarde voor de rug van de spoelbak te berekenen") End Try _spoelbakLadeWaarden.RemoveAt(teller) Exit For End If Next If _spoelbakLadeVasteWaardeRugBerekening = 0 Then Throw New Exception("De vaste waarde voor de rug van de spoelbak te berekenen is niet gedefinieerd, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property spoelbakLadeVasteWaardeRugBerekening As Integer Get Return _spoelbakLadeVasteWaardeRugBerekening End Get End Property #End Region #Region "breedte uitsparing" Private _spoelbakLadeBreedteUitsparing As New List(Of String) Private Sub laadSpoelbakWaardenBreedteUitsparing() Dim overigeWaarden As New List(Of String) For Each lijn As String In _spoelbakLadeWaarden If lijn.ToLower.StartsWith("buit") Then _spoelbakLadeBreedteUitsparing.Add(lijn.Replace("buit", "").Replace("BUIT", "").Trim) Else overigeWaarden.Add(lijn) End If Next _spoelbakLadeWaarden = overigeWaarden If _spoelbakLadeBreedteUitsparing.Count <= 0 Then Throw New Exception("De waarden breedteUitsparing van de spoelbak lade zijn foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property spoelbakLadeBreedteUitsparing Get Return New List(Of String)(_spoelbakLadeBreedteUitsparing) End Get End Property #End Region #Region "kleur lade" Private _spoelbakLadeKleurLade As New List(Of String) Private Sub laadSpoelbakWaardenKleurLaden() Dim overigeWaarden As New List(Of String) For Each lijn As String In _spoelbakLadeWaarden If lijn.ToLower.StartsWith("klade") Then _spoelbakLadeKleurLade.Add(lijn.Replace("klade", "").Replace("KLADE", "").Trim) Else overigeWaarden.Add(lijn) End If Next _spoelbakLadeWaarden = overigeWaarden If _spoelbakLadeKleurLade.Count <= 0 Then Throw New Exception("De waarden kleurLade van de spoelbak lade zijn foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property spoelbakLadeKleurLade As List(Of String) Get Return New List(Of String)(_spoelbakLadeKleurLade) End Get End Property #End Region #Region "lengten en code stemas b" Private _spoelbakLadeNominaleLengte As New List(Of String) Private _spoelbakLadeCodeStemasB As New List(Of String) Private Sub laadSpoelbakWaardenLengteEnCodeStemasB() Dim overigeConfigs As New List(Of String) For Each lijn As String In _spoelbakLadeWaarden If lijn.ToLower.StartsWith("lengtecodestemb") Then _spoelbakLadeNominaleLengte.Add(lijn.Split("|")(0).Replace("lengtecodestemb", "").Replace("LENGTECODESTEMB", "").Trim) _spoelbakLadeCodeStemasB.Add(lijn.Split("|")(1).Trim) Else overigeConfigs.Add(lijn) End If Next _spoelbakLadeWaarden = overigeConfigs If _spoelbakLadeNominaleLengte.Count <= 0 Then Throw New Exception("De waarde nominale lengte van de spoelbak lade is foutief of niet aanwezig, gelieve deze na te kijken.") ElseIf _spoelbakLadeCodeStemasB.Count <= 0 Then Throw New Exception("De waarde code stemas B van de spoelbak lade is foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property spoelbakLadeNettoLengte Get Return New List(Of String)(_spoelbakLadeNominaleLengte) End Get End Property Public Function spoelbakLadeGeefCodeStemasB(nominaleLengte As String) As String For teller As Integer = 0 To _spoelbakLadeNominaleLengte.Count - 1 If nominaleLengte.Equals(_spoelbakLadeNominaleLengte(teller)) Then Return _spoelbakLadeCodeStemasB(teller) End If Next Throw New Exception("Ongeldige spoelbakLadeNettoLengte bij opvragen CodeStemasB") End Function #End Region #End Region #Region "waarden kleur vervangen" #Region "nieuwe kleuren" Private _nieuweKleurenLetters As New List(Of String) Private _nieuweKleurenData As New List(Of String) Private Sub laadNieuweKleuren() Dim overigeConfigs As New List(Of String) For Each lijn As String In _kleurVervangenWaarden If lijn.ToLower.StartsWith("nieuwekleur") Then _nieuweKleurenLetters.Add(lijn.Split("|")(0).Replace("nieuwekleur", "").Replace("NIEUWEKLEUR", "").Trim) _nieuweKleurenData.Add(lijn.Split("|")(1).Trim) Else overigeConfigs.Add(lijn) End If Next _kleurVervangenWaarden = overigeConfigs If _nieuweKleurenLetters.Count <= 0 Or _nieuweKleurenData.Count <= 0 Then Throw New Exception("De configuratie van de nieuwe kleuren is foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property nieuweKleurenLetters As List(Of String) Get Return New List(Of String)(_nieuweKleurenLetters) End Get End Property Public Function geefNieuweKleurenData(kleur As String) As String For teller As Integer = 0 To _nieuweKleurenLetters.Count - 1 If kleur.Equals(_nieuweKleurenLetters(teller)) Then Return _nieuweKleurenData(teller) End If Next Throw New Exception("Ongeldige kleur bij opvragen nieuwe kleur data") End Function #End Region #Region "afkanter nieuwe kleur" Private _specialLadenOnderdelenNieuweKleurKantenbandData As New List(Of KantenbandData) Private Sub LaadSpecialLadenOnderdelenNieuweKleurKantenbandData() _specialLadenOnderdelenNieuweKleurKantenbandData = AfkanterNieuweKleurMapperXML.getDataFromFile If _specialLadenOnderdelenNieuweKleurKantenbandData.Count <= 0 Then Throw New Exception("De configuratie van de afkanter nieuwe kleur is foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public Function geefSpecialLadenOnderdelenNieuweKleurKantenbandData(mogelijkheid As SpecialKantenbandNieuweKleurMogelijkheden) Select Case mogelijkheid Case SpecialKantenbandNieuweKleurMogelijkheden.RUGFINEER For Each Data As KantenbandData In _specialLadenOnderdelenNieuweKleurKantenbandData If Data.ID.ToUpper.Equals("RUG FINEER") Then Return Data End If Next Case SpecialKantenbandNieuweKleurMogelijkheden.RUGMELAMINE For Each Data As KantenbandData In _specialLadenOnderdelenNieuweKleurKantenbandData If Data.ID.ToUpper.Equals("RUG MELAMINE") Then Return Data End If Next Case SpecialKantenbandNieuweKleurMogelijkheden.ZIJKANTFINEER For Each Data As KantenbandData In _specialLadenOnderdelenNieuweKleurKantenbandData If Data.ID.ToUpper.Equals("ZIJKANT FINEER") Then Return Data End If Next Case SpecialKantenbandNieuweKleurMogelijkheden.ZIJKANTMELAMINE For Each Data As KantenbandData In _specialLadenOnderdelenNieuweKleurKantenbandData If Data.ID.ToUpper.Equals("ZIJKANT MELAMINE") Then Return Data End If Next End Select Throw New Exception("Het type is niet teruggevonden in de ID van het XML bestand") End Function Public Enum SpecialKantenbandNieuweKleurMogelijkheden RUGFINEER = 0 RUGMELAMINE = 1 ZIJKANTFINEER = 2 ZIJKANTMELAMINE = 3 End Enum #End Region #End Region #Region "waarden voorraad" #Region "voorraad diepte, lengte en code stemas b" Private _voorraadDieptes As New List(Of String) Private _voorraadNettoLengtes As New List(Of String) Private _voorraadCodesStemasB As New List(Of String) Private Sub laadDieptesNettoLengteEnCodeStemaBVoorraad() Dim overigeConfigs As New List(Of String) For Each lijn As String In _voorraadWaarden If lijn.ToLower.StartsWith("dieptesvoorraad") Then _voorraadDieptes.Add(lijn.Split("|")(0).Replace("dieptesvoorraad", "").Replace("DIEPTESVOORRAAD", "").Trim) _voorraadNettoLengtes.Add(lijn.Split("|")(1).Trim) _voorraadCodesStemasB.Add(lijn.Split("|")(2).Trim) Else overigeConfigs.Add(lijn) End If Next _voorraadWaarden = overigeConfigs If _voorraadDieptes.Count <= 0 Or _voorraadDieptes.Count <= 0 Then Throw New Exception("De configuratie van de dieptesVoorraad is foutief of niet aanwezig, gelieve deze na te kijken.") ElseIf _voorraadNettoLengtes.Count <= 0 Then Throw New Exception("De configuratie van de dieptesVoorraad nettolengtes is foutief of niet aanwezig, gelieve deze na te kijken.") ElseIf _voorraadCodesStemasB.Count <= 0 Then Throw New Exception("De configuratie van de dieptesVoorraad code stemas b is foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property voorraadDieptes As List(Of String) Get Return New List(Of String)(_voorraadDieptes) End Get End Property Public Function voorraadGeefNettoLengte(diepte As String) As String For teller As Integer = 0 To _voorraadDieptes.Count - 1 If diepte.Equals(_voorraadDieptes(teller)) Then Return _voorraadNettoLengtes(teller) End If Next Throw New Exception("Ongeldige diepte bij opvragen voorraadNettoLengte") End Function Public Function voorraadGeefCodeStemasB(nettoLengte As String) As String For teller As Integer = 0 To _voorraadNettoLengtes.Count - 1 If nettoLengte.Equals(_voorraadNettoLengtes(teller)) Then Return _voorraadCodesStemasB(teller) End If Next Throw New Exception("Ongeldige nettoLengte bij opvragen voorraadCodeStemasB") End Function #End Region #Region "hoogte letters voorraad" Private _voorraadHoogteLetters As New List(Of String) Private _voorraadHoogteData As New List(Of String) Private Sub laadHoogteLettersVoorraad() Dim overigeConfigs As New List(Of String) For Each lijn As String In _voorraadWaarden If lijn.ToLower.StartsWith("hoogtelettersvoorraad") Then _voorraadHoogteLetters.Add(lijn.Split("|")(0).Replace("hoogtelettersvoorraad", "").Replace("HOOGTELETTERSVOORRAAD", "").Trim) _voorraadHoogteData.Add(lijn.Split("|")(1).Trim) Else overigeConfigs.Add(lijn) End If Next _voorraadWaarden = overigeConfigs If _voorraadHoogteLetters.Count <= 0 Or _voorraadHoogteData.Count <= 0 Then Throw New Exception("De configuratie van de hoogteLettersVoorraad is foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property voorraadHoogteLetters As List(Of String) Get Return New List(Of String)(_voorraadHoogteLetters) End Get End Property Public Function geefHoogteDataVoorraad(hoogteLetter As String) As String For teller As Integer = 0 To _voorraadHoogteLetters.Count - 1 If hoogteLetter.Equals(_voorraadHoogteLetters(teller)) Then Return _voorraadHoogteData(teller) End If Next Throw New Exception("Ongeldige hoogteLetter bij opvragen hoogteData voorraad") End Function #End Region #Region "kleuren met plaatmateriaal voorraad" Private _voorraadKleuren As New List(Of String) Private _voorraadPlaatMateriaal As New List(Of String) Private Sub laadKleurenMetPlaatmateriaalVoorraad() Dim overigeConfigs As New List(Of String) For Each lijn As String In _voorraadWaarden If lijn.ToLower.StartsWith("kleurenmetplaatmateriaalvoorraad") Then _voorraadKleuren.Add(lijn.Split("|")(0).Replace("kleurenmetplaatmateriaalvoorraad", "").Replace("KLEURENMETPLAATMATERIAALVOORRAAD", "").Trim) _voorraadPlaatMateriaal.Add(lijn.Split("|")(1).Trim) Else overigeConfigs.Add(lijn) End If Next _voorraadWaarden = overigeConfigs If _voorraadKleuren.Count <= 0 Or _voorraadPlaatMateriaal.Count <= 0 Then Throw New Exception("De configuratie van de kleurenmetplaatmateriaalvoorraad is foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property voorraadKleuren As List(Of String) Get Return New List(Of String)(_voorraadKleuren) End Get End Property Public Function voorraadGeefPlaatmateriaal(kleur As String) As String For teller As Integer = 0 To _voorraadKleuren.Count - 1 If kleur.Equals(_voorraadKleuren(teller)) Then Return _voorraadPlaatMateriaal(teller) End If Next Throw New Exception("Ongeldige kleur bij opvragen plaatMateriaal voorraad") End Function #End Region #End Region #Region "waarden hoogte verschil" #Region "nieuwe hoogte letters en data" Private _nieuweHoogteLetters As New List(Of String) Private _nieuweHoogteData As New List(Of String) Private Sub laadHoogteLettersHoogteVerschil() Dim overigeConfigs As New List(Of String) For Each lijn As String In _hoogteVerschilWaarden If lijn.ToLower.StartsWith("nieuwehoogte") Then _nieuweHoogteLetters.Add(lijn.Split("|")(0).Replace("nieuwehoogte", "").Replace("NIEUWEHOOGTE", "").Trim) _nieuweHoogteData.Add(lijn.Split("|")(1).Trim) Else overigeConfigs.Add(lijn) End If Next _hoogteVerschilWaarden = overigeConfigs If _nieuweHoogteLetters.Count <= 0 Or _nieuweHoogteData.Count <= 0 Then Throw New Exception("De configuratie van de nieuwe hoogtes is foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property hoogteVerschilNieuweHoogteLetters As List(Of String) Get Return New List(Of String)(_nieuweHoogteLetters) End Get End Property Public Function geefNieuweHoogtesData(hoogteLetter As String) As String For teller As Integer = 0 To _nieuweHoogteLetters.Count - 1 If hoogteLetter.Equals(_nieuweHoogteLetters(teller)) Then Return _nieuweHoogteData(teller) End If Next Throw New Exception("Ongeldige hoogteLetter bij opvragen nieuwe hoogte data") End Function #End Region #Region "automilling programma letters" Private _automillingProgrammaLetters As New List(Of String) Private Sub laadAutomillingProgrammaLettersHoogteVerschil() Dim overigeConfigs As New List(Of String) For Each lijn As String In _hoogteVerschilWaarden If lijn.ToLower.StartsWith("automillingprogrammaletter") Then _automillingProgrammaLetters.Add(lijn.Replace("automillingprogrammaletter", "").Replace("AUTOMILLINGPROGRAMMALETTER", "").Trim) Else overigeConfigs.Add(lijn) End If Next _hoogteVerschilWaarden = overigeConfigs If _automillingProgrammaLetters.Count <= 0 Or _automillingProgrammaLetters.Count <= 0 Then Throw New Exception("De configuratie van de automillingProgrammaLetters is foutief of niet aanwezig, gelieve deze na te kijken.") End If End Sub Public ReadOnly Property hoogteVerschilAutomillingProgrammaLetters As List(Of String) Get Return New List(Of String)(_automillingProgrammaLetters) End Get End Property #End Region #End Region End Module