Imports IntraSell_DLL
Imports IntraSell_Net_Base

Public Class Mitarbeiter
    Inherits AbstractForm

    Dim geladen = False
    Private Sub Form_Verlassen() Handles MyBase.Verlassen
        Me.Close()
    End Sub

    Private Sub OfmitarbeiterBindingNavigatorSaveItem_Click(sender As Object, e As System.EventArgs) Handles MyBase.Save
        Try
            Validate()
            OfmitarbeiterBindingSource.EndEdit()
            FKofmitarbeiterofmitarbeiterrechteBindingSource.EndEdit()
            Ofmitarbeiter_rechteTableAdapter.Update(DsMitarbeiter)
            TableAdapterManager.UpdateAll(DsMitarbeiter)
            ModuleBerechtigung.FillCache()
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub

    Private Sub Mitarbeiter_Load(sender As Object, e As System.EventArgs) Handles MyBase.Load
        Try
            If geladen Then Return

            OfmitarbeiterTableAdapter.Fill(DsMitarbeiter.ofmitarbeiter)
            Ofmitarbeiter_rechteTableAdapter.Fill(DsMitarbeiter._ofmitarbeiter_rechte)
            ParentBindingNavigator.BindingSource = OfmitarbeiterBindingSource
            ds = DsMitarbeiter
            DataGridViewRechte.Enabled = HasRecht(Rechte.Administrator)
            PasswortTextBox.Enabled = DataGridViewRechte.Enabled
            UsernameTextBox.Enabled = DataGridViewRechte.Enabled
            geladen = True
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub

    Private Sub ButtonAlleRechte_Click(sender As Object, e As EventArgs) Handles ButtonAlleRechte.Click
        Try
            AlleRechteEinfuegen(OfmitarbeiterBindingSource.Current("IDNR"))
            'refresh data
            DsMitarbeiter._ofmitarbeiter_rechte.Clear()
            Ofmitarbeiter_rechteTableAdapter.Fill(DsMitarbeiter._ofmitarbeiter_rechte)
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub

    Private Sub OfmitarbeiterBindingSource_CurrentChanged(sender As Object, e As EventArgs) Handles OfmitarbeiterBindingSource.CurrentChanged
        Try
            LabelProgrammfarbe.BackColor = MitarbeiterFarbe(OfmitarbeiterBindingSource.Current("IDNR"))
        Catch ex As Exception
            'Ignore
        End Try
    End Sub

    Public Sub BeginNew(position As String)
        Try
            Mitarbeiter_Load(Nothing, Nothing)
            ' ParentBindingNavigator.AddNewItem.PerformClick()
            OfmitarbeiterBindingSource.AddNew()
            Dim Mitarbeiter1 As dsMitarbeiter.ofmitarbeiterRow = OfmitarbeiterBindingSource.Current.row
            Mitarbeiter1.Position = position
        Catch ex As Exception
            HandleAppError(ex)
        End Try

    End Sub

    Private Sub ButtonKellner_Click(sender As Object, e As EventArgs) Handles ButtonKellner.Click
        Try
            SetzeRechteFuerKellner(OfmitarbeiterBindingSource.Current("IDNR"))
            'refresh data
            DsMitarbeiter._ofmitarbeiter_rechte.Clear()
            Ofmitarbeiter_rechteTableAdapter.Fill(DsMitarbeiter._ofmitarbeiter_rechte)
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub

    Private Sub DataGridViewRechte_DataError(sender As Object, e As DataGridViewDataErrorEventArgs) Handles DataGridViewRechte.DataError
        'Ignore
    End Sub
End Class