Imports Mediatheek.data
Imports Mediatheek.DataAcces

Public Class frmLocatieBeheer
    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 lvwLocaties As System.Windows.Forms.ListView
    Friend WithEvents clhRek As System.Windows.Forms.ColumnHeader
    Friend WithEvents clhVak As System.Windows.Forms.ColumnHeader
    Friend WithEvents clhSchap As System.Windows.Forms.ColumnHeader
    Friend WithEvents clhSoort As System.Windows.Forms.ColumnHeader
    Friend WithEvents clhMaxAantal As System.Windows.Forms.ColumnHeader
    Friend WithEvents btnLocatieToevoegen As System.Windows.Forms.Button
    Friend WithEvents btnLocatieWijzigen As System.Windows.Forms.Button
    Friend WithEvents btnLocatieVerwijderen As System.Windows.Forms.Button
    Friend WithEvents btnZoekenOpLocatie As System.Windows.Forms.Button
    Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
    Friend WithEvents btnRapport As System.Windows.Forms.Button
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(frmLocatieBeheer))
        Me.btnLocatieToevoegen = New System.Windows.Forms.Button
        Me.btnLocatieWijzigen = New System.Windows.Forms.Button
        Me.btnLocatieVerwijderen = New System.Windows.Forms.Button
        Me.btnZoekenOpLocatie = New System.Windows.Forms.Button
        Me.lvwLocaties = New System.Windows.Forms.ListView
        Me.clhRek = New System.Windows.Forms.ColumnHeader
        Me.clhVak = New System.Windows.Forms.ColumnHeader
        Me.clhSchap = New System.Windows.Forms.ColumnHeader
        Me.clhSoort = New System.Windows.Forms.ColumnHeader
        Me.clhMaxAantal = New System.Windows.Forms.ColumnHeader
        Me.PictureBox1 = New System.Windows.Forms.PictureBox
        Me.btnRapport = New System.Windows.Forms.Button
        Me.SuspendLayout()
        '
        'btnLocatieToevoegen
        '
        Me.btnLocatieToevoegen.Location = New System.Drawing.Point(504, 112)
        Me.btnLocatieToevoegen.Name = "btnLocatieToevoegen"
        Me.btnLocatieToevoegen.Size = New System.Drawing.Size(104, 23)
        Me.btnLocatieToevoegen.TabIndex = 15
        Me.btnLocatieToevoegen.Text = "Nieuwe locatie"
        '
        'btnLocatieWijzigen
        '
        Me.btnLocatieWijzigen.Location = New System.Drawing.Point(504, 160)
        Me.btnLocatieWijzigen.Name = "btnLocatieWijzigen"
        Me.btnLocatieWijzigen.Size = New System.Drawing.Size(104, 23)
        Me.btnLocatieWijzigen.TabIndex = 16
        Me.btnLocatieWijzigen.Text = "Wijzig Locatie"
        '
        'btnLocatieVerwijderen
        '
        Me.btnLocatieVerwijderen.Location = New System.Drawing.Point(504, 208)
        Me.btnLocatieVerwijderen.Name = "btnLocatieVerwijderen"
        Me.btnLocatieVerwijderen.Size = New System.Drawing.Size(104, 23)
        Me.btnLocatieVerwijderen.TabIndex = 17
        Me.btnLocatieVerwijderen.Text = "Verwijder locatie"
        '
        'btnZoekenOpLocatie
        '
        Me.btnZoekenOpLocatie.Location = New System.Drawing.Point(504, 256)
        Me.btnZoekenOpLocatie.Name = "btnZoekenOpLocatie"
        Me.btnZoekenOpLocatie.Size = New System.Drawing.Size(104, 23)
        Me.btnZoekenOpLocatie.TabIndex = 18
        Me.btnZoekenOpLocatie.Text = "Zoeken op locatie"
        '
        'lvwLocaties
        '
        Me.lvwLocaties.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.clhRek, Me.clhVak, Me.clhSchap, Me.clhSoort, Me.clhMaxAantal})
        Me.lvwLocaties.FullRowSelect = True
        Me.lvwLocaties.Location = New System.Drawing.Point(16, 112)
        Me.lvwLocaties.MultiSelect = False
        Me.lvwLocaties.Name = "lvwLocaties"
        Me.lvwLocaties.Size = New System.Drawing.Size(456, 208)
        Me.lvwLocaties.Sorting = System.Windows.Forms.SortOrder.Ascending
        Me.lvwLocaties.TabIndex = 20
        Me.lvwLocaties.View = System.Windows.Forms.View.Details
        '
        'clhRek
        '
        Me.clhRek.Text = "Rek"
        Me.clhRek.Width = 80
        '
        'clhVak
        '
        Me.clhVak.Text = "Vak"
        Me.clhVak.Width = 80
        '
        'clhSchap
        '
        Me.clhSchap.Text = "Schap"
        Me.clhSchap.Width = 80
        '
        'clhSoort
        '
        Me.clhSoort.Text = "Soort"
        Me.clhSoort.Width = 80
        '
        'clhMaxAantal
        '
        Me.clhMaxAantal.Text = "Maximum aantal"
        Me.clhMaxAantal.Width = 100
        '
        '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(640, 96)
        Me.PictureBox1.TabIndex = 21
        Me.PictureBox1.TabStop = False
        '
        'btnRapport
        '
        Me.btnRapport.Location = New System.Drawing.Point(504, 296)
        Me.btnRapport.Name = "btnRapport"
        Me.btnRapport.Size = New System.Drawing.Size(104, 23)
        Me.btnRapport.TabIndex = 24
        Me.btnRapport.Text = "Rapport"
        '
        'frmLocatieBeheer
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.BackColor = System.Drawing.SystemColors.Control
        Me.ClientSize = New System.Drawing.Size(640, 342)
        Me.Controls.Add(Me.btnRapport)
        Me.Controls.Add(Me.PictureBox1)
        Me.Controls.Add(Me.lvwLocaties)
        Me.Controls.Add(Me.btnZoekenOpLocatie)
        Me.Controls.Add(Me.btnLocatieVerwijderen)
        Me.Controls.Add(Me.btnLocatieWijzigen)
        Me.Controls.Add(Me.btnLocatieToevoegen)
        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
        Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
        Me.MaximizeBox = False
        Me.Name = "frmLocatieBeheer"
        Me.Text = "Locatie beheer"
        Me.ResumeLayout(False)

    End Sub

#End Region


#Region "Opvulling"

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load     
        listviewopvullen()
    End Sub

    Private Sub listviewopvullen()
        'hier wordt de listview met alle loaties opgevuld
        lvwLocaties.Items.Clear()

        Dim arlLocaties As ArrayList
        arlLocaties = clsLocatieDA.GetLocaties

        For Each oLocatie As clsLocatie In arlLocaties

            Dim olitm As ListViewItem

            olitm = New ListViewItem

            olitm.Text = oLocatie.Rek
            olitm.SubItems.Add(oLocatie.Vak)
            olitm.SubItems.Add(oLocatie.Schap)
            olitm.SubItems.Add(oLocatie.Soort)
            olitm.SubItems.Add(oLocatie.MaxAantal)
            olitm.SubItems.Add(oLocatie.Id)
            olitm.Tag = oLocatie
            lvwLocaties.Items.Add(olitm)
        Next
    End Sub

#End Region

#Region "Buttons"
    ' hier worden alle button acties gemaakt op de form locatiebeher
    Private Sub btnLocatieToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLocatieToevoegen.Click
        Dim oNieuweLocatie As New frmLocatieToevoegen
        AddHandler oNieuweLocatie.LocatieToegevoegd, AddressOf listviewopvullen
        oNieuweLocatie.Show()
    End Sub
    Private Sub btnLocatieWijzigen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLocatieWijzigen.Click

        Dim oWijzigLocatie As New frmLocatieWijzigen
        AddHandler oWijzigLocatie.LocatieGewijzigd, AddressOf listviewopvullen
        oWijzigLocatie.Show()

    End Sub

    Private Sub btnZoekenOpLocatie_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnZoekenOpLocatie.Click
        Dim oZoekenLocatie As New frmLocatieZoeken
        oZoekenLocatie.Show()
    End Sub

    Private Sub btnRapport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRapport.Click
        Dim oRapportLocatie As New frmLocatieRapport

        oRapportLocatie.Show()
    End Sub

#End Region

#Region "Verwijderen"

    Private Sub btnLocatieVerwijderen_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLocatieVerwijderen.Click
        Dim response As MsgBoxResult


        Dim oLocatie As clsLocatie
        oLocatie = clsLocatieDA.GetLocatieByID(lvwLocaties.SelectedItems.Item(0).SubItems(5).Text).Item(0)


        Dim arlAlbumsInLocatie As New ArrayList
        arlAlbumsInLocatie = clsAlbumDA.GetAlbumsByLocatieID(oLocatie.Id)

        If arlAlbumsInLocatie.Count = 0 Then
            response = MsgBox("Deze locatie bevat geen albums, u kan deze verwijderen, bent u zeker dat u de locatie wil verwijderen? ", MsgBoxStyle.YesNo, "Confirmatie Locatie Verwijderen ")

            If response = MsgBoxResult.Yes Then
                voeruitopdatabaseverwijder()
            ElseIf response = MsgBoxResult.No Then
                'do nothing
            End If
        Else
            MsgBox("Gelieve eerst alle albums van locatie te verwisselen! U wordt verwezen naar zoeken op locatie zodat u ziet welke albums deze locatie bevatten, u kan daar dan uw locatie van het album(s) veranderen !  ")
            Dim oAlbumOpzoeken As New frmAlbumOpzoeken
            oAlbumOpzoeken.Show()
        End If







    End Sub

    Private Sub voeruitopdatabaseverwijder()
        Try
            Dim oLocatie As clsLocatie
            For Each oItem As ListViewItem In lvwLocaties.SelectedItems
                oLocatie = oItem.Tag

                clsLocatieDA.VerwijderLocatie(oLocatie.Id)
            Next

            listviewopvullen()
        Catch ex As Exception
            MessageBox.Show("Er trad een onverwachte fout op bij het verwijderen van de rekening")
        Finally

        End Try
    End Sub

#End Region


End Class
