Hi all! I am in the beginning to mid stages of my project. It's an autobody program. You get the calculations when you click Calculate. However, I can't seem to get the hours of labor box to compute to the correct amount. Whenever I put something more than 1 hour, say 2, you get the same answer as just 1 hour. eg: Parts = $10, Hours of Labor= 2 then when you calculate it, you get just $50. am I making sense? Here is my code so far:
'Program Name: JobInformation
'Programmer: xero
'Date: 11/28/2011
'Description: This program produces a summary of the amounts due for a bill for Pat's Auto Repair Shop.
' It incorporates menus, and includes a splah form, a summary form, and an About box form.
'Form: JobInformation
Option Strict On
Public Class JobInformation
'Declare projectwide variables.
Private JobNumberString As String
Private CustomerNameString As String
Private CustomerCountInteger As Integer
Private PartsDecimal As Decimal
Private HoursOfLaborDecimal As Decimal
Private HoursOfLaborInteger As Integer
'Declare module-level variables.
Private SubTotalDecimal As Decimal
Private SalesTaxRateDecimal As Decimal
Private TotalDecimal As Decimal
'Declare constants.
Const SALES_TAX_RATE_Decimal As Decimal = 0.08D
Const HOURS_OF_LABOR_Decimal As Decimal = 50D
Private Sub CalculateButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalculateButton.Click
' Calculate and display the current amounts and add to totals.
' Declare on the DIM level.
Dim PartsDecimal As Decimal
Dim SubTotalDecimal As Decimal
Dim SalesTaxRateDecimal As Decimal
Dim TotalDecimal As Decimal
Dim HoursOfLaborDecimal As Decimal
'Calculate the extended price and add to job total.
Try
PartsDecimal = Decimal.Parse(PartsTextBox.Text)
SubTotalDecimal = PartsDecimal + HOURS_OF_LABOR_Decimal
TotalDecimal = SubTotalDecimal + (SALES_TAX_RATE_Decimal * SubTotalDecimal)
If PartsDecimal > 0 Then
'Call a function procedure.
SalesTaxRateDecimal = FindTax(SubTotalDecimal)
ElseIf HOURS_OF_LABOR_Decimal > 0 Then
'HoursOfLaborDecimal += HOURS_OF_LABOR_Decimal
HoursOfLaborDecimal += 1
Else
SalesTaxDecimal = 0
End If
TotalDecimal = SubTotalDecimal + (SALES_TAX_RATE_Decimal * SubTotalDecimal)
HoursOfLaborTextBox.Text = HOURS_OF_LABOR_Decimal.ToString("C")
PartsTextBox.Text = PartsDecimal.ToString("C")
SubTotalTextBox.Text = SubTotalDecimal.ToString("N")
SalesTaxRateTextBox.Text = SALES_TAX_RATE_Decimal.ToString("N")
TotalTextBox.Text = TotalDecimal.ToString("C")
'Allow clear for new job only.
ClearButton.Enabled = True
Catch PartsException As FormatException
MessageBox.Show("Quantity must be numeric.", "Data entry error",
MessageBoxButtons.OK, MessageBoxIcon.Information)
With PartsTextBox
.Focus()
.SelectAll()
End With
End Try
End Sub
Private Function FindTax(ByVal PartsDecimal As Decimal) As Decimal
'Calculate the sales tax.
Return (PartsDecimal * SALES_TAX_RATE_Decimal) + PartsDecimal
End Function
Private Sub JobNumberTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles JobNumberTextBox.TextChanged
JobNumberString = JobNumberTextBox.Text
End Sub
Private Sub CustomerNameTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CustomerNameTextBox.TextChanged
CustomerNameString = CustomerNameTextBox.Text
End Sub
Private Sub ClearButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClearButton.Click
'Clear the appropriate textboxes.
JobNumberTextBox.Clear()
CustomerNameTextBox.Clear()
PartsTextBox.Clear()
HoursOfLaborTextBox.Clear()
SubTotalTextBox.Clear()
SalesTaxRateTextBox.Clear()
TotalTextBox.Clear()
With JobNumberTextBox
.Clear()
.Focus()
End With
PartsDecimal = 0
HoursOfLaborDecimal = 0
SubTotalDecimal = 0
SalesTaxDecimal = 0
TotalDecimal = 0
End Sub
Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click
Me.Close()
End Sub
End Class