Imports System.Data.Odbc Imports System.Data.SqlClient ' robin de bock 02/08/2017 Public Class FormSelectID 'de textbox focussen zodat men meteen kan beginnen typen Private Sub taorRework_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Application.DoEvents() 'de formcontroller al eens aanspreken om zo alles te initialiseren FormController.getInstance().registreerFormSelectId(Me) textBoxInput.Focus() If (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed) Then With System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion Me.Text &= " V" & .Major & "." & .Minor & "." & .Build & "." & .Revision & " - Robin De Bock" End With End If Try If Not Configs.geefVerwerkStatus Then textBoxInput.Text = "296762" 'textBoxInput.Text = "zcu25l61s33" End If Catch ex As Exception End Try End Sub 'applicatie afsluiten Private Sub FormGrid_FormClosing(sender As System.Object, e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing Application.Exit() End Sub 'als het form wordt geactiveerd en er is al een instantie van form grid aanwezig, betekent dit dat formgrid dit form heeft getoond Private Sub FormSelectID_VisibleChanged(sender As Object, e As System.EventArgs) Handles Me.VisibleChanged Try laadLogToolstripMenuStatussen() If FormController.getInstance.formSelectIDKanTerug Then btnTerug.Enabled = True End If Catch ex As Exception MessageBox.Show(ex.Message, "Er is een fout opgetreden...", MessageBoxButtons.OK, MessageBoxIcon.Error) Application.Exit() End Try 'de tekst in de textbox selecteren en de textbox focussen textBoxInput.Focus() textBoxInput.SelectAll() End Sub 'de button om te zoeken enablen als er tekst is getyped Private Sub textBoxInput_TextChanged(sender As System.Object, e As System.EventArgs) Handles textBoxInput.TextChanged If textBoxInput.Text.Equals("") Then btnZoekOp.Enabled = False Else btnZoekOp.Enabled = True End If End Sub 'de ingegeven waarde zal worden verwerkt Private Sub btnToonDetails_Click(sender As System.Object, e As System.EventArgs) Handles btnZoekOp.Click toonDetails() End Sub '"enter" die in de textbox wordt ingevoerd wordt vervangen door een tab, maar doet hetzelfde alsof er op de knop wordt gedrukt Private Sub textBoxInput_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles textBoxInput.KeyDown If e.KeyCode = Keys.Enter Then toonDetails() e.Handled = True 'SendKeys.Send("{TAB}") End If End Sub 'kijken welke radiobutton is geselecteerd en aan de hand daarvan de keuze meegeven aan de functie die het volgende form laad Private Sub toonDetails() Dim input = textBoxInput.Text.Trim Try If radioBarcode.Checked Then verwerkKeuze(Kolommen.barcode, input) ElseIf radioBatch.Checked Then verwerkKeuze(Kolommen.batch, input) ElseIf radioToelevering.Checked Then verwerkKeuze(Kolommen.toelevering, input) ElseIf radioKlantnaam.Checked Then verwerkKeuze(Kolommen.klantnaam, input) ElseIf radioDossiercode.Checked Then verwerkKeuze(Kolommen.dossierCode, input) End If laadLogToolstripMenuStatussen() Catch ex As InvalidCastException lblFoutmeldingOpzoeken.Text = "Gelieve de juiste waarden in te voeren" 'de tekst in de textbox selecteren en de textbox focussen textBoxInput.Focus() textBoxInput.SelectAll() Catch ex As Exception MessageBox.Show("De ingevoerde waarde is incorrect, probeer opnieuw aub." & vbNewLine & ex.Message, "Er is een fout opgetreden...", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub 'kijken of de ingegeven waarde wel bestaat, indien ja het volgende form laden met de juiste informatie Private Sub verwerkKeuze(ByVal tabel As Kolommen, ByVal input As String) lblFoutmeldingOpzoeken.Text = "" Try Dim gevondenCache As Boolean = False Dim gevondenArdis As Boolean = False 'Data table opvragen uit Caché. Dim dataTable = CacheMapper.GeefDataTable(tabel, input) If (dataTable IsNot Nothing) AndAlso (dataTable.rows.Count > 0) Then 'Er zijn rijen aanwezig. gevondenCache = True ElseIf tabel = Kolommen.barcode Then 'Todo ardis ook updaten en datatable laten retourneren 'Er zijn geen rijen aanwezig en het type is een barcode. 'Data table opvragen opvragen 'dataTable = ArdisMapper.GeefDataTable(input) 'If DirectCast(dataTable, SqlDataReader).HasRows Then ' gevondenArdis = True 'End If End If If gevondenCache Then 'formgrid laden met ODBC dataReader FormController.getInstance.laadFormGrid(Me, tabel, input, dataTable) ElseIf gevondenArdis Then FormController.getInstance.laadFormGrid(Me, Kolommen.barcodeArdis, input, dataTable) Else 'datareader bestaat niet lblFoutmeldingOpzoeken.Text = "Er zijn geen resultaten" 'tekst in textbox selecteren en focus zetten textBoxInput.SelectAll() textBoxInput.Focus() End If Catch ex As Exception MessageBox.Show(ex.Message, "Er is een fout opgetreden...", MessageBoxButtons.OK, MessageBoxIcon.Error) Application.Exit() End Try End Sub 'als er op de "terug" knop wordt gedrukt formgrid opnieuw tonen Private Sub btnTerug_Click(sender As System.Object, e As System.EventArgs) Handles btnTerug.Click FormController.getInstance.laadFormGrid(Me) End Sub 'als de selectie van een van de radiobuttons verandert, dan krijgt de geselecteerde radiobutton een andere kleur, terwijl de rest hun default color krijgen Private Sub radioBarcode_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles radioToelevering.CheckedChanged, radioKlantnaam.CheckedChanged, radioDossiercode.CheckedChanged, radioBatch.CheckedChanged, radioBarcode.CheckedChanged 'alle radiobuttons op default kleur zetten radioToelevering.BackColor = DefaultBackColor radioKlantnaam.BackColor = DefaultBackColor radioDossiercode.BackColor = DefaultBackColor radioBatch.BackColor = DefaultBackColor radioBarcode.BackColor = DefaultBackColor 'de radiobutton die werd geselecteerd casten en de kleur van aanpassen CType(sender, RadioButton).BackColor = Color.LightGreen 'de tekst in de textbox selecteren en de textbox focussen textBoxInput.SelectAll() textBoxInput.Focus() End Sub 'als de gebruiker op het form of een panel klikt de focus uit alle elementen halen en gewoon op een random label zetten (zodat ze niet blijven typen in bijvoorbeeld een textbox) Private Sub FormSelectID_Click_1(sender As System.Object, e As System.EventArgs) Handles MyBase.Click, FlowLayoutPanel2.Click, FlowLayoutPanel1.Click lblFoutmeldingOpzoeken.Focus() End Sub Private Sub btnSpecialMenu_Click(sender As System.Object, e As System.EventArgs) Handles btnSpecialMenu.Click 'laad formSpecialMenu FormController.getInstance.laadFormSpecialMenu(Me) End Sub Private Sub btnPrintLabel_Click(sender As System.Object, e As System.EventArgs) Handles btnPrintLabel.Click 'laad form print label FormController.getInstance.laadFormLabel(Me) End Sub #Region "toolstrip menu" 'config form openen Private Sub ConfigToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ConfigToolStripMenuItem.Click FormController.getInstance.laadFormConfigsWijzigen(Me) End Sub 'de map met de printer backlogs laten zien doormiddel met behulp van Verkenner Private Sub OptiesToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles OptiesToolStripMenuItem.Click 'het pad voorzien van quotes zodat File Explorer het juist leest Dim Args As String = ControlChars.Quote & Configs.printerBacklogPath & ControlChars.Quote 'Verkenner openen en de juiste map laten zien Process.Start("Explorer.exe", Args) End Sub 'de hulp pdf openen Private Sub HelpToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles HelpToolStripMenuItem1.Click Dim pad As String = ControlChars.Quote & Configs.helpPDFPath & ControlChars.Quote 'pdf openen met de default reader Process.Start(pad) End Sub Private Sub laadLogToolstripMenuStatussen() HuidigeLogToolStripMenuItem.Enabled = Not LogBestandTextMapper.currentLogPath.Equals("") VorigeLogToolStripMenuItem.Enabled = Not LogBestandTextMapper.geefPathLaatsteLogFile.Equals("") End Sub Private Sub HuidigeLogToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles HuidigeLogToolStripMenuItem.Click Dim pad As String = ControlChars.Quote & LogBestandTextMapper.currentLogPath & ControlChars.Quote 'log openen met de default reader Process.Start(pad) End Sub Private Sub VorigeLogToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles VorigeLogToolStripMenuItem.Click Dim pad As String = ControlChars.Quote & LogBestandTextMapper.geefPathLaatsteLogFile & ControlChars.Quote If Not pad.Equals("") Then 'log openen met de default reader Process.Start(pad) End If End Sub Private Sub LogMapToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles LogMapToolStripMenuItem.Click Dim pad As String = ControlChars.Quote & LogBestandTextMapper.getPathLogFolder & ControlChars.Quote If Not pad.Equals("") Then 'log openen met de default reader Process.Start(pad) End If End Sub #End Region End Class