Files
AVISO/Aviso/frmReferenzenSicherheiten.vb

316 lines
11 KiB
VB.net

Imports VERAG_PROG_ALLGEMEIN
Public Class frmReferenzenSicherheiten
'Dim REF As New VERAG_PROG_ALLGEMEIN.cAufschubKonten
Dim writepermission As Boolean
Sub New(writepermission As Boolean)
InitializeComponent()
Me.writepermission = writepermission
End Sub
Private Sub Warenorte_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If Not writepermission Then
btnSave.Enabled = False
btnDelete.Enabled = False
btnAdd.Enabled = False
For Each c As Control In mainPanel.Controls
If TypeOf c Is MyTextBox Then
Dim mytxtb As MyTextBox = c
mytxtb.ReadOnly = True
ElseIf TypeOf c Is TextBox Then
Dim txtb As TextBox = c
txtb.ReadOnly = True
ElseIf TypeOf c Is CheckBox Then
Dim cbx As CheckBox = c
cbx.Enabled = False
ElseIf TypeOf c Is MyComboBox Then
Dim mycbx As MyComboBox = c
mycbx.Enabled = False
ElseIf TypeOf c Is GroupBox Then
Dim gb As GroupBox = c
gb.Enabled = False
End If
Next
End If
initDGVWarenort()
cbxFirma.fillWithSQL("SELECT [Firma_id],[Firma_Bez] FROM [tblFirma] ", False, "FMZOLL", True)
End Sub
Private Sub initDGVWarenort(Optional firma As Integer = 0)
lblWarning.Text = ""
Dim SQLString As String = "SELECT [brgakto_id],[brgakto_betrag],[brgakto_gs_standort],[brgakto_gs_zollsatz],[brgakto_gs_aktSaldo],[brgakto_gs_ustEnabled],[brgakto_gs_ust],[brgakto_gs_ATR],[brgakto_firmaID] FROM [tblBrgAufschubKonten] WHERE brgakto_gs_standort is not null"
Dim SQLWHere = ""
If firma <> 0 Then
SQLWHere = " AND brgakto_firmaID = " & firma
End If
dgvWarenorteNew.SET_SQL(SQLString & SQLWHere, "ADMIN", ,)
dgvWarenorteNew.LOAD()
If dgvWarenorteNew.Columns.Count < 1 Then Exit Sub
With dgvWarenorteNew
If .RowCount = 0 Then Me.Cursor = Cursors.Default : Exit Sub
.MultiSelect = False
.RowHeadersVisible = False
.ReadOnly = True
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.Columns("brgakto_id").Visible = False
.Columns("brgakto_gs_standort").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("brgakto_gs_standort").HeaderText = "Standort"
.Columns("brgakto_betrag").Visible = False
.Columns("brgakto_gs_aktSaldo").Visible = False
.Columns("brgakto_gs_ustEnabled").Visible = False
.Columns("brgakto_gs_zollsatz").Visible = False
.Columns("brgakto_gs_ust").Visible = False
.Columns("brgakto_gs_ATR").Visible = False
.Columns("brgakto_firmaID").HeaderText = "Firma"
.Columns("brgakto_firmaID").Width = 150
End With
For Each row As DataGridViewRow In dgvWarenorteNew.Rows
If row.Cells("brgakto_firmaID").Value IsNot DBNull.Value AndAlso row.Cells("brgakto_firmaID").Value <> 0 Then
If CInt(row.Cells("brgakto_firmaID").Value) > 0 Then
Dim tmpFirma = New VERAG_PROG_ALLGEMEIN.cFirmen(row.Cells("brgakto_firmaID").Value)
'row.Cells("brgakto_firmaID").Value = tmpFirma.Firma_Bez.ToString
End If
End If
Next
initdgvDetails()
End Sub
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
If checkIfFirmaIsFilled(True) = False Then Exit Sub
Dim input = InputBox("Bitte geben Sie die Bezeichnung des neuen Referenz ein:", "Referenz anlegen")
If input <> "" Then
If checkNameIsValid(input) Then
Dim REF As New VERAG_PROG_ALLGEMEIN.cAufschubKonten(input, CInt(cbxFirma._value))
REF.brgakto_gs_ust = 0
REF.brgakto_betrag = 0
REF.brgakto_gs_ustEnabled = False
REF.brgakto_gs_zollsatz = 0
REF.brgakto_gs_ATR = False
If REF.SAVE() Then
initDGVWarenort(cbxFirma._value)
End If
Else
MsgBox("Es existiert bereits eine Referenz " & input & " für die Firma " & cbxFirma._value)
End If
Else
MsgBox("Keine Bezeichnung angegeben!")
End If
End Sub
Private Sub initdgvDetails()
If dgvWarenorteNew.Rows.Count = 1 OrElse dgvWarenorteNew.SelectedRows.Count = 1 Then
Dim gsid As Integer = 0
If dgvWarenorteNew.Rows.Count = 1 Then
gsid = dgvWarenorteNew.Rows(0).Cells.Item("brgakto_id").Value
ElseIf dgvWarenorteNew.SelectedRows.Count = 1 Then
gsid = dgvWarenorteNew.SelectedRows(0).Cells.Item("brgakto_id").Value
End If
If gsid > 0 Then
Dim SQLStringREF As String = "SELECT [brgarefb_gsid],[brgarefb_refbetrag],[brgarefb_gueltig_ab],[brgarefb_gueltig_bis],[brgarefb_gs_aktiv] FROM [tblBrgAufschubReferenzberaege] WHERE brgarefb_gsid = " & gsid & " order by brgarefb_gueltig_ab, brgarefb_gueltig_bis"
MyDatagridview1.SET_SQL(SQLStringREF, "ADMIN", ,)
MyDatagridview1.LOAD()
With MyDatagridview1
If .RowCount = 0 Then Exit Sub
.ReadOnly = True
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.Columns("brgarefb_gsid").Visible = False
.Columns("brgarefb_refbetrag").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("brgarefb_refbetrag").HeaderText = "Ref-Betrag"
.Columns("brgarefb_gs_aktiv").Visible = False
.Columns("brgarefb_gueltig_ab").HeaderText = "Gültig ab"
.Columns("brgarefb_gueltig_ab").Width = 75
.Columns("brgarefb_gueltig_bis").HeaderText = "Gültig bis"
.Columns("brgarefb_gueltig_bis").Width = 75
End With
End If
End If
End Sub
'Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click
' If dgvWarenorteNew.SelectedRows.Count > 0 Then
' Dim Warenort As New cWarenorte(dgvWarenorteNew.SelectedRows(0).Cells("wo_id").Value)
' If vbYes = MsgBox("Möchten Sie diesen Warenort " & Warenort.wo_warenort & " in " & Warenort.wo_firma & " wirklich löschen?", vbYesNo) Then
' Warenort.deleteWarenort(Warenort.wo_id)
' initDGVWarenort(cbxFirma._value)
' End If
' End If
'End Sub
Private Function checkNameIsValid(name As String) As Boolean
If dgvWarenorteNew.Rows.Count = 0 Then Return True
If checkIfFirmaIsFilled(False) = False Then Return False
For Each row As DataGridViewRow In dgvWarenorteNew.Rows
If Not IsDBNull(row.Cells("brgakto_gs_standort").Value) AndAlso Not IsDBNull(row.Cells("brgakto_firmaID").Value) Then
If row.Cells("brgakto_gs_standort").Value.ToLower = name.ToLower AndAlso row.Cells("brgakto_firmaID").Value = cbxFirma._value Then
Return False
End If
End If
Next
Return True
End Function
Private Sub dgvWarenorteNew_SelectionChanged(sender As Object, e As EventArgs) Handles dgvWarenorteNew.SelectionChanged
If dgvWarenorteNew.SelectedRows.Count < 1 Then
mainPanel.Enabled = False
Exit Sub
Else
mainPanel.Enabled = True
End If
Dim REF = New VERAG_PROG_ALLGEMEIN.cAufschubKonten(CInt(dgvWarenorteNew.SelectedRows(0).Cells("brgakto_id").Value))
txtStandort.Text = REF.brgakto_gs_standort
txtReferenzwert.Text = REF.getReferenzbetrag(Now())
cbxATR.Checked = REF.brgakto_gs_ATR
txtUst.Text = REF.brgakto_gs_ust
cbxUst.Checked = REF.brgakto_gs_ustEnabled
txtSaldo.Text = REF.brgakto_gs_aktSaldo
txtZollsatz.Text = REF.brgakto_gs_zollsatz
initdgvDetails()
End Sub
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
checkIfFirmaIsFilled(False)
Dim REF_NEW As New VERAG_PROG_ALLGEMEIN.cAufschubKonten(CInt(dgvWarenorteNew.SelectedRows(0).Cells("brgakto_id").Value))
If checkFields() = False Then Exit Sub
REF_NEW.brgakto_gs_standort = txtStandort.Text
REF_NEW.brgakto_betrag = txtReferenzwert.Text
REF_NEW.brgakto_gs_ATR = cbxATR.Checked
REF_NEW.brgakto_gs_ustEnabled = cbxUst.Checked
REF_NEW.brgakto_gs_ust = txtUst.Text
REF_NEW.brgakto_gs_zollsatz = txtZollsatz.Text
REF_NEW.SAVE()
dgvWarenorteNew.GetOrder()
initDGVWarenort(IIf(cbxFirma._value = "", 0, cbxFirma._value))
dgvWarenorteNew.SetOrder()
End Sub
Private Sub cbxFirma_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxFirma.SelectedValueChanged
dgvWarenorteNew.GetOrder()
initDGVWarenort(IIf(cbxFirma._value = "", 0, cbxFirma._value))
dgvWarenorteNew.SetOrder()
End Sub
Private Function checkIfFirmaIsFilled(initialSave As Boolean, Optional setWarning As Boolean = True)
Dim firmaLeer As Boolean = String.IsNullOrEmpty(cbxFirma._value)
Dim gridFirmaLeer As Boolean =
dgvWarenorteNew.SelectedRows(0).Cells("brgakto_firmaID").Value Is DBNull.Value OrElse
dgvWarenorteNew.SelectedRows(0).Cells("brgakto_firmaID").Value Is Nothing OrElse
dgvWarenorteNew.SelectedRows(0).Cells("brgakto_firmaID").Value.ToString() = ""
If firmaLeer AndAlso (gridFirmaLeer OrElse initialSave) Then
lblWarning.Text = If(setWarning, "Bitte Firma auswählen!", "")
Return False
End If
lblWarning.Text = ""
Return True
End Function
Private Function checkFields() As Boolean
If txtStandort.TextLength > 50 Then
lblWarning.Text = "Standort darf max 50 Zeichen besitzen!"
Return False
ElseIf txtReferenzwert.TextLength > 50 Then
lblWarning.Text = "REF-Wert darf max 50 Zeichen besitzen!"
Return False
ElseIf txtZollsatz.TextLength > 60 Then
lblWarning.Text = "Zollsatz darf max 60 Zeichen besitzen!"
Return False
ElseIf txtUst.TextLength > 50 Then
lblWarning.Text = "Ust darf max 50 Zeichen besitzen!"
Return False
End If
lblWarning.Text = ""
Return True
End Function
End Class