введите описание изображения здесь
Приведенный выше снимок экрана взят из системы управления запасами.
Как вы видите, в приведенной выше форме есть два ListViews (ListVIewTransaction, ListViewTransactionItems).
ListViewTransaction: Содержит все транзакции.
ListViewTransactionItems: Содержит все элементы в транзакции.
У меня вопрос, есть ли способ добавить функциональность в мою систему, котораяподдерживает возврат товаров или отменить транзакцию.если да, ниже приведены таблицы и запросы.
Public Sub AddTransaction()
Try
sqL = "INSERT INTO [Transaction](InvoiceNo, TransactionDate, TransactionTime, Amount, VatAmount, TotalAmount, EmployeeID) VALUES('" & lblInvoice.Text & "', '" & Date.Now.ToString("MM/dd/yyyy") & "', '" & Date.Now.ToString("hh:mm:ss tt") & "', '" & lblSubTotal.Text.Replace(",", "") & "', '" & lblVAT.Text.Replace(",", "") & "', '" & Val(lblTotalAmount.Text.Replace(",", "")) & "', '" & Val(frmMain.lblUser.Tag) & "')"
ConnDB()
cmd = New SqlCommand(sqL, conn)
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.ToString)
Finally
cmd.Dispose()
conn.Close()
End Try
End Sub
Public Sub AddTransactionDetails()
For i As Integer = 0 To dgw.Rows.Count - 1
Try
sqL = "INSERT INTO TransactionLineItem(InvoiceNo, ProductId, ItemPrice, Quantity, Discount, ExtendedPrice, TotalAmount) VALUES(@InvoiceNo, @ProductId, @ItemPrice, @Quantity, @Discount, @ExtendedPrice, @TotalAmount)"
ConnDB()
cmd = New SqlCommand(sqL, conn)
cmd.Parameters.AddWithValue("@InvoiceNo", lblInvoice.Text)
cmd.Parameters.AddWithValue("@ProductId", dgw.Rows(i).Cells(0).Value)
cmd.Parameters.AddWithValue("@ItemPrice", CDbl(dgw.Rows(i).Cells(3).Value.ToString.Replace(",", "")))
cmd.Parameters.AddWithValue("@Quantity", dgw.Rows(i).Cells(4).Value)
cmd.Parameters.AddWithValue("@Discount", CDbl(dgw.Rows(i).Cells(6).Value.ToString.Replace(",", "")))
cmd.Parameters.AddWithValue("@ExtendedPrice", CDbl(dgw.Rows(i).Cells(5).Value.ToString.Replace(",", "")))
cmd.Parameters.AddWithValue("@TotalAmount", CDbl(dgw.Rows(i).Cells(7).Value.ToString.Replace(",", "")))
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.ToString)
Finally
cmd.Dispose()
conn.Close()
End Try
Next
End Sub