From e72c22880902b97623b2d056075f094ecfd6258d Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Mon, 2 Jan 2023 12:41:11 +0100 Subject: [PATCH] =?UTF-8?q?Bugfix=20Gesamtsicherheiten=20(=C3=BCber=20Kont?= =?UTF-8?q?extmen=C3=BC=20->=20Warenwert).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Aviso/frmGesamtsicherheitenNEU.Designer.vb | 37 +++++- Aviso/frmGesamtsicherheitenNEU.vb | 137 +++++++++++++++------ 2 files changed, 129 insertions(+), 45 deletions(-) diff --git a/Aviso/frmGesamtsicherheitenNEU.Designer.vb b/Aviso/frmGesamtsicherheitenNEU.Designer.vb index e150b9e..c166ee8 100644 --- a/Aviso/frmGesamtsicherheitenNEU.Designer.vb +++ b/Aviso/frmGesamtsicherheitenNEU.Designer.vb @@ -142,6 +142,8 @@ Partial Class frmGesamtsicherheitenNEU Me.txtSicherheitFreitext = New System.Windows.Forms.TextBox() Me.btnAddPos = New VERAG_PROG_ALLGEMEIN.FlatButton() Me.btnAddSicherheit = New VERAG_PROG_ALLGEMEIN.FlatButton() + Me.txtSicherheitsbetragContext = New System.Windows.Forms.TextBox() + Me.Label30 = New System.Windows.Forms.Label() Me.ContextMenuStripGesSicherh.SuspendLayout() Me.Panel2.SuspendLayout() Me.pnlChangeATCNr.SuspendLayout() @@ -185,6 +187,8 @@ Partial Class frmGesamtsicherheitenNEU 'pnlChangeATCNr ' Me.pnlChangeATCNr.BackColor = System.Drawing.SystemColors.ButtonHighlight + Me.pnlChangeATCNr.Controls.Add(Me.txtSicherheitsbetragContext) + Me.pnlChangeATCNr.Controls.Add(Me.Label30) Me.pnlChangeATCNr.Controls.Add(Me.txtWarenwertContext) Me.pnlChangeATCNr.Controls.Add(Me.lblWarenwertContext) Me.pnlChangeATCNr.Controls.Add(Me.txtUhrzeitaendern) @@ -197,7 +201,7 @@ Partial Class frmGesamtsicherheitenNEU Me.pnlChangeATCNr.Controls.Add(Me.FlatButton4) Me.pnlChangeATCNr.Location = New System.Drawing.Point(1051, 42) Me.pnlChangeATCNr.Name = "pnlChangeATCNr" - Me.pnlChangeATCNr.Size = New System.Drawing.Size(292, 162) + Me.pnlChangeATCNr.Size = New System.Drawing.Size(292, 192) Me.pnlChangeATCNr.TabIndex = 13 Me.pnlChangeATCNr.Visible = False ' @@ -207,8 +211,8 @@ Partial Class frmGesamtsicherheitenNEU Me.txtWarenwertContext.Location = New System.Drawing.Point(95, 104) Me.txtWarenwertContext.Margin = New System.Windows.Forms.Padding(0) Me.txtWarenwertContext.Name = "txtWarenwertContext" - Me.txtWarenwertContext.Size = New System.Drawing.Size(180, 24) - Me.txtWarenwertContext.TabIndex = 12 + Me.txtWarenwertContext.Size = New System.Drawing.Size(186, 24) + Me.txtWarenwertContext.TabIndex = 9 ' 'lblWarenwertContext ' @@ -265,10 +269,10 @@ Partial Class frmGesamtsicherheitenNEU Me.FlatButton3.FlatAppearance.BorderSize = 0 Me.FlatButton3.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.FlatButton3.ForeColor = System.Drawing.Color.Black - Me.FlatButton3.Location = New System.Drawing.Point(210, 136) + Me.FlatButton3.Location = New System.Drawing.Point(210, 160) Me.FlatButton3.Name = "FlatButton3" Me.FlatButton3.Size = New System.Drawing.Size(75, 23) - Me.FlatButton3.TabIndex = 9 + Me.FlatButton3.TabIndex = 10 Me.FlatButton3.Text = "Ändern" Me.FlatButton3.UseVisualStyleBackColor = False ' @@ -1630,6 +1634,27 @@ Partial Class frmGesamtsicherheitenNEU Me.btnAddSicherheit.TabIndex = 36 Me.btnAddSicherheit.UseVisualStyleBackColor = False ' + 'txtSicherheitsbetragContext + ' + Me.txtSicherheitsbetragContext.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtSicherheitsbetragContext.Location = New System.Drawing.Point(147, 133) + Me.txtSicherheitsbetragContext.Margin = New System.Windows.Forms.Padding(0) + Me.txtSicherheitsbetragContext.Name = "txtSicherheitsbetragContext" + Me.txtSicherheitsbetragContext.ReadOnly = True + Me.txtSicherheitsbetragContext.Size = New System.Drawing.Size(134, 24) + Me.txtSicherheitsbetragContext.TabIndex = 14 + Me.txtSicherheitsbetragContext.TabStop = False + ' + 'Label30 + ' + Me.Label30.AutoSize = True + Me.Label30.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label30.Location = New System.Drawing.Point(10, 133) + Me.Label30.Name = "Label30" + Me.Label30.Size = New System.Drawing.Size(134, 20) + Me.Label30.TabIndex = 15 + Me.Label30.Text = "Sicherheitsbetrag" + ' 'frmGesamtsicherheitenNEU ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -1777,4 +1802,6 @@ Partial Class frmGesamtsicherheitenNEU Friend WithEvents dtpPosDat As DateTimePicker Friend WithEvents txtSicherheitDat As VERAG_PROG_ALLGEMEIN.MyTextBox Friend WithEvents dtpSicherheitDat As DateTimePicker + Friend WithEvents txtSicherheitsbetragContext As TextBox + Friend WithEvents Label30 As Label End Class diff --git a/Aviso/frmGesamtsicherheitenNEU.vb b/Aviso/frmGesamtsicherheitenNEU.vb index 57e0f98..bad1466 100644 --- a/Aviso/frmGesamtsicherheitenNEU.vb +++ b/Aviso/frmGesamtsicherheitenNEU.vb @@ -381,6 +381,32 @@ Public Class frmGesamtsicherheitenNEU End Try End Sub + + Private Sub WarenwertContext_TextChanged(sender As Object, e As EventArgs) Handles txtWarenwertContext.TextChanged + + + If Not IsNumeric(txtWarenwertContext.Text) And sender.name = "txtWarenwertContext" Then + txtWarenwertContext.ForeColor = Color.Red + Exit Sub + Else + txtWarenwertContext.ForeColor = Color.Black + + End If + + txtWarenwertContext.Text = Replace(txtWarenwertContext.Text, ".", "") + txtWarenwertContext.Text = Replace(txtWarenwertContext.Text, "€", "") + + Try + Select Case sender.name + + Case "txtWarenwertContext" + txtSicherheitsbetragContext.Text = (txtWarenwertContext.Text * ZollsatzMulti).ToString("N") + End Select + Catch + End Try + End Sub + + Private Sub Warenwert_Keypresses(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtSicherheitWarenwert.KeyPress, txtPosWarenwert.KeyPress, txtAnzahlPos.KeyPress, txtZollsatzueberschreiben.KeyPress Select Case Asc(e.KeyChar) Case 48 To 57, 8, 44, 22 @@ -1098,7 +1124,8 @@ Public Class frmGesamtsicherheitenNEU Dim isInList As Boolean = False Dim onlyOpenDT As DataTable - + dataTable.DefaultView.Sort = "gs_gsnr ASC" + dataTable = dataTable.DefaultView.ToTable onlyOpenDT = dataTable.Select("gs_isOpen = True").CopyToDataTable @@ -1112,8 +1139,6 @@ Public Class frmGesamtsicherheitenNEU End If - 'MsgBox("prevOPENGessicherheitID " & prevGessicherheitID) - If i = onlyOpenDT.Rows.Count - 1 Then nextGessicherheitID = -1 ' no next Sicherheit Else @@ -1121,52 +1146,65 @@ Public Class frmGesamtsicherheitenNEU End If - 'MsgBox("nextOPENGessicherheitID " & nextGessicherheitID) - End If Next If isInList = False AndAlso onlyOpenDT.Rows.Count - 1 <> 0 Then - For i As Integer = 0 To dataTable.Rows.Count - 1 - If dataTable.Rows(i).Item("gs_gsnr") = Me.gessicherheitID Then + setPrevAndNextGesIDAllOpenIfNotInList(isInList) 'wenn Me.gessicherheitID selbst nicht mehr offen ist!!! - If i = 0 Then - prevGessicherheitID = -1 ' no prev Sicherheit - Else + If isInList = False Then + dataTable.Rows.Add(Me.gessicherheitID, True) ' wenn Me.gessicherheitsID neu angelegt wurde!!! + setPrevAndNextGesIDAllOpenIfNotInList(isInList) - For j As Integer = i To 0 - If dataTable.Rows(j).Item("gs_isOpen") Then - prevGessicherheitID = dataTable.Rows(j).Item("gs_gsnr") - 'MsgBox("prevGessicherheitID " & prevGessicherheitID) - Exit For - End If - Next - End If + End If - - If i = dataTable.Rows.Count - 1 Then - nextGessicherheitID = -1 ' ' no next Sicherheit - Else - For k As Integer = i To dataTable.Rows.Count - 1 - If dataTable.Rows(k).Item("gs_isOpen") Then - nextGessicherheitID = dataTable.Rows(k).Item("gs_gsnr") - 'MsgBox("nextGessicherheitID " & nextGessicherheitID) - Exit For - End If - Next - - End If - - - End If - - Next End If End Function + + Private Function setPrevAndNextGesIDAllOpenIfNotInList(ByRef isInList As Boolean) + + For i As Integer = 0 To dataTable.Rows.Count - 1 + If dataTable.Rows(i).Item("gs_gsnr") = Me.gessicherheitID Then + isInList = True + If i = 0 Then + prevGessicherheitID = -1 ' no prev Sicherheit + Else + + For j As Integer = i - 1 To 0 Step -1 + If dataTable.Rows(j).Item("gs_isOpen") Then + prevGessicherheitID = dataTable.Rows(j).Item("gs_gsnr") + 'MsgBox("prevGessicherheitID " & prevGessicherheitID) + Exit For + End If + Next + End If + + + If i = dataTable.Rows.Count - 1 Then + nextGessicherheitID = -1 ' ' no next Sicherheit + Else + For k As Integer = i To dataTable.Rows.Count - 1 + If dataTable.Rows(k).Item("gs_isOpen") Then + nextGessicherheitID = dataTable.Rows(k).Item("gs_gsnr") + 'MsgBox("nextGessicherheitID " & nextGessicherheitID) + Exit For + End If + Next + + End If + + + End If + + Next + + End Function + + Private Function setPrevAndNextGesAll() For i As Integer = 0 To dataTable.Rows.Count - 1 @@ -1452,7 +1490,7 @@ Public Class frmGesamtsicherheitenNEU Exit Sub End If - If txtWarenwertContext.Text = "" Or Not IsNumeric(txtWarenwertContext().Text) Then + If txtWarenwertContext.Text = "" Then MsgBox("Bitte Warenwert angeben!") Exit Sub End If @@ -1460,16 +1498,34 @@ Public Class frmGesamtsicherheitenNEU If dgvSicherheitsPos.SelectedRows.Count > 0 Then + Dim firstIndex As Integer = 10000 + + If dgvSicherheitsPos.SelectedRows.Count = 1 Then firstIndex = dgvSicherheitsPos.SelectedRows(0).Index + + If dgvSicherheitsPos.SelectedRows.Count > 1 Then + For Each row As DataGridViewRow In dgvSicherheitsPos.SelectedRows + If row.Index < firstIndex Then + firstIndex = row.Index + End If + + Next + + End If + For Each row As DataGridViewRow In dgvSicherheitsPos.SelectedRows Dim SicherhPos As New cGesamtsicherheitsPositionen(row.Cells("gsp_gsId").Value, row.Cells("gsp_gspPosId").Value) - If row.Index = 0 Then - SicherhPos.gsp_warenwert = txtWarenwertContext + If row.Index = firstIndex Then + Dim warenwert = Double.Parse(txtWarenwertContext.Text) + SicherhPos.gsp_warenwert = warenwert + SicherhPos.gsp_sicherheitsbetrag = Double.Parse(txtSicherheitsbetragContext.Text) + If warenwert > 0 Then + SicherhPos.gsp_art = "CLOSE" + End If End If - SicherhPos.gsp_ATCNr = txtATCaendern.Text SicherhPos.gsp_datum = DateTimeString2DateTimeKonvertinator(txtDatumaendern.Text, txtUhrzeitaendern.Text) SicherhPos.SAVE() @@ -1503,6 +1559,7 @@ Public Class frmGesamtsicherheitenNEU If Not System.Windows.Forms.Application.OpenForms.Item("frmGesamtsicherheitenMenuNEU") Is Nothing Then Dim p = System.Windows.Forms.Application.OpenForms.Item("frmGesamtsicherheitenMenuNEU") + DirectCast(p, frmGesamtsicherheitenMenuNEU).btnNeu.PerformClick() Me.Close() Me.Cursor = Cursors.Default : Exit Sub