Imports Mediatheek.data
Imports Mediatheek.DataAcces

Public Class frmAlbumBeheer
    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 btnAlbumToevoegen As System.Windows.Forms.Button
    Friend WithEvents btnAlbumWijzigen As System.Windows.Forms.Button
    Friend WithEvents btnAlbumVerwijderen As System.Windows.Forms.Button
    Friend WithEvents btnZoekenOpAlbum As System.Windows.Forms.Button
    Friend WithEvents clhAlbumNaam As System.Windows.Forms.ColumnHeader
    Friend WithEvents clhProductieJaar As System.Windows.Forms.ColumnHeader
    Friend WithEvents clhProductieHuis As System.Windows.Forms.ColumnHeader
    Friend WithEvents clhAantalLiedjes As System.Windows.Forms.ColumnHeader
    Friend WithEvents clhGenreId As System.Windows.Forms.ColumnHeader
    Friend WithEvents lvwAlbums As System.Windows.Forms.ListView
    Friend WithEvents clhLocatieID As System.Windows.Forms.ColumnHeader
    Friend WithEvents clhAlbumID As System.Windows.Forms.ColumnHeader
    Friend WithEvents btnAlbumRapporteer As System.Windows.Forms.Button
    Friend WithEvents btnAlbumStatistiek As System.Windows.Forms.Button
    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(frmAlbumBeheer))
        Me.btnAlbumToevoegen = New System.Windows.Forms.Button
        Me.btnAlbumWijzigen = New System.Windows.Forms.Button
        Me.btnAlbumVerwijderen = New System.Windows.Forms.Button
        Me.btnZoekenOpAlbum = New System.Windows.Forms.Button
        Me.lvwAlbums = New System.Windows.Forms.ListView
        Me.clhAlbumNaam = New System.Windows.Forms.ColumnHeader
        Me.clhProductieJaar = New System.Windows.Forms.ColumnHeader
        Me.clhProductieHuis = New System.Windows.Forms.ColumnHeader
        Me.clhAantalLiedjes = New System.Windows.Forms.ColumnHeader
        Me.clhGenreId = New System.Windows.Forms.ColumnHeader
        Me.clhLocatieID = New System.Windows.Forms.ColumnHeader
        Me.clhAlbumID = New System.Windows.Forms.ColumnHeader
        Me.btnAlbumRapporteer = New System.Windows.Forms.Button
        Me.btnAlbumStatistiek = New System.Windows.Forms.Button
        Me.PictureBox1 = New System.Windows.Forms.PictureBox
        Me.SuspendLayout()
        '
        'btnAlbumToevoegen
        '
        Me.btnAlbumToevoegen.Location = New System.Drawing.Point(504, 112)
        Me.btnAlbumToevoegen.Name = "btnAlbumToevoegen"
        Me.btnAlbumToevoegen.Size = New System.Drawing.Size(104, 23)
        Me.btnAlbumToevoegen.TabIndex = 15
        Me.btnAlbumToevoegen.Text = "Nieuw Album"
        '
        'btnAlbumWijzigen
        '
        Me.btnAlbumWijzigen.Enabled = False
        Me.btnAlbumWijzigen.Location = New System.Drawing.Point(504, 144)
        Me.btnAlbumWijzigen.Name = "btnAlbumWijzigen"
        Me.btnAlbumWijzigen.Size = New System.Drawing.Size(104, 23)
        Me.btnAlbumWijzigen.TabIndex = 16
        Me.btnAlbumWijzigen.Text = "Wijzig Album"
        '
        'btnAlbumVerwijderen
        '
        Me.btnAlbumVerwijderen.Enabled = False
        Me.btnAlbumVerwijderen.Location = New System.Drawing.Point(504, 176)
        Me.btnAlbumVerwijderen.Name = "btnAlbumVerwijderen"
        Me.btnAlbumVerwijderen.Size = New System.Drawing.Size(104, 23)
        Me.btnAlbumVerwijderen.TabIndex = 17
        Me.btnAlbumVerwijderen.Text = "Verwijder Album"
        '
        'btnZoekenOpAlbum
        '
        Me.btnZoekenOpAlbum.Location = New System.Drawing.Point(504, 208)
        Me.btnZoekenOpAlbum.Name = "btnZoekenOpAlbum"
        Me.btnZoekenOpAlbum.Size = New System.Drawing.Size(104, 23)
        Me.btnZoekenOpAlbum.TabIndex = 18
        Me.btnZoekenOpAlbum.Text = "Zoeken op Album"
        '
        'lvwAlbums
        '
        Me.lvwAlbums.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.clhAlbumNaam, Me.clhProductieJaar, Me.clhProductieHuis, Me.clhAantalLiedjes, Me.clhGenreId, Me.clhLocatieID, Me.clhAlbumID})
        Me.lvwAlbums.FullRowSelect = True
        Me.lvwAlbums.HideSelection = False
        Me.lvwAlbums.Location = New System.Drawing.Point(16, 112)
        Me.lvwAlbums.MultiSelect = False
        Me.lvwAlbums.Name = "lvwAlbums"
        Me.lvwAlbums.Size = New System.Drawing.Size(456, 208)
        Me.lvwAlbums.Sorting = System.Windows.Forms.SortOrder.Ascending
        Me.lvwAlbums.TabIndex = 20
        Me.lvwAlbums.View = System.Windows.Forms.View.Details
        '
        'clhAlbumNaam
        '
        Me.clhAlbumNaam.Text = "Album"
        Me.clhAlbumNaam.Width = 128
        '
        'clhProductieJaar
        '
        Me.clhProductieJaar.Text = "Jaar"
        Me.clhProductieJaar.Width = 37
        '
        'clhProductieHuis
        '
        Me.clhProductieHuis.Text = "Productiehuis"
        Me.clhProductieHuis.Width = 120
        '
        'clhAantalLiedjes
        '
        Me.clhAantalLiedjes.Text = "Nrs"
        Me.clhAantalLiedjes.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
        Me.clhAantalLiedjes.Width = 29
        '
        'clhGenreId
        '
        Me.clhGenreId.Text = "Genre"
        Me.clhGenreId.Width = 55
        '
        'clhLocatieID
        '
        Me.clhLocatieID.Text = "LocatieID"
        Me.clhLocatieID.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
        Me.clhLocatieID.Width = 58
        '
        'clhAlbumID
        '
        Me.clhAlbumID.Text = "ID"
        Me.clhAlbumID.Width = 25
        '
        'btnAlbumRapporteer
        '
        Me.btnAlbumRapporteer.Location = New System.Drawing.Point(504, 264)
        Me.btnAlbumRapporteer.Name = "btnAlbumRapporteer"
        Me.btnAlbumRapporteer.Size = New System.Drawing.Size(104, 23)
        Me.btnAlbumRapporteer.TabIndex = 21
        Me.btnAlbumRapporteer.Text = "Rapporteer"
        '
        'btnAlbumStatistiek
        '
        Me.btnAlbumStatistiek.Location = New System.Drawing.Point(504, 296)
        Me.btnAlbumStatistiek.Name = "btnAlbumStatistiek"
        Me.btnAlbumStatistiek.Size = New System.Drawing.Size(104, 23)
        Me.btnAlbumStatistiek.TabIndex = 21
        Me.btnAlbumStatistiek.Text = "Statistiek"
        '
        '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, 80)
        Me.PictureBox1.TabIndex = 22
        Me.PictureBox1.TabStop = False
        '
        'frmAlbumBeheer
        '
        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.PictureBox1)
        Me.Controls.Add(Me.btnAlbumRapporteer)
        Me.Controls.Add(Me.lvwAlbums)
        Me.Controls.Add(Me.btnZoekenOpAlbum)
        Me.Controls.Add(Me.btnAlbumVerwijderen)
        Me.Controls.Add(Me.btnAlbumWijzigen)
        Me.Controls.Add(Me.btnAlbumToevoegen)
        Me.Controls.Add(Me.btnAlbumStatistiek)
        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
        Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
        Me.MaximizeBox = False
        Me.Name = "frmAlbumBeheer"
        Me.Text = "Album beheer"
        Me.ResumeLayout(False)

    End Sub

#End Region

    Friend msSelectedAlbumID As String 'zie events

#Region "Events"
    Private Sub frmAlbumBeheer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        listviewopvullen()
        enabledisablecontrols()
    End Sub




    'Als de gebruiker met muis of pijltjes een ander album selecteert,
    'wordt daarvan het albumid opgeslagen in msSelectedAlbumID
    'met dit id kunnen we dan in submenu's wijzigen en verwijderen direct het gewenst album weergeven

    Private Sub lvwAlbums_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lvwAlbums.SelectedIndexChanged

        EnableDisableControls()
        If lvwAlbums.SelectedItems.Count() <> 0 Then
            msSelectedAlbumID = lvwAlbums.SelectedItems(0).SubItems(6).Text
            ' MyBase.Text = "Album beheer: " & lvwAlbums.FocusedItem.SubItems(0).Text
        End If





    End Sub

    Private Sub lvwAlbums_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lvwAlbums.Click
        If lvwAlbums.SelectedItems.Count() <> 0 Then
            msSelectedAlbumID = lvwAlbums.SelectedItems(0).SubItems(6).Text
            ' MyBase.Text = "Album beheer: " & lvwAlbums.FocusedItem.SubItems(0).Text
        End If
    End Sub


#End Region

#Region "EnableDisableControls"
    Private Sub EnableDisableControls()

        If lvwAlbums.SelectedItems.Count() = 0 Then
            btnAlbumWijzigen.Enabled = False
            btnAlbumVerwijderen.Enabled = False
        Else
            btnAlbumWijzigen.Enabled = True
            btnAlbumVerwijderen.Enabled = True
        End If

    End Sub
#End Region

#Region "Opvulling"



    Private Sub ListViewOpvullen()
        lvwAlbums.Items.Clear()

        Dim arlAlbums As ArrayList
        arlAlbums = clsAlbumDA.GetAlbums

        Dim arlGenres As ArrayList
        arlGenres = clsGenreDA.GetGenres
        'reden aanmaken Genre arraylist zie in lus hieronder

        For Each oAlbum As clsAlbum In arlAlbums

            Dim olitm As ListViewItem

            olitm = New ListViewItem

            olitm.Text = oAlbum.AlbumNaam

            olitm.SubItems.Add(oAlbum.ProductieJaar)

            olitm.SubItems.Add(oAlbum.Productiehuis)

            olitm.SubItems.Add(oAlbum.AantalLiedjes)

            Dim oGenre As clsGenre

            oGenre = arlGenres(Convert.ToInt32(oAlbum.GenreID) - 1)

            olitm.SubItems.Add(oGenre.ToString)

            olitm.SubItems.Add(oAlbum.LocatieID)

            olitm.SubItems.Add(oAlbum.AlbumID)

            lvwAlbums.Items.Add(olitm)

        Next

        EnableDisableControls()


    End Sub

#End Region

#Region "Buttons"
    Private Sub btnAlbumToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAlbumToevoegen.Click
        Dim oNieuwAlbum As New frmAlbumToevoegen
        AddHandler oNieuwAlbum.AlbumToegevoegd, AddressOf listviewopvullen
        oNieuwAlbum.Show()
    End Sub

    Private Sub btnAlbumWijzigen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAlbumWijzigen.Click
        'Dim oAlbum As New clsAlbum(9, "Follow the leader", 2005, "BMG", 12, 4, 9, "fotostringhier")
        Dim oAlbum As New clsAlbum("", "", "", "", "", "", "", "")


        oAlbum.AlbumNaam = lvwAlbums.SelectedItems.Item(0).SubItems(0).Text
        oAlbum.AlbumID = lvwAlbums.SelectedItems.Item(0).SubItems(6).Text
        oAlbum.ProductieJaar = lvwAlbums.SelectedItems.Item(0).SubItems(1).Text
        oAlbum.Productiehuis = lvwAlbums.SelectedItems.Item(0).SubItems(2).Text
        oAlbum.AantalLiedjes = lvwAlbums.SelectedItems.Item(0).SubItems(3).Text
        oAlbum.GenreID = lvwAlbums.SelectedItems.Item(0).SubItems(4).Text
        oAlbum.LocatieID = lvwAlbums.SelectedItems.Item(0).SubItems(5).Text

        Dim oWijzigAlbum As New frmAlbumWijzigen(msSelectedAlbumID)
        AddHandler oWijzigAlbum.AlbumGewijzigd, AddressOf listviewopvullen
        oWijzigAlbum.Show()

       
    End Sub

    


    Private Sub btnZoekenOpAlbum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZoekenOpAlbum.Click
        
        If lvwAlbums.SelectedItems.Count() = 0 Then
            Dim oZoekOpAlbum As New frmAlbumOpzoeken
            AddHandler oZoekOpAlbum.ZoekOpAlbum, AddressOf ListViewOpvullen
            oZoekOpAlbum.Show()
         
        Else
            Dim oAlbum As New clsAlbum("", "", "", "", "", "", "", "")

            oAlbum.AlbumNaam = lvwAlbums.SelectedItems.Item(0).SubItems(0).Text
            oAlbum.AlbumID = lvwAlbums.SelectedItems.Item(0).SubItems(6).Text
            oAlbum.ProductieJaar = lvwAlbums.SelectedItems.Item(0).SubItems(1).Text
            oAlbum.Productiehuis = lvwAlbums.SelectedItems.Item(0).SubItems(2).Text
            oAlbum.AantalLiedjes = lvwAlbums.SelectedItems.Item(0).SubItems(3).Text
            oAlbum.GenreID = lvwAlbums.SelectedItems.Item(0).SubItems(4).Text
            oAlbum.LocatieID = lvwAlbums.SelectedItems.Item(0).SubItems(5).Text

            Dim oZoekOpAlbum As New frmAlbumOpzoeken(oAlbum)
            AddHandler oZoekOpAlbum.ZoekOpAlbum, AddressOf ListViewOpvullen
            oZoekOpAlbum.Show()
        End If

    End Sub


    


    Private Sub btnAlbumRapporteer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAlbumRapporteer.Click

        If lvwAlbums.SelectedItems.Count() = 0 Then
            MsgBox("Selecteer een album waarvan u een rapport wil.", MsgBoxStyle.OKOnly, "Er is geen album geselecteerd")
        Else
            Dim oRapportAlbum As New frmAlbumRapport(msSelectedAlbumID)

            oRapportAlbum.Show()
        End If

    End Sub

    Private Sub btnAlbumStatistiek_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAlbumStatistiek.Click
      
        Dim oStatestiek2 As New frmStatestiek2

        oStatestiek2.Show()


    End Sub

#End Region

#Region "Verwijderen"
    Private Sub btnAlbumVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAlbumVerwijderen.Click


        'confirmatie vragen bij het verwijderen
        Dim response As MsgBoxResult
        response = MsgBox("Bent U zeker dat U " & lvwAlbums.SelectedItems.Item(0).SubItems(0).Text & " wil verwijderen?   Alle overeenkomstige ontleningen worden mede verwijderd !", MsgBoxStyle.YesNo, "Confirmatie album verwijderen")

        If response = MsgBoxResult.Yes Then
            verwijderAlbum(lvwAlbums.SelectedItems.Item(0).SubItems(6).Text)
        ElseIf response = MsgBoxResult.No Then
            'do nothing
        End If

        If lvwAlbums.Items.Count() <> 0 Then
            lvwAlbums.Items(0).Selected = True
        End If
    End Sub

    Private Sub verwijderAlbum(ByVal sAlbumID As String)
        'nog bevestiging vragen

        Try
            clsUitvoeringDA.VerwijderUitvoeringenByAlbumID(sAlbumID)
            clsAlbumDA.VerwijderOntleningenByAlbumID(sAlbumID)
            clsAlbumDA.VerwijderAlbum(sAlbumID)
            listviewopvullen()


        Catch ex As Exception
            MsgBox(ex.ToString, MsgBoxStyle.OKOnly, "Er trad een onverwachte fout op bij het verwijderen van het album" & sAlbumID)
        Finally

        End Try
    End Sub
#End Region



 

End Class
