
Imports Mediatheek.data
Imports Mediatheek.DataAcces

Public Class frmLocatieWijzigen
    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 Label5 As System.Windows.Forms.Label
    Friend WithEvents txtWijzigId As System.Windows.Forms.TextBox
    Friend WithEvents btnLocatieWijzigenWijzigen As System.Windows.Forms.Button
    Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
    Friend WithEvents txtWijzigLocatieMaxAantal As System.Windows.Forms.TextBox
    Friend WithEvents Label4 As System.Windows.Forms.Label
    Friend WithEvents lblSoort As System.Windows.Forms.Label
    Friend WithEvents cboWijzigLocatieSoort As System.Windows.Forms.ComboBox
    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 cboWijzigRek As System.Windows.Forms.ComboBox
    Friend WithEvents cboWijzigVak As System.Windows.Forms.ComboBox
    Friend WithEvents cboWijzigSchap As System.Windows.Forms.ComboBox
    Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(frmLocatieWijzigen))
        Me.Label5 = New System.Windows.Forms.Label
        Me.txtWijzigId = New System.Windows.Forms.TextBox
        Me.btnLocatieWijzigenWijzigen = New System.Windows.Forms.Button
        Me.GroupBox1 = New System.Windows.Forms.GroupBox
        Me.cboWijzigSchap = New System.Windows.Forms.ComboBox
        Me.cboWijzigVak = New System.Windows.Forms.ComboBox
        Me.cboWijzigRek = New System.Windows.Forms.ComboBox
        Me.txtWijzigLocatieMaxAantal = New System.Windows.Forms.TextBox
        Me.Label4 = New System.Windows.Forms.Label
        Me.lblSoort = New System.Windows.Forms.Label
        Me.cboWijzigLocatieSoort = New System.Windows.Forms.ComboBox
        Me.Label3 = New System.Windows.Forms.Label
        Me.Label2 = New System.Windows.Forms.Label
        Me.Label1 = New System.Windows.Forms.Label
        Me.PictureBox1 = New System.Windows.Forms.PictureBox
        Me.GroupBox1.SuspendLayout()
        Me.SuspendLayout()
        '
        'Label5
        '
        Me.Label5.Location = New System.Drawing.Point(24, 224)
        Me.Label5.Name = "Label5"
        Me.Label5.Size = New System.Drawing.Size(24, 23)
        Me.Label5.TabIndex = 22
        Me.Label5.Text = "ID"
        '
        'txtWijzigId
        '
        Me.txtWijzigId.Location = New System.Drawing.Point(64, 224)
        Me.txtWijzigId.Name = "txtWijzigId"
        Me.txtWijzigId.ReadOnly = True
        Me.txtWijzigId.Size = New System.Drawing.Size(48, 20)
        Me.txtWijzigId.TabIndex = 21
        Me.txtWijzigId.Text = ""
        '
        'btnLocatieWijzigenWijzigen
        '
        Me.btnLocatieWijzigenWijzigen.Location = New System.Drawing.Point(312, 224)
        Me.btnLocatieWijzigenWijzigen.Name = "btnLocatieWijzigenWijzigen"
        Me.btnLocatieWijzigenWijzigen.Size = New System.Drawing.Size(104, 23)
        Me.btnLocatieWijzigenWijzigen.TabIndex = 20
        Me.btnLocatieWijzigenWijzigen.Text = "Wijzigen"
        '
        'GroupBox1
        '
        Me.GroupBox1.Controls.Add(Me.cboWijzigSchap)
        Me.GroupBox1.Controls.Add(Me.cboWijzigVak)
        Me.GroupBox1.Controls.Add(Me.cboWijzigRek)
        Me.GroupBox1.Controls.Add(Me.txtWijzigLocatieMaxAantal)
        Me.GroupBox1.Controls.Add(Me.Label4)
        Me.GroupBox1.Controls.Add(Me.lblSoort)
        Me.GroupBox1.Controls.Add(Me.cboWijzigLocatieSoort)
        Me.GroupBox1.Controls.Add(Me.Label3)
        Me.GroupBox1.Controls.Add(Me.Label2)
        Me.GroupBox1.Controls.Add(Me.Label1)
        Me.GroupBox1.Location = New System.Drawing.Point(16, 96)
        Me.GroupBox1.Name = "GroupBox1"
        Me.GroupBox1.Size = New System.Drawing.Size(400, 120)
        Me.GroupBox1.TabIndex = 19
        Me.GroupBox1.TabStop = False
        Me.GroupBox1.Text = "Wijzig een locatie"
        '
        'cboWijzigSchap
        '
        Me.cboWijzigSchap.Location = New System.Drawing.Point(64, 88)
        Me.cboWijzigSchap.Name = "cboWijzigSchap"
        Me.cboWijzigSchap.Size = New System.Drawing.Size(64, 21)
        Me.cboWijzigSchap.Sorted = True
        Me.cboWijzigSchap.TabIndex = 12
        '
        'cboWijzigVak
        '
        Me.cboWijzigVak.Location = New System.Drawing.Point(64, 56)
        Me.cboWijzigVak.Name = "cboWijzigVak"
        Me.cboWijzigVak.Size = New System.Drawing.Size(64, 21)
        Me.cboWijzigVak.Sorted = True
        Me.cboWijzigVak.TabIndex = 11
        '
        'cboWijzigRek
        '
        Me.cboWijzigRek.Location = New System.Drawing.Point(64, 24)
        Me.cboWijzigRek.Name = "cboWijzigRek"
        Me.cboWijzigRek.Size = New System.Drawing.Size(64, 21)
        Me.cboWijzigRek.Sorted = True
        Me.cboWijzigRek.TabIndex = 10
        '
        'txtWijzigLocatieMaxAantal
        '
        Me.txtWijzigLocatieMaxAantal.Location = New System.Drawing.Point(256, 64)
        Me.txtWijzigLocatieMaxAantal.Name = "txtWijzigLocatieMaxAantal"
        Me.txtWijzigLocatieMaxAantal.Size = New System.Drawing.Size(80, 20)
        Me.txtWijzigLocatieMaxAantal.TabIndex = 9
        Me.txtWijzigLocatieMaxAantal.Text = ""
        '
        'Label4
        '
        Me.Label4.Location = New System.Drawing.Point(176, 64)
        Me.Label4.Name = "Label4"
        Me.Label4.Size = New System.Drawing.Size(64, 23)
        Me.Label4.TabIndex = 8
        Me.Label4.Text = "Max aantal"
        '
        'lblSoort
        '
        Me.lblSoort.Location = New System.Drawing.Point(200, 24)
        Me.lblSoort.Name = "lblSoort"
        Me.lblSoort.Size = New System.Drawing.Size(40, 23)
        Me.lblSoort.TabIndex = 7
        Me.lblSoort.Text = "Soort"
        '
        'cboWijzigLocatieSoort
        '
        Me.cboWijzigLocatieSoort.Location = New System.Drawing.Point(256, 24)
        Me.cboWijzigLocatieSoort.Name = "cboWijzigLocatieSoort"
        Me.cboWijzigLocatieSoort.Size = New System.Drawing.Size(88, 21)
        Me.cboWijzigLocatieSoort.TabIndex = 6
        '
        'Label3
        '
        Me.Label3.Location = New System.Drawing.Point(16, 88)
        Me.Label3.Name = "Label3"
        Me.Label3.Size = New System.Drawing.Size(40, 24)
        Me.Label3.TabIndex = 2
        Me.Label3.Text = "Schap"
        '
        'Label2
        '
        Me.Label2.Location = New System.Drawing.Point(16, 56)
        Me.Label2.Name = "Label2"
        Me.Label2.Size = New System.Drawing.Size(40, 24)
        Me.Label2.TabIndex = 1
        Me.Label2.Text = "Vak"
        '
        'Label1
        '
        Me.Label1.Location = New System.Drawing.Point(16, 24)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(40, 24)
        Me.Label1.TabIndex = 0
        Me.Label1.Text = "Rek"
        '
        'PictureBox1
        '
        Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
        Me.PictureBox1.Location = New System.Drawing.Point(0, 0)
        Me.PictureBox1.Name = "PictureBox1"
        Me.PictureBox1.Size = New System.Drawing.Size(432, 88)
        Me.PictureBox1.TabIndex = 23
        Me.PictureBox1.TabStop = False
        '
        'frmLocatieWijzigen
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(432, 262)
        Me.Controls.Add(Me.PictureBox1)
        Me.Controls.Add(Me.Label5)
        Me.Controls.Add(Me.txtWijzigId)
        Me.Controls.Add(Me.btnLocatieWijzigenWijzigen)
        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 = "frmLocatieWijzigen"
        Me.Text = "Locatie wijzigen"
        Me.GroupBox1.ResumeLayout(False)
        Me.ResumeLayout(False)

    End Sub

#End Region
    Public Event LocatieGewijzigd()

#Region "Opvulling"
    ' eerst wordt de combobox rek opgevuld, indien men een rek kiest, wordt de cbo vak opgevuld met beschikbare
    'mogelijkheden, indien men daarna vak kiest, wordt het cbo schap opgevuld, indien men schap kiest heeft men
    ' het object : rek , vak , schap
    Private Sub comboboxenledigen()

        cboWijzigVak.Text = ""
        cboWijzigSchap.Text = ""
    End Sub
    Private Sub frmLocatieWijzigen_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        comboboxwijzigsoortopvullen()
        cbowijzigRekopvullen()

    End Sub

    Private Sub comboboxwijzigsoortopvullen()
        cboWijzigLocatieSoort.Items.Clear()
        cboWijzigLocatieSoort.Items.Add("CD")
        cboWijzigLocatieSoort.Items.Add("DVD")
        cboWijzigLocatieSoort.SelectedItem = "CD"
    End Sub

    Private Sub cbowijzigRekopvullen()
        Dim arlLocaties As ArrayList
        arlLocaties = clsLocatieDA.GetLocaties

        For Each oLocatie As clsLocatie In arlLocaties

            If cboWijzigRek.Items.Contains(oLocatie.Rek) = False Then

                cboWijzigRek.Items.Add(oLocatie.Rek)

            End If

        Next

    End Sub

    Private Sub cboWijzigRek_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboWijzigRek.SelectedIndexChanged
        comboboxenledigen()
        cbowijzigvakopvullen()
    End Sub

    Private Sub cbowijzigvakopvullen()
        cboWijzigVak.Items.Clear()
        Dim arlLocaties2 As ArrayList
        Dim sRekGekozen As String
        sRekGekozen = cboWijzigRek.Text
        arlLocaties2 = clsLocatieDA.GetLocaties2(sRekGekozen)

        For Each oLocatie2 As clsLocatie In arlLocaties2

            If cboWijzigVak.Items.Contains(oLocatie2.Vak) = False Then

                cboWijzigVak.Items.Add(oLocatie2.Vak)
            End If

        Next


    End Sub

    Private Sub cboWijzigVak_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboWijzigVak.SelectedIndexChanged
        comboboxenledigen()
        cbowijzigschapopvullen()
    End Sub

    Private Sub cbowijzigschapopvullen()
        cboWijzigSchap.Items.Clear()
        Dim arlLocaties3 As ArrayList
        Dim sVakGekozen As String
        Dim sRekGekozen As String
        sRekGekozen = cboWijzigRek.Text
        sVakGekozen = cboWijzigVak.Text
        arlLocaties3 = clsLocatieDA.GetLocaties3(sRekGekozen, sVakGekozen)

        For Each oLocatie2 As clsLocatie In arlLocaties3

            If cboWijzigSchap.Items.Contains(oLocatie2.Schap) = False Then

                cboWijzigSchap.Items.Add(oLocatie2.Schap)
            End If

        Next
    End Sub
#End Region

#Region "Wijziging"

    Private Sub btnLocatieWijzigenWijzigen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLocatieWijzigenWijzigen.Click
        'controle aantal chars in max aantal
        Dim sMaxAantal As String
        sMaxAantal = txtWijzigLocatieMaxAantal.Text
        If sMaxAantal.Length < 4 Then
            controlegegevenswijzigen()
        Else
            MsgBox("Gelieve een getal tussen 1 en 999 in te vullen voor max aantal !")

        End If


    End Sub


    Private Sub controlegegevenswijzigen()
        'controle numeric van maxaantal en cbo's
        If IsNumeric(txtWijzigLocatieMaxAantal.Text) & cboWijzigRek.Text <> "" And cboWijzigVak.Text <> "" And cboWijzigSchap.Text <> "" Then

            voeruitopdatabase2()

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

    Private Sub cboWijzigSchap_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboWijzigSchap.SelectedIndexChanged
        toonlaatste2gegevens()
    End Sub

    Private Sub toonlaatste2gegevens()
        ' laatste 2 gegevens=maxaantal, soort, tonen als men een locatie heeft gekozen
        Dim arlLocaties4 As ArrayList
        Dim sVakGekozen As String
        Dim sRekGekozen As String
        Dim sSchapGekozen As String
        sRekGekozen = cboWijzigRek.Text
        sVakGekozen = cboWijzigVak.Text
        sSchapGekozen = cboWijzigSchap.Text
        arlLocaties4 = clsLocatieDA.GetLocaties4(sRekGekozen, sVakGekozen, sSchapGekozen)


        For Each oLocatie4 As clsLocatie In arlLocaties4
            cboWijzigLocatieSoort.Text = oLocatie4.Soort
            txtWijzigLocatieMaxAantal.Text = oLocatie4.MaxAantal
            txtWijzigId.Text = oLocatie4.Id

        Next
    End Sub

    Private Sub voeruitopdatabase2()
        'de eigenlijke uitvoering om de database
        'controle hoeft niet omdat men alleen een juiste locatie kan aantonen
        Dim arlLocaties4 As ArrayList
        Dim sVakGekozen As String
        Dim sRekGekozen As String
        Dim sSchapGekozen As String
        sRekGekozen = cboWijzigRek.Text
        sVakGekozen = cboWijzigRek.Text
        sSchapGekozen = cboWijzigSchap.Text
        arlLocaties4 = clsLocatieDA.GetLocaties4(sRekGekozen, sVakGekozen, sSchapGekozen)

        For Each oLocatie4 As clsLocatie In arlLocaties4

            Try
                oLocatie4.Soort = cboWijzigLocatieSoort.Text
                oLocatie4.MaxAantal = txtWijzigLocatieMaxAantal.Text

                clsLocatieDA.WijzigLocatie(oLocatie4)

                RaiseEvent LocatieGewijzigd()
            Catch ex As Exception
                MessageBox.Show("Er trad een onverwachte fout op bij het wijzigen van de Locatie")
            Finally

            End Try
        Next
    End Sub

#End Region



End Class
