UI Folder

Steps
1.     Sales Order UI[Design]

2.  Sales Order UI[Code]
Public Class SalesOrderUI

    Private Sub SalesOrderUI_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        GenerateTransaction()
    End Sub

    Private Sub txtCustNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCustNo.KeyPress
        If e.KeyChar = Chr(Keys.Enter) And Me.txtCustNo.Text <> Nothing Then
            txtCustName.Text = CustomersBAL.GetCustomer(CInt(txtCustNo.Text)).Name
            Me.txtProdID.Focus()
        End If
    End Sub

    Private Sub txtProdID_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtProdID.KeyPress
        If e.KeyChar = Chr(Keys.Enter) And Me.txtProdID.Text <> Nothing Then
            DisplayProductDetails(CInt(txtProdID.Text))
            Me.txtQtyOrdered.Focus()
        End If
    End Sub

    Private Sub DisplayProductDetails(ByVal id As Integer)
        Dim p As Products = ProductsBAL.GetProduct(id)
        Me.txtDescription.Text = p.Description
        Me.txtUntMsr.Text = p.Untmsr
        Me.txtPrice.Text = Format(p.Price, "#,##0.00")
    End Sub

    Private Sub txtQtyOrdered_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtQtyOrdered.KeyPress
        If e.KeyChar = Chr(Keys.Enter) And Me.txtQtyOrdered.Text <> Nothing Then
            AddProductToList()
            Me.txtTotalAmount.Text = ComputeSubTotal().ToString
            AppToolBox.ClearTextBoxes(Me.pnlProduct)
            Me.txtProdID.Focus()
        End If
    End Sub

    Private Shared row As Integer
    Private Sub AddProductToList()
        lvwOrders.Items.Add(Me.txtProdID.Text)
        lvwOrders.Items(row).SubItems.Add(txtDescription.Text)
        lvwOrders.Items(row).SubItems.Add(txtUntMsr.Text)

        Dim price As Decimal = CDec(Me.txtPrice.Text)
        Dim qtyOrdered As Decimal = CDec(Me.txtQtyOrdered.Text)

        lvwOrders.Items(row).SubItems.Add(Format(price, "#,##0.00"))
        lvwOrders.Items(row).SubItems.Add(Format(qtyOrdered, "#,##0.00"))

        Dim amount As Decimal = price * qtyOrdered
        lvwOrders.Items(row).SubItems.Add(Format(amount, "#,##0.00"))
        row = row + 1
    End Sub

    Private Function ComputeSubTotal() As Decimal
        Dim total As Decimal = 0
        For ndx As Integer = 0 To lvwOrders.Items.Count - 1
            total += CDec(lvwOrders.Items(ndx).SubItems(5).Text)
        Next
        Return total
    End Function

    Private Sub txtEmpNo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEmpNo.KeyPress
        If e.KeyChar = Chr(Keys.Enter) And Me.txtEmpNo.Text <> Nothing Then
            txtEmpName.Text = EmployeesBAL.GetEmployee(CInt(txtEmpNo.Text)).Name
            Me.btnSave.Focus()
        End If
    End Sub

    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        Dim transaction As New Transactions
        transaction.add(OrderSQL)

        For i = 0 To lvwOrders.Items.Count - 1
            transaction.add(OrderDetailSQL(i))
            transaction.add(ProductUpdateInventory(i))
        Next
        transaction.add(CustomerUpdateCreditLimit)
        transaction.add(GeneratorsBAL.CreateUpdateSQLOrderID)
        transaction.ExecuteSQLArray()
        AppToolBox.Message("Successfully Save...")
        GenerateTransaction()
    End Sub

    Private Function OrderDetailSQL(ByVal i As Integer) As String
        Dim orderdetail As New OrderDetails
        With orderdetail
            .Orderid = CInt(txtOrderNo.Text)
            .Prodid = lvwOrders.Items(i).Text
            .Price = lvwOrders.Items(i).SubItems(3).Text
            .Qtyordered = lvwOrders.Items(i).SubItems(4).Text
            .Amount = lvwOrders.Items(i).SubItems(5).Text
        End With
        Return OrderDetailsBAL.CreateInsertSQL(orderdetail)
    End Function

    Private Function OrderSQL() As String
        Dim order As New Orders
        With order
            .ID = CInt(txtOrderNo.Text)
            .Custid = CInt(txtCustNo.Text)
            .Empid = CInt(txtEmpNo.Text)
            .Orderdate = CDate(txtOrderDate.Text)
            .Totalamount = CDec(Me.txtTotalAmount.Text)
        End With
        Return OrdersBAL.CreateInsertSQL(order)
    End Function

    Private Function ProductUpdateInventory(ByVal i As Integer) As String
        Dim pid As Integer = CInt(lvwOrders.Items(i).Text)
        Dim qtyordered As Decimal = CDec(lvwOrders.Items(i).SubItems(4).Text)
        Return ProductsBAL.CreateUpdateSQLDeductInventory(pid, qtyordered)
    End Function

    Private Function CustomerUpdateCreditLimit() As String
        Dim id As Integer = CInt(txtCustNo.Text)
        Dim amt As Decimal = CDec(txtTotalAmount.Text)
        Return CustomersBAL.CreateUpdateSQLDeductCreditLimit(id, amt)
    End Function

    Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
        GenerateTransaction()
    End Sub

    Private Sub GenerateTransaction()
        AppToolBox.ClearTextBoxes(pnlCustomer)
        AppToolBox.ClearTextBoxes(pnlProduct)
        AppToolBox.ClearTextBoxes(pnlEmployee)
        Me.lvwOrders.Items.Clear()
        txtOrderNo.Text = GeneratorsBAL.GetOrderID
        txtOrderDate.Text = Date.Now
        txtCustNo.Focus()
    End Sub
End Class








No comments:

Post a Comment