Public Class frmVorauskasse_FremdwaehrungBerechnen
    Public SND As VERAG_PROG_ALLGEMEIN.cSendungen
    Dim loaded = False

    Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL

    Sub New()

        ' Dieser Aufruf ist für den Designer erforderlich.
        InitializeComponent()

        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.

    End Sub

    Sub New(SND)

        ' Dieser Aufruf ist für den Designer erforderlich.
        InitializeComponent()
        Me.SND = SND
        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.

    End Sub

    Private Sub frmVorauskasse_FremdwaehrungBerechnen_Load(sender As Object, e As EventArgs) Handles Me.Load
        'cboWaehrung.fillWithSQL("  SELECT Währungsschlüssel, Währungscode FROM Währungstabelle ORDER BY Währungscode,[Währungsschlüssel] DESC ", False, "FMZOLL", True)
        cboWaehrung.fillWithSQL("SELECT tblZOLL_Wechselkurse.fw_iso3, tblZOLL_Wechselkurse.fw_iso3 FROM tblZOLL_Wechselkurse WHERE isnull(fw_kurswert,0)>0 AND CAST(GETDATE() AS DATE) BETWEEN cast(fw_startdatum as DATE) AND cast(fw_enddatum as DATE) ORDER BY tblZOLL_Wechselkurse.fw_iso3; ", False, "FMZOLL", True)
        cboWaehrungUmrechnung.fillWithSQL("SELECT tblZOLL_Wechselkurse.fw_iso3, tblZOLL_Wechselkurse.fw_iso3 FROM tblZOLL_Wechselkurse WHERE isnull(fw_kurswert,0)>0 AND CAST(GETDATE() AS DATE) BETWEEN cast(fw_startdatum as DATE) AND cast(fw_enddatum as DATE)  ORDER BY tblZOLL_Wechselkurse.fw_iso3; ", False, "FMZOLL", True)

        If SND IsNot Nothing Then
            If SND.tblSnd_Warenwert IsNot Nothing AndAlso IsNumeric(SND.tblSnd_Warenwert) AndAlso SND.tblSnd_Warenwert <> 0 Then
                txtWarenwert._value = SND.tblSnd_Warenwert
            End If
            If If(SND.tblSnd_WarenwertWaehrung, "") <> "" Then
                cboWaehrung._value = SND.tblSnd_WarenwertWaehrung
            End If
        End If
        cboWaehrungUmrechnung.changeItem("EUR")
        loaded = True
        txtWarenwert.Focus()
    End Sub

    Sub WarenwertUmrechnung()
        Try
            If Not loaded Then Exit Sub
            If cboWaehrung._value = "" Then Exit Sub
            If Not IsNumeric(txtWarenwert._value) Then Exit Sub

            Dim rg_Umrechnung As Double = 1
            Dim euro As Double = txtWarenwert._value
            If cboWaehrung._value <> "EUR" Then
                Dim kurs = CDbl(SQL.getValueTxtBySql("SELECT  TOP 1 isnull([fw_kurswert] ,0)  FROM [tblZOLL_Wechselkurse]  where fw_iso3='" & cboWaehrung._value & "' ORDER BY fw_startdatum DESC, fw_importdatum DESC", "FMZOLL"))
                If IsNumeric(kurs) AndAlso kurs > 0 Then
                    euro = CDbl(txtWarenwert._value / kurs)
                    rg_Umrechnung /= kurs
                End If
            End If

            Dim umrechnung As Double = euro
            If cboWaehrungUmrechnung._value <> "EUR" Then
                Dim kurs_Umrechnung = CDbl(SQL.getValueTxtBySql("SELECT  TOP 1 isnull([fw_kurswert] ,0)  FROM [tblZOLL_Wechselkurse]  where fw_iso3='" & cboWaehrungUmrechnung._value & "' ORDER BY fw_startdatum DESC, fw_importdatum DESC", "FMZOLL"))
                umrechnung = CDbl(euro * kurs_Umrechnung)
                rg_Umrechnung *= kurs_Umrechnung
            End If

            txtWarenwertUmrechnung.Text = CDbl(umrechnung).ToString("N2")


        Catch ex As Exception
            MsgBox(ex.Message & ex.StackTrace)
        End Try

    End Sub


    Private Sub txtWarenwert_TextChanged(sender As Object, e As EventArgs) Handles txtWarenwert.Leave, cboWaehrung.SelectedIndexChanged, cboWaehrungUmrechnung.SelectedIndexChanged
        WarenwertUmrechnung()
    End Sub

    Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
        If CDbl(txtWarenwertUmrechnung.Text) = 0 Then
            Me.DialogResult = DialogResult.None
            Exit Sub
        End If
        Me.DialogResult = DialogResult.OK
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        WarenwertUmrechnung()
    End Sub



    Private Sub txtWarenwert_KeyDown(sender As Object, e As KeyEventArgs) Handles txtWarenwert.KeyDown
        If e.KeyCode = Keys.Return Then
            btn.PerformClick()
        End If
    End Sub
End Class