Imports IntraSell_DLL
Imports IntraSell_Net_Base

Public Class VorgangOffnen
    Inherits AbstractOeffnen

    Public vorgangRow As dsVorgaenge.buchVorgangListeRow

    Public Shared Sub ShowAuswahl(vorgangRow As dsVorgaenge.buchVorgangListeRow)
        Try
            VorgangOffnen.vorgangRow = vorgangRow
            VorgangOffnen.SetButtonStates()
            VorgangOffnen.Show()
            VorgangOffnen.Text = "Vorgang " & vorgangRow.Typ & "-" & vorgangRow.Nummer
        Catch ex As Exception
        End Try
    End Sub

    Private Sub ButtonOeffne_Click(sender As Object, e As EventArgs) Handles ButtonOeffne.Click
        OeffneVorgang("Vorgang")
        Close()
    End Sub

    Private Sub ButtonEasyKassa_Click(sender As Object, e As EventArgs) Handles ButtonEasyKassa.Click
        OeffneVorgang("EasyKassa")
        Close()
    End Sub

    Private Sub ButtonHandelskassa_Click(sender As Object, e As EventArgs) Handles ButtonHandelskassa.Click
        OeffneVorgang("VorgangBar")
        Close()
    End Sub

    Sub OeffneVorgang(form As String)
        Try
            If vorgangRow Is Nothing Then
                Exit Sub
            End If
            If form = "Vorgang" Then
                OeffneVorgangByNummer(vorgangRow.Typ, vorgangRow.Nummer)
            ElseIf form = "VorgangBar" Then
                OeffneBarVorgangByNummer(vorgangRow.Typ, vorgangRow.Nummer)
            ElseIf form = "EasyKassa" Then
                OeffneEasyKassaByNummer(vorgangRow.Typ, vorgangRow.Nummer)
            Else
                MsgBox("Form " & form & " ist nicht bekannt!", vbInformation)
            End If
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub

    Sub SetButtonStates()

        Dim hatRechtFormVorgang = HasRecht(MitarbeiterID, Rechte.Rechnung, False) Or HasRecht(MitarbeiterID, Rechte.Angebot, False) Or HasRecht(MitarbeiterID, Rechte.Auftrag, False)
        Dim hatRechtFormEasyKassa = HasRecht(MitarbeiterID, Rechte.EasyKassa, False)
        Dim hatRechtHandelskassa = HasRecht(MitarbeiterID, Rechte.Handelskassa, False) And VarValue_Default(Variablen.HANDELSKASSA_AKTIVIERT, False)

        ButtonOeffne.Visible = hatRechtFormVorgang
        ButtonEasyKassa.Visible = hatRechtFormEasyKassa
        ButtonHandelskassa.Visible = hatRechtHandelskassa

        ButtonOeffne.Visible = hatRechtFormVorgang
        ButtonOeffne.Enabled = vorgangRow IsNot Nothing
        ButtonEasyKassa.Enabled = vorgangRow IsNot Nothing

        If vorgangRow IsNot Nothing Then
            ButtonEasyKassa.Enabled = vorgangRow.Typ = VorgangTypen.AR Or vorgangRow.Typ = VorgangTypen.AU
        End If
        ButtonHandelskassa.Enabled = ButtonEasyKassa.Enabled

        Dim formHeight = 0
        If hatRechtFormVorgang Then
            formHeight += 60
        End If
        If hatRechtFormEasyKassa Then
            formHeight += 60
            If Not hatRechtFormVorgang Then
                Me.TableLayoutPanel1.SetRow(Me.ButtonEasyKassa, 0)
                Me.TableLayoutPanel1.SetRowSpan(Me.ButtonEasyKassa, 2)
            End If
        End If
        If hatRechtHandelskassa Then
            formHeight += 60
        End If

        Me.Height = 40 + formHeight

        Me.TableLayoutPanel1.RowCount = formHeight Mod 60
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs)
        Close()
    End Sub

End Class