Imports Mediatheek.data
Imports Mediatheek.DataAcces

Public Class frmOntlenerWijzigen
    Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call

    End Sub

    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
    Friend WithEvents Label5 As System.Windows.Forms.Label
    Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
    Friend WithEvents Label13 As System.Windows.Forms.Label
    Friend WithEvents Label11 As System.Windows.Forms.Label
    Friend WithEvents Label8 As System.Windows.Forms.Label
    Friend WithEvents Label7 As System.Windows.Forms.Label
    Friend WithEvents Label6 As System.Windows.Forms.Label
    Friend WithEvents Label4 As System.Windows.Forms.Label
    Friend WithEvents Label3 As System.Windows.Forms.Label
    Friend WithEvents Label2 As System.Windows.Forms.Label
    Friend WithEvents Label1 As System.Windows.Forms.Label
    Friend WithEvents txtWijzigId As System.Windows.Forms.TextBox
    Friend WithEvents btnOntlenerWijzigenWijzigen As System.Windows.Forms.Button
    Friend WithEvents txtWijzigOntEmail As System.Windows.Forms.TextBox
    Friend WithEvents txtWijzigOntTelefoon As System.Windows.Forms.TextBox
    Friend WithEvents txtWijzigOntPostcode As System.Windows.Forms.TextBox
    Friend WithEvents cboWijzigOntGemeente As System.Windows.Forms.ComboBox
    Friend WithEvents txtWijzigOntNr As System.Windows.Forms.TextBox
    Friend WithEvents txtWijzigOntStraat As System.Windows.Forms.TextBox
    Friend WithEvents cboWijzigOntAchterNaam As System.Windows.Forms.ComboBox
    Friend WithEvents cboWijzigOntVoorNaam As System.Windows.Forms.ComboBox
    Friend WithEvents dtpGeboorteDatum As System.Windows.Forms.DateTimePicker
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(frmOntlenerWijzigen))
        Me.PictureBox1 = New System.Windows.Forms.PictureBox
        Me.Label5 = New System.Windows.Forms.Label
        Me.txtWijzigId = New System.Windows.Forms.TextBox
        Me.btnOntlenerWijzigenWijzigen = New System.Windows.Forms.Button
        Me.GroupBox1 = New System.Windows.Forms.GroupBox
        Me.dtpGeboorteDatum = New System.Windows.Forms.DateTimePicker
        Me.cboWijzigOntVoorNaam = New System.Windows.Forms.ComboBox
        Me.cboWijzigOntAchterNaam = New System.Windows.Forms.ComboBox
        Me.txtWijzigOntEmail = New System.Windows.Forms.TextBox
        Me.Label13 = New System.Windows.Forms.Label
        Me.txtWijzigOntTelefoon = New System.Windows.Forms.TextBox
        Me.Label11 = New System.Windows.Forms.Label
        Me.Label8 = New System.Windows.Forms.Label
        Me.txtWijzigOntPostcode = New System.Windows.Forms.TextBox
        Me.Label7 = New System.Windows.Forms.Label
        Me.Label6 = New System.Windows.Forms.Label
        Me.cboWijzigOntGemeente = New System.Windows.Forms.ComboBox
        Me.Label4 = New System.Windows.Forms.Label
        Me.txtWijzigOntNr = New System.Windows.Forms.TextBox
        Me.Label3 = New System.Windows.Forms.Label
        Me.txtWijzigOntStraat = New System.Windows.Forms.TextBox
        Me.Label2 = New System.Windows.Forms.Label
        Me.Label1 = New System.Windows.Forms.Label
        Me.GroupBox1.SuspendLayout()
        Me.SuspendLayout()
        '
        'PictureBox1
        '
        Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
        Me.PictureBox1.Location = New System.Drawing.Point(0, -4)
        Me.PictureBox1.Name = "PictureBox1"
        Me.PictureBox1.Size = New System.Drawing.Size(457, 80)
        Me.PictureBox1.TabIndex = 29
        Me.PictureBox1.TabStop = False
        '
        'Label5
        '
        Me.Label5.Location = New System.Drawing.Point(24, 412)
        Me.Label5.Name = "Label5"
        Me.Label5.Size = New System.Drawing.Size(24, 23)
        Me.Label5.TabIndex = 28
        Me.Label5.Text = "ID"
        '
        'txtWijzigId
        '
        Me.txtWijzigId.Location = New System.Drawing.Point(64, 412)
        Me.txtWijzigId.Name = "txtWijzigId"
        Me.txtWijzigId.ReadOnly = True
        Me.txtWijzigId.Size = New System.Drawing.Size(48, 20)
        Me.txtWijzigId.TabIndex = 27
        Me.txtWijzigId.Text = ""
        '
        'btnOntlenerWijzigenWijzigen
        '
        Me.btnOntlenerWijzigenWijzigen.Location = New System.Drawing.Point(312, 412)
        Me.btnOntlenerWijzigenWijzigen.Name = "btnOntlenerWijzigenWijzigen"
        Me.btnOntlenerWijzigenWijzigen.Size = New System.Drawing.Size(104, 23)
        Me.btnOntlenerWijzigenWijzigen.TabIndex = 26
        Me.btnOntlenerWijzigenWijzigen.Text = "Wijzigen"
        '
        'GroupBox1
        '
        Me.GroupBox1.Controls.Add(Me.dtpGeboorteDatum)
        Me.GroupBox1.Controls.Add(Me.cboWijzigOntVoorNaam)
        Me.GroupBox1.Controls.Add(Me.cboWijzigOntAchterNaam)
        Me.GroupBox1.Controls.Add(Me.txtWijzigOntEmail)
        Me.GroupBox1.Controls.Add(Me.Label13)
        Me.GroupBox1.Controls.Add(Me.txtWijzigOntTelefoon)
        Me.GroupBox1.Controls.Add(Me.Label11)
        Me.GroupBox1.Controls.Add(Me.Label8)
        Me.GroupBox1.Controls.Add(Me.txtWijzigOntPostcode)
        Me.GroupBox1.Controls.Add(Me.Label7)
        Me.GroupBox1.Controls.Add(Me.Label6)
        Me.GroupBox1.Controls.Add(Me.cboWijzigOntGemeente)
        Me.GroupBox1.Controls.Add(Me.Label4)
        Me.GroupBox1.Controls.Add(Me.txtWijzigOntNr)
        Me.GroupBox1.Controls.Add(Me.Label3)
        Me.GroupBox1.Controls.Add(Me.txtWijzigOntStraat)
        Me.GroupBox1.Controls.Add(Me.Label2)
        Me.GroupBox1.Controls.Add(Me.Label1)
        Me.GroupBox1.Location = New System.Drawing.Point(16, 92)
        Me.GroupBox1.Name = "GroupBox1"
        Me.GroupBox1.Size = New System.Drawing.Size(433, 296)
        Me.GroupBox1.TabIndex = 25
        Me.GroupBox1.TabStop = False
        Me.GroupBox1.Text = "Wijzig een ontlener"
        '
        'dtpGeboorteDatum
        '
        Me.dtpGeboorteDatum.Format = System.Windows.Forms.DateTimePickerFormat.Short
        Me.dtpGeboorteDatum.Location = New System.Drawing.Point(136, 192)
        Me.dtpGeboorteDatum.Name = "dtpGeboorteDatum"
        Me.dtpGeboorteDatum.Size = New System.Drawing.Size(144, 20)
        Me.dtpGeboorteDatum.TabIndex = 28
        '
        'cboWijzigOntVoorNaam
        '
        Me.cboWijzigOntVoorNaam.Location = New System.Drawing.Point(136, 64)
        Me.cboWijzigOntVoorNaam.Name = "cboWijzigOntVoorNaam"
        Me.cboWijzigOntVoorNaam.Size = New System.Drawing.Size(144, 21)
        Me.cboWijzigOntVoorNaam.TabIndex = 27
        '
        'cboWijzigOntAchterNaam
        '
        Me.cboWijzigOntAchterNaam.Location = New System.Drawing.Point(136, 32)
        Me.cboWijzigOntAchterNaam.Name = "cboWijzigOntAchterNaam"
        Me.cboWijzigOntAchterNaam.Size = New System.Drawing.Size(144, 21)
        Me.cboWijzigOntAchterNaam.TabIndex = 26
        '
        'txtWijzigOntEmail
        '
        Me.txtWijzigOntEmail.Location = New System.Drawing.Point(136, 256)
        Me.txtWijzigOntEmail.Name = "txtWijzigOntEmail"
        Me.txtWijzigOntEmail.Size = New System.Drawing.Size(144, 20)
        Me.txtWijzigOntEmail.TabIndex = 20
        Me.txtWijzigOntEmail.Text = ""
        '
        'Label13
        '
        Me.Label13.Location = New System.Drawing.Point(24, 256)
        Me.Label13.Name = "Label13"
        Me.Label13.TabIndex = 25
        Me.Label13.Text = "E-mail"
        '
        'txtWijzigOntTelefoon
        '
        Me.txtWijzigOntTelefoon.Location = New System.Drawing.Point(136, 224)
        Me.txtWijzigOntTelefoon.Name = "txtWijzigOntTelefoon"
        Me.txtWijzigOntTelefoon.Size = New System.Drawing.Size(144, 20)
        Me.txtWijzigOntTelefoon.TabIndex = 19
        Me.txtWijzigOntTelefoon.Text = ""
        '
        'Label11
        '
        Me.Label11.Location = New System.Drawing.Point(24, 224)
        Me.Label11.Name = "Label11"
        Me.Label11.TabIndex = 22
        Me.Label11.Text = "Telefoon"
        '
        'Label8
        '
        Me.Label8.Location = New System.Drawing.Point(24, 192)
        Me.Label8.Name = "Label8"
        Me.Label8.TabIndex = 15
        Me.Label8.Text = "Geboortedatum"
        '
        'txtWijzigOntPostcode
        '
        Me.txtWijzigOntPostcode.Enabled = False
        Me.txtWijzigOntPostcode.Location = New System.Drawing.Point(360, 144)
        Me.txtWijzigOntPostcode.Name = "txtWijzigOntPostcode"
        Me.txtWijzigOntPostcode.ReadOnly = True
        Me.txtWijzigOntPostcode.Size = New System.Drawing.Size(56, 20)
        Me.txtWijzigOntPostcode.TabIndex = 14
        Me.txtWijzigOntPostcode.Text = ""
        '
        'Label7
        '
        Me.Label7.Location = New System.Drawing.Point(296, 144)
        Me.Label7.Name = "Label7"
        Me.Label7.Size = New System.Drawing.Size(56, 23)
        Me.Label7.TabIndex = 13
        Me.Label7.Text = "Postcode"
        '
        'Label6
        '
        Me.Label6.Location = New System.Drawing.Point(24, 144)
        Me.Label6.Name = "Label6"
        Me.Label6.TabIndex = 12
        Me.Label6.Text = "Gemeente"
        '
        'cboWijzigOntGemeente
        '
        Me.cboWijzigOntGemeente.Location = New System.Drawing.Point(136, 144)
        Me.cboWijzigOntGemeente.Name = "cboWijzigOntGemeente"
        Me.cboWijzigOntGemeente.Size = New System.Drawing.Size(144, 21)
        Me.cboWijzigOntGemeente.TabIndex = 11
        '
        'Label4
        '
        Me.Label4.Location = New System.Drawing.Point(296, 112)
        Me.Label4.Name = "Label4"
        Me.Label4.Size = New System.Drawing.Size(40, 23)
        Me.Label4.TabIndex = 10
        Me.Label4.Text = "Nr."
        '
        'txtWijzigOntNr
        '
        Me.txtWijzigOntNr.Location = New System.Drawing.Point(360, 112)
        Me.txtWijzigOntNr.Name = "txtWijzigOntNr"
        Me.txtWijzigOntNr.Size = New System.Drawing.Size(56, 20)
        Me.txtWijzigOntNr.TabIndex = 9
        Me.txtWijzigOntNr.Text = ""
        '
        'Label3
        '
        Me.Label3.Location = New System.Drawing.Point(24, 112)
        Me.Label3.Name = "Label3"
        Me.Label3.TabIndex = 8
        Me.Label3.Text = "Straat"
        '
        'txtWijzigOntStraat
        '
        Me.txtWijzigOntStraat.Location = New System.Drawing.Point(136, 112)
        Me.txtWijzigOntStraat.Name = "txtWijzigOntStraat"
        Me.txtWijzigOntStraat.Size = New System.Drawing.Size(144, 20)
        Me.txtWijzigOntStraat.TabIndex = 7
        Me.txtWijzigOntStraat.Text = ""
        '
        'Label2
        '
        Me.Label2.Location = New System.Drawing.Point(24, 32)
        Me.Label2.Name = "Label2"
        Me.Label2.TabIndex = 6
        Me.Label2.Text = "Acthernaam"
        '
        'Label1
        '
        Me.Label1.Location = New System.Drawing.Point(24, 64)
        Me.Label1.Name = "Label1"
        Me.Label1.TabIndex = 5
        Me.Label1.Text = "Voornaam"
        '
        'frmOntlenerWijzigen
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(456, 446)
        Me.Controls.Add(Me.PictureBox1)
        Me.Controls.Add(Me.Label5)
        Me.Controls.Add(Me.txtWijzigId)
        Me.Controls.Add(Me.btnOntlenerWijzigenWijzigen)
        Me.Controls.Add(Me.GroupBox1)
        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
        Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
        Me.MaximizeBox = False
        Me.Name = "frmOntlenerWijzigen"
        Me.Text = "frmOntlenerWijzigen"
        Me.GroupBox1.ResumeLayout(False)
        Me.ResumeLayout(False)

    End Sub

#End Region
    Public Event OntlenerGewijzigd()


#Region "Opvulling"
    'indien men een achternaam kiest, worden alle beschikbare voornamen gegenereerd, zo kiest men een gebruiker
    ' en wordt alle info over de ontlener getoond
    Private Sub frmOntlenerWijzigen_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        cboAchternaamopvullen()
        cboGemeentesopvullen()
        dtpGeboorteDatum.Text = ""
    End Sub

    Private Sub cboGemeentesopvullen()
        Dim arlGemeentes As ArrayList
        arlGemeentes = clsGemeenteDA.GetGemeentes
        For Each oGemeente As clsGemeente In arlGemeentes
            cboWijzigOntGemeente.Items.Add(oGemeente.Gemeente)
        Next
    End Sub

    Private Sub cboAchternaamopvullen()
        Dim arlOntleners As ArrayList
        arlOntleners = clsOntlenerDA.GetOntleners

        For Each oOntlener As clsOntlener In arlOntleners
            If cboWijzigOntAchterNaam.Items.Contains(oOntlener.AchterNaam) = False Then
                cboWijzigOntAchterNaam.Items.Add(oOntlener.AchterNaam)
            End If

        Next
    End Sub


    Private Sub cboWijzigOntAchterNaam_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboWijzigOntAchterNaam.SelectedIndexChanged
        cboWijzigOntVoorNaam.Items.Clear()
        cboWijzigOntVoorNaam.Text = ""
        Dim sGekozen As String

        sGekozen = cboWijzigOntAchterNaam.Text
        Dim arlOntleners As ArrayList

        arlOntleners = clsOntlenerDA.GetOntleners2(sGekozen)

        For Each oOntlener As clsOntlener In arlOntleners
            cboWijzigOntVoorNaam.Items.Add(oOntlener.VoorNaam)
        Next
    End Sub
    Private Sub cboWijzigOntVoorNaam_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboWijzigOntVoorNaam.SelectedIndexChanged
        infoopvullen()
        If txtWijzigOntEmail.Text = "" Then
            txtWijzigOntEmail.Text = "None"
        End If
    End Sub


    Private Sub infoopvullen()
        Dim arlOntleners As ArrayList
        Dim sAchterGekozen, sVoorGekozen As String
        sAchterGekozen = cboWijzigOntAchterNaam.Text
        sVoorGekozen = cboWijzigOntVoorNaam.Text
        arlOntleners = clsOntlenerDA.GetOntleners3(sAchterGekozen, sVoorGekozen)

        For Each oOntlener As clsOntlener In arlOntleners

            cboWijzigOntGemeente.Text = oOntlener.Gemeente
            txtWijzigOntPostcode.Text = oOntlener.PostCode
            txtWijzigOntTelefoon.Text = oOntlener.Telefoon
            txtWijzigOntEmail.Text = oOntlener.Email
            txtWijzigId.Text = oOntlener.Id

            Dim sAdresEnNr As String
            sAdresEnNr = oOntlener.Adres
            txtWijzigOntStraat.Text = sAdresEnNr.Substring(0, sAdresEnNr.Length - 2)
            txtWijzigOntNr.Text = sAdresEnNr.Substring(sAdresEnNr.Length - 2, 2)

            dtpGeboorteDatum.Text = oOntlener.GeboorteDatum


        Next
    End Sub
#End Region

#Region "Wijziging"

    Private Sub btnOntlenerWijzigenWijzigen_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnOntlenerWijzigenWijzigen.Click
        'controle op max aantal chars per gegeven
        Dim sVoornaam, sAchternaam, sStraat, sNr, sDag, sMaand, sJaar, sTelefoon, sEmail As String

        sStraat = txtWijzigOntStraat.Text.Trim
        sNr = txtWijzigOntNr.Text.Trim
        sTelefoon = txtWijzigOntTelefoon.Text.Trim
        sEmail = txtWijzigOntEmail.Text.Trim

        If sStraat.Length < 30 And sNr.Length < 4 And sTelefoon.Length < 20 And sEmail.Length < 30 Then
            controlegegevenswijzigen()
        Else
            MsgBox("Het max aantal in te voegen karakters is 30 per invoegvak.  ")

        End If


    End Sub

    Private Sub controlegegevenswijzigen()
        'controle als alle velden ingevuld zijn
        If txtWijzigOntStraat.Text <> "" And txtWijzigOntNr.Text <> "" And cboWijzigOntGemeente.Text <> "" And dtpGeboorteDatum.Text <> "" And txtWijzigOntTelefoon.Text <> "" Then

            voeruitopdatabase()

        Else
            MsgBox("Gelieve geldige waarden in te geven !")
        End If
    End Sub



    Private Sub voeruitopdatabase()
        'uitvoereing op de database
        Dim arlOntleners As ArrayList
        Dim sVoorNaam, sAchterNaam As String
        sVoorNaam = cboWijzigOntVoorNaam.Text
        sAchterNaam = cboWijzigOntAchterNaam.Text

        arlOntleners = clsOntlenerDA.GetOntleners3(sAchterNaam, sVoorNaam)

        For Each oOntlener As clsOntlener In arlOntleners
            Try
                oOntlener.Email = txtWijzigOntEmail.Text
                oOntlener.Telefoon = txtWijzigOntTelefoon.Text
                oOntlener.GeboorteDatum = dtpGeboorteDatum.Text
                oOntlener.Gemeente = cboWijzigOntGemeente.Text
                oOntlener.PostCode = txtWijzigOntPostcode.Text
                oOntlener.VoorNaam = cboWijzigOntVoorNaam.Text
                oOntlener.AchterNaam = cboWijzigOntAchterNaam.Text
                oOntlener.Adres = txtWijzigOntStraat.Text + " " + txtWijzigOntNr.Text
                oOntlener.Id = txtWijzigId.Text
                clsOntlenerDA.WijzigOntlener(oOntlener)
                ledigform()
                RaiseEvent OntlenerGewijzigd()

            Catch ex As Exception
                MessageBox.Show("Er trad een onverwachte fout op bij het wijzigen van de ontlener")
            End Try
        Next

    End Sub

    Private Sub ledigform()
        cboWijzigOntAchterNaam.Text = ""
        cboWijzigOntVoorNaam.Text = ""
        txtWijzigOntStraat.Text = ""
        txtWijzigOntNr.Text = ""
        cboWijzigOntGemeente.Text = ""
        txtWijzigOntPostcode.Text = ""
        dtpGeboorteDatum.Text = ""
        txtWijzigOntTelefoon.Text = ""
        txtWijzigOntEmail.Text = ""
    End Sub

#End Region



End Class
