All pastes #266366 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-12-04 01:41 UTC
rendered paste body
Public Class Form1
    Dim sngOrdered, sngInStock, sngReadyToShip, sngBackOrdered As Single
    Dim sngNewOrdered, sngPassInStock, sngPassReadyToShip, sngPassBackOrdered As Single
    Dim decShippingCharges As Decimal

    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        ResetSpools()
        ResetDelivery()
    End Sub

    Sub ResetSpools()
        txtOrdered.Clear()
        chkRush.Checked = False
    End Sub

    Sub ResetDelivery()
        lblShip.Text = ""
        lblBO.Text = ""
        lblShipping.Text = ""
        lblTotalDue.Text = ""
    End Sub

    Private Sub txtOrdered_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtOrdered.Validating
        'Validate the input into the Length textbox
        If IsNumeric(txtOrdered.Text) = False Then
            'sngOrdered = CSng(txtOrdered.Text)
            MessageBox.Show("Entry Must Be a Positive Number", "Error")
            txtOrdered.Clear()
            txtOrdered.Focus()
        ElseIf txtOrdered.Text < 1 Then
            MessageBox.Show("Entry Cannot Be less than 1", "Error")
            txtOrdered.Clear()
            txtOrdered.Focus()
            Exit Sub
        End If
    End Sub

    Function GetInStock(ByVal sngInStock As Single) As Single
        sngInStock = InputBox("Enter the Number of Spools Currently In Stock", "Spools In Stock")
        If IsNumeric(sngInStock) = True Then
            'Entry is a number - Check if it is =>0
            If sngInStock < 0 Or IsNumeric(sngInStock) = False Then
                'Number is Negative or Text
                MessageBox.Show("Number Entered is Negative or Text", "Error")
                sngInStock = InputBox("Enter the Number of Spools Currently In Stock", "Spools In Stock")
            Else

            End If
        End If
        Return sngInStock
    End Function

    Function ReadyToShip(ByVal sngReadyToShip As Single) As Single
        If sngPassInStock >= sngOrdered Then 'All spools ordered are in stock
            sngReadyToShip = sngOrdered
        Else
            sngReadyToShip = sngPassInStock ' Not Enough Spools - Can only ship the number in stock
        End If
        Return sngReadyToShip
    End Function

    Function BackOrdered(ByVal sngBackOrdered As Single) As Single
        If sngOrdered >= sngPassReadyToShip Then 'There are more ordered than in stock
            sngBackOrdered = sngOrdered - sngPassReadyToShip
            Return sngBackOrdered
        Else
            sngBackOrdered = 0 ' There are enough spools in stock
            Return sngBackOrdered
        End If
    End Function
    Function ShippingCharges(ByVal decShippingCharges As Decimal) As Decimal
        If chkRush.Checked = True Then 'Rush Shipping Charges Apply
            decShippingCharges = CDec(txtOrdered.Text) * 15
        Else
            'Normal Shipping Charges Apply
            decShippingCharges = CDec(txtOrdered.Text) * 10
        End If
        Return decShippingCharges
    End Function

    Private Sub btnCalculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalculate.Click
        sngOrdered = CSng(txtOrdered.Text) 'Get spools ordered from form
        sngPassInStock = GetInStock(sngInStock)
        sngPassReadyToShip = ReadyToShip(sngReadyToShip)
        sngPassBackOrdered = BackOrdered(sngBackOrdered)
        decShippingCharges = ShippingCharges(decShippingCharges)
        lblShip.Text = sngPassReadyToShip
        lblBO.Text = sngPassBackOrdered
        lblShipping.Text = FormatCurrency(decShippingCharges)
        lblTotalDue.Text = FormatCurrency(decShippingCharges + (txtOrdered.Text * 100))
    End Sub
End Class