Imports DocumentFormat.OpenXml.Drawing.Diagrams Imports Org.BouncyCastle.Crypto.Modes Imports VERAG_PROG_ALLGEMEIN Public Class frmWarenorte Dim warenort As New cWarenorte Private Sub Warenorte_Load(sender As Object, e As EventArgs) Handles MyBase.Load initDGVWarenort() cbxGrenzstelle.fillWithSQL("SELECT [grz_Grenzstelle],[grz_BezeichnungCBO] FROM tblGrenzstelle where grz_Aktiv=1 order by grz_Reihenfolge, grz_Grenzstelle", False, "AVISO", True) cbxGrenzstelle.changeItem("") cbxFirma.fillWithSQL("SELECT [Firma_Bez] FROM [tblFirma] WHERE FIRMENGRUPPE IN ('VERAG') ", False, "FMZOLL", True) cbxFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "VERAG")) cbxFirmaChange.Items.AddRange(cbxFirma.Items.Cast(Of VERAG_PROG_ALLGEMEIN.MyListItem).ToArray()) End Sub Private Sub initDGVWarenort(Optional firma As String = "") lblWarning.Text = "" Dim SQLString As String = "SELECT [wo_warenort] ,[wo_bezeichnung], [wo_aktiv], [wo_firma] FROM [tblWarenorte]" Dim SQLWHere = "" If firma <> "" Then SQLWHere = " WHERE wo_firma = '" & firma & "'" End If dgvWarenorteNew.SET_SQL(SQLString & SQLWHere, "AVISO", ,) 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("wo_warenort").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("wo_warenort").HeaderText = "Warenort" .Columns("wo_bezeichnung").Visible = False .Columns("wo_aktiv").Visible = False .Columns("wo_firma").Visible = False End With For Each row As DataGridViewRow In dgvWarenorteNew.Rows If Not IsDBNull(row.Cells("wo_aktiv").Value) Then If Not row.Cells("wo_aktiv").Value Then row.DefaultCellStyle.BackColor = Color.IndianRed End If End If Next End Sub Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click If checkIfFirmaIsFilled() = False Then Exit Sub Dim input = InputBox("Bitte geben Sie die Bezeichnung des neuen Warenorts ein:", "Warenort anlegen") If input <> "" Then If checkNameIsValid(input) Then Dim WarenortNew As New cWarenorte(input, cbxFirma._value) WarenortNew.wo_cluster = "" WarenortNew.wo_aktiv = True WarenortNew.wo_bezeichnung = "" WarenortNew.wo_grenzstelle = DBNull.Value WarenortNew.wo_knnr = "" WarenortNew.wo_ort = "" WarenortNew.wo_reihenfolge = "-1" If WarenortNew.SAVE() Then initDGVWarenort(cbxFirma._value) End If Else MsgBox("Es existiert bereits ein Warenort " & input & " für die Firma " & cbxFirma._value) End If Else MsgBox("Keine Bezeichnung angegeben!") End If End Sub Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click If dgvWarenorteNew.SelectedRows.Count > 0 Then If vbYes = MsgBox("Möchten Sie diesen Warenort " & dgvWarenorteNew.SelectedRows(0).Cells("wo_warenort").Value & " in " & dgvWarenorteNew.SelectedRows(0).Cells("wo_firma").Value & " wirklich löschen?", vbYesNo) Then warenort.deleteWarenort(dgvWarenorteNew.SelectedRows(0).Cells("wo_warenort").Value, dgvWarenorteNew.SelectedRows(0).Cells("wo_firma").Value) 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 Then Return False For Each row As DataGridViewRow In dgvWarenorteNew.Rows If Not IsDBNull(row.Cells("wo_warenort").Value) AndAlso Not IsDBNull(row.Cells("wo_firma").Value) Then If row.Cells("wo_warenort").Value.ToLower = name.ToLower AndAlso row.Cells("wo_firma").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 WarenortNew As New cWarenorte(dgvWarenorteNew.SelectedRows(0).Cells("wo_warenort").Value, dgvWarenorteNew.SelectedRows(0).Cells("wo_firma").Value) txtWarenort.Text = WarenortNew.wo_warenort txtBezeichnung.Text = WarenortNew.wo_bezeichnung cbxAktiv.Checked = WarenortNew.wo_aktiv txtOrt.Text = WarenortNew.wo_ort cbxGrenzstelle.changeItem(WarenortNew.wo_grenzstelle) cbxFirmaChange.changeItem(WarenortNew.wo_firma) txtCluster.Text = WarenortNew.wo_cluster txtKennr.Text = WarenortNew.wo_knnr txtReihenfolge.Text = WarenortNew.wo_reihenfolge End Sub Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click checkIfFirmaIsFilled() Dim WarenortNew As New cWarenorte(dgvWarenorteNew.SelectedRows(0).Cells("wo_warenort").Value, dgvWarenorteNew.SelectedRows(0).Cells("wo_firma").Value) WarenortNew.wo_warenort = txtWarenort.Text WarenortNew.wo_bezeichnung = txtBezeichnung.Text WarenortNew.wo_aktiv = cbxAktiv.Checked WarenortNew.wo_ort = txtOrt.Text WarenortNew.wo_grenzstelle = cbxGrenzstelle._value WarenortNew.wo_firma = cbxFirmaChange._value WarenortNew.wo_cluster = txtCluster.Text WarenortNew.wo_knnr = txtKennr.Text WarenortNew.wo_reihenfolge = txtReihenfolge.Text If cbxGrenzstelle._value = "" Then lblWarning.Text = "Grenzstelle muss ausgewählt werden!" Exit Sub Else lblWarning.Text = "" End If WarenortNew.SAVE() dgvWarenorteNew.GetOrder() initDGVWarenort(cbxFirma._value) dgvWarenorteNew.SetOrder() End Sub Private Sub cbxFirma_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxFirma.SelectedValueChanged dgvWarenorteNew.GetOrder() initDGVWarenort(cbxFirma._value) dgvWarenorteNew.SetOrder() End Sub Private Function checkIfFirmaIsFilled() If cbxFirma._value = "" Then If (dgvWarenorteNew.SelectedRows(0).Cells("wo_firma").Value Is DBNull.Value Or dgvWarenorteNew.SelectedRows(0).Cells("wo_firma").Value Is Nothing) Then lblWarning.Text = "Bitte Firma auswählen!" Return False End If lblWarning.Text = "" Return True Else lblWarning.Text = "" Return True End If Return False End Function End Class