Imports IntraSell_DLL
Imports IntraSell_Net_Base
Public Class KassaBewegung

    Private Sub ButtonBuchen_Click(sender As Object, e As EventArgs) Handles ButtonBuchen.Click
        Try
            Dim betrag As Decimal = TextBoxBetrag.Text
            If Not betrag > 0 Then
                ErrorProvider1.SetError(TextBoxBetrag, "Betrag bitte eingeben!")
                Exit Sub
            End If

            If Not TextBoxBeschreibung.Text.Length > 3 Then
                ErrorProvider1.SetError(TextBoxBeschreibung, "Beschreibung bitte eingeben!")
                Exit Sub
            End If

            If rbAusgang.Checked Then betrag = -1 * betrag
            MakeKassaBuchEintrag(Datum:=Now, Betrag:=betrag, Konto:="MA", MitarbeiterNr:=MitarbeiterID, Beschreibung:=TextBoxBeschreibung.Text, Zahlungsmethode:="Bar",
                                 VorgangTyp:=Me.TextBoxVorgangtyp.Text, VorgangNummer:=Me.TextBoxVorgangnummer.Text)
            MsgBox("Die Kassabewegung wurde erfolgreich durchgeführt!", vbYes)
            TextBoxBetrag.Text = ""
            TextBoxBeschreibung.Text = ""
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub

    Private Sub TextBoxBetrag_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles TextBoxBetrag.Validating
        Try
            Dim betrag As Decimal = TextBoxBetrag.Text
            If Not betrag > 0 Then
                'e.Cancel = True
            End If
        Catch ex As Exception
            'e.Cancel = True
        End Try
    End Sub

    Private Sub SetControlState()
        Try
            ButtonBuchen.Enabled = (rbAusgang.Checked Or rbEingang.Checked) And GetBetrag() > 0 And TextBoxBeschreibung.Text.Length > 3
        Catch ex As Exception
        End Try
    End Sub

    Private Function GetBetrag() As Decimal
        Return TextBoxBetrag.Text
    End Function

    Private Sub Ziffernblock1_AmountChanged(amount As Decimal) Handles Ziffernblock1.AmountChanged
        Try
            TextBoxBetrag.Text = amount
        Catch ex As Exception

        End Try

    End Sub

    Private Sub Ziffernblock1_AmountCleared() Handles Ziffernblock1.AmountCleared
        Try
            TextBoxBetrag.Text = ""
        Catch ex As Exception

        End Try
    End Sub

    Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles ButtonAbbrechen.Click
        Close()
    End Sub

    Private Sub TextBoxBetrag_TextChanged(sender As Object, e As EventArgs) Handles TextBoxBetrag.TextChanged
        Try
            If Not IsNumeric(TextBoxBetrag.Text) Then
                ErrorProvider1.SetError(TextBoxBetrag, "Eine Zahl eingeben!")
            Else
                ErrorProvider1.Clear()
            End If

            SetControlState()
        Catch ex As Exception
        End Try
    End Sub

    Private Sub TextBoxBeschreibung_TextChanged(sender As Object, e As EventArgs) Handles TextBoxBeschreibung.TextChanged
        Try
            If TextBoxBeschreibung.Text.Length < 3 Then
                ErrorProvider1.SetError(TextBoxBeschreibung, "Als Beschreibung bitte 3 oder mehr Zeichen eingeben!")
            Else
                ErrorProvider1.Clear()
            End If

            SetControlState()
        Catch ex As Exception
        End Try
    End Sub
End Class