|
XML-Based Applications: College Park Auto-Shop |
As always mentioned, XML provides the ability to store information as regular text so that the same information can be accessed from completely independent applications. This provides tremendous opportunities in the areas of storage and sharing of data. To make it even more useful, the .NET Framework provides full support for the Document Object Model (DOM) of XML through various classes. In this exercise, we are going to create an application used by a car repair business. To use it, an employee of the business can open a form to process a customer's work order. During this, the employee can enter the customer, the information about the car to be fixed, and a text description of the problem.
|
|
| (Name) | ColumnName | DataType |
| colCustomerName | CustomerName | System.String |
| colAddress | Address | System.String |
| colCity | City | System.String |
| colState | State | System.String |
| colZIPCode | ZIPCode | System.String |
| colMake | Make | System.String |
| colModel | Model | System.String |
| colCarYear | CarYear | System.String |
| colProblem | Problem | System.String |
| colPartName1 | PartName1 | System.String |
| colUnitPrice1 | UnitPrice1 | System.Double |
| colQuantity1 | Quantity1 | System.Int16 |
| colSubTotal1 | SubTotal1 | System.Double |
| colPartName2 | PartName2 | System.String |
| colUnitPrice2 | UnitPrice2 | System.Double |
| colQuantity2 | Quantity2 | System.Int16 |
| colSubTotal2 | SubTotal2 | System.Double |
| colPartName3 | PartName3 | System.String |
| colUnitPrice3 | UnitPrice3 | System.Double |
| colQuantity3 | Quantity3 | System.Int16 |
| colSubTotal3 | SubTotal3 | System.Double |
| colPartName4 | PartName4 | System.String |
| colUnitPrice4 | UnitPrice4 | System.Double |
| colQuantity4 | Quantity4 | System.Int16 |
| colSubTotal4 | SubTotal4 | System.Double |
| colPartName5 | PartName5 | System.String |
| colUnitPrice5 | UnitPrice5 | System.Double |
| colQuantity5 | Quantity5 | System.Int16 |
| colSubTotal5 | SubTotal5 | System.Double |
| colJobPerformed1 | JobPerformed1 | System.String |
| colJobPrice1 | JobPrice1 | System.Double |
| colJobPerformed2 | JobPerformed2 | System.String |
| colJobPrice2 | JobPrice2 | System.Double |
| colJobPerformed3 | JobPerformed3 | System.String |
| colJobPrice3 | JobPrice3 | System.Double |
| colJobPerformed4 | JobPerformed4 | System.String |
| colJobPrice4 | JobPrice4 | System.Double |
| colJobPerformed5 | JobPerformed5 | System.String |
| colJobPrice5 | JobPrice5 | System.Double |
| colTotalParts | TotalParts | System.Double |
| colTotalLabor | TotalLabor | System.Double |
| colTaxRate | TaxRate | System.Double |
| colTaxAmount | TaxAmount | System.Double |
| colTotalOrder | TotalOrder | System.Double |
| colRecommendations | Recommendations | System.Double |
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Private Sub btnWorkOrders_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnWorkOrders.Click
Dim frmOrders As Workorders = New Workorders
frmOrders.ShowDialog()
End Sub
|
Private Sub btnClose_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles btnClose.Click
End
End Sub
|
|
Calculating the Order |
|
When a car has been fixed, an employee can complete the form with what was done. A section of the form allows the employee to enter the names, prices, and quantities of parts that were used to fix the car. Each part is entered but its name, a unit price, and a quantity then, a sub total of each part must be calculated. Besides the parts used, the employee must also list the types of repairs that were performed and their costs. This also allows the customer to know what was done. Once the parts information and the jobs performed have been entered, the order can be calculated to know the total the customer will pay. |
|
|
Private Sub btnResetOrder_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnResetOrder.Click
Me.txtCustomerName.Text = ""
Me.txtAddress.Text = ""
Me.txtCity.Text = ""
Me.txtState.Text = ""
Me.txtZIPCode.Text = ""
Me.txtMake.Text = ""
Me.txtModel.Text = ""
Me.txtCarYear.Text = ""
Me.txtProblem.Text = ""
Me.txtPartName1.Text = ""
Me.txtUnitPrice1.Text = "0.00"
Me.txtQuantity1.Text = "0"
Me.txtSubTotal1.Text = "0.00"
Me.txtPartName2.Text = ""
Me.txtUnitPrice2.Text = "0.00"
Me.txtQuantity2.Text = "0"
Me.txtSubTotal2.Text = "0.00"
Me.txtPartName3.Text = ""
Me.txtUnitPrice3.Text = "0.00"
Me.txtQuantity3.Text = "0"
Me.txtSubTotal3.Text = "0.00"
Me.txtPartName4.Text = ""
Me.txtUnitPrice4.Text = "0.00"
Me.txtQuantity4.Text = "0"
Me.txtSubTotal4.Text = "0.00"
Me.txtPartName5.Text = ""
Me.txtUnitPrice5.Text = "0.00"
Me.txtQuantity5.Text = "0"
Me.txtSubTotal5.Text = "0.00"
Me.txtJobPerformed1.Text = ""
Me.txtJobPrice1.Text = "0.00"
Me.txtJobPerformed2.Text = ""
Me.txtJobPrice2.Text = "0.00"
Me.txtJobPerformed3.Text = ""
Me.txtJobPrice3.Text = "0.00"
Me.txtJobPerformed4.Text = ""
Me.txtJobPrice4.Text = "0.00"
Me.txtJobPerformed5.Text = ""
Me.txtJobPrice5.Text = "0.00"
Me.txtTotalParts.Text = "0.00"
Me.txtTotalLabor.Text = "0.00"
Me.txtTaxRate.Text = "7.75"
Me.txtTaxAmount.Text = "0.00"
Me.txtTotalOrder.Text = "0.00"
Me.txtRecommendations.Text = ""
Me.txtCustomerName.Focus()
End Sub
|
Private Sub btnCalculateOrder_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCalculateOrder.Click
Dim part1UnitPrice As Decimal = 0.0
Dim part1SubTotal As Decimal = 0.0
Dim part2UnitPrice As Decimal = 0.0
Dim part2SubTotal As Decimal = 0.0
Dim part3UnitPrice As Decimal = 0.0
Dim part3SubTotal As Decimal = 0.0
Dim part4UnitPrice As Decimal = 0.0
Dim part4SubTotal As Decimal = 0.0
Dim part5UnitPrice As Decimal = 0.0
Dim part5SubTotal As Decimal = 0.0
Dim totalParts As Decimal = 0.0
Dim part1Quantity As Integer = 0
Dim part2Quantity As Integer = 0
Dim part3Quantity As Integer = 0
Dim part4Quantity As Integer = 0
Dim part5Quantity As Integer = 0
Dim job1Price As Decimal = 0.0
Dim job2Price As Decimal = 0.0
Dim job3Price As Decimal = 0.0
Dim job4Price As Decimal = 0.0
Dim job5Price As Decimal = 0.0
Dim totalLabor As Decimal = 0.0
Dim taxRate As Decimal = 0.0
Dim taxAmount As Decimal = 0.0
Dim totalOrder As Decimal = 0.0
' Don't charge a part unless it is clearly identified
If Me.txtPartName1.Text = "" Then
Me.txtUnitPrice1.Text = "0.00"
Me.txtQuantity1.Text = "0"
Me.txtSubTotal1.Text = "0.00"
part1UnitPrice = 0.0
Else
Try
part1UnitPrice = Decimal.Parse(Me.txtUnitPrice1.Text)
Catch ex As FormatException
MsgBox("Invalid Unit Price")
Me.txtUnitPrice1.Text = "0.00"
Me.txtUnitPrice1.Focus()
End Try
Try
part1Quantity = CInt(Me.txtQuantity1.Text)
Catch ex As FormatException
MsgBox("Invalid Quantity")
Me.txtQuantity1.Text = "0"
Me.txtQuantity1.Focus()
End Try
end if
If Me.txtPartName2.Text = "" Then
Me.txtUnitPrice2.Text = "0.00"
Me.txtQuantity2.Text = "0"
Me.txtSubTotal2.Text = "0.00"
part2UnitPrice = 0.0
Else
Try
part2UnitPrice = Decimal.Parse(Me.txtUnitPrice2.Text)
Catch ex As FormatException
MsgBox("Invalid Unit Price")
Me.txtUnitPrice2.Text = "0.00"
Me.txtUnitPrice2.Focus()
End Try
Try
part2Quantity = CInt(Me.txtQuantity2.Text)
Catch ex As FormatException
MsgBox("Invalid Quantity")
Me.txtQuantity2.Text = "0"
Me.txtQuantity2.Focus()
End Try
end if
If Me.txtPartName3.Text = "" Then
Me.txtUnitPrice3.Text = "0.00"
Me.txtQuantity3.Text = "0"
Me.txtSubTotal3.Text = "0.00"
part3UnitPrice = 0.0
Else
Try
part3UnitPrice = Decimal.Parse(Me.txtUnitPrice3.Text)
Catch ex As FormatException
MsgBox("Invalid Unit Price")
Me.txtUnitPrice3.Text = "0.00"
Me.txtUnitPrice3.Focus()
End Try
Try
part3Quantity = CInt(Me.txtQuantity3.Text)
Catch ex As FormatException
MsgBox("Invalid Quantity")
Me.txtQuantity3.Text = "0"
Me.txtQuantity3.Focus()
End Try
end if
If Me.txtPartName4.Text = "" Then
Me.txtUnitPrice4.Text = "0.00"
Me.txtQuantity4.Text = "0"
Me.txtSubTotal4.Text = "0.00"
part4UnitPrice = 0.0
Else
Try
part4UnitPrice = Decimal.Parse(Me.txtUnitPrice4.Text)
Catch ex As FormatException
MsgBox("Invalid Unit Price")
Me.txtUnitPrice4.Text = "0.00"
Me.txtUnitPrice4.Focus()
End Try
Try
part4Quantity = CInt(Me.txtQuantity4.Text)
Catch ex As FormatException
MsgBox("Invalid Quantity")
Me.txtQuantity4.Text = "0"
Me.txtQuantity4.Focus()
End Try
End If
If Me.txtPartName5.Text = "" Then
Me.txtUnitPrice5.Text = "0.00"
Me.txtQuantity5.Text = "0"
Me.txtSubTotal5.Text = "0.00"
part5UnitPrice = 0.0
Else
Try
part5UnitPrice = Decimal.Parse(Me.txtUnitPrice5.Text)
Catch ex As FormatException
MsgBox("Invalid Unit Price")
Me.txtUnitPrice5.Text = "0.00"
Me.txtUnitPrice5.Focus()
End Try
Try
part5Quantity = CInt(Me.txtQuantity5.Text)
Catch ex As FormatException
MsgBox("Invalid Quantity")
Me.txtQuantity5.Text = "0"
Me.txtQuantity5.Focus()
End Try
End If
' Don't bill the customer for a job that is not specified
If Me.txtJobPerformed1.Text = "" Then
Me.txtJobPrice1.Text = "0.00"
job1Price = 0.0
Else
Try
job1Price = Decimal.Parse(Me.txtJobPrice1.Text)
Catch ex As FormatException
MsgBox("Invalid Job Price")
Me.txtJobPrice1.Text = "0.00"
Me.txtJobPrice1.Focus()
End Try
End If
If Me.txtJobPerformed2.Text = "" Then
Me.txtJobPrice2.Text = "0.00"
job2Price = 0.0
Else
Try
job2Price = Decimal.Parse(Me.txtJobPrice2.Text)
Catch ex As FormatException
MsgBox("Invalid Job Price")
Me.txtJobPrice2.Text = "0.00"
Me.txtJobPrice2.Focus()
End Try
End If
If Me.txtJobPerformed3.Text = "" Then
Me.txtJobPrice3.Text = "0.00"
job3Price = 0.0
Else
Try
job3Price = Decimal.Parse(Me.txtJobPrice3.Text)
Catch ex As FormatException
MsgBox("Invalid Job Price")
Me.txtJobPrice3.Text = "0.00"
Me.txtJobPrice3.Focus()
End Try
End If
If Me.txtJobPerformed4.Text = "" Then
Me.txtJobPrice4.Text = "0.00"
job4Price = 0.0
Else
Try
job4Price = Decimal.Parse(Me.txtJobPrice4.Text)
Catch ex As FormatException
MsgBox("Invalid Job Price")
Me.txtJobPrice4.Text = "0.00"
Me.txtJobPrice4.Focus()
End Try
End If
If Me.txtJobPerformed5.Text = "" Then
Me.txtJobPrice5.Text = "0.00"
job5Price = 0.0
Else
Try
job5Price = Decimal.Parse(Me.txtJobPrice5.Text)
Catch ex As FormatException
MsgBox("Invalid Job Price")
Me.txtJobPrice5.Text = "0.00"
Me.txtJobPrice5.Focus()
End Try
End If
part1SubTotal = part1UnitPrice * part1Quantity
part2SubTotal = part2UnitPrice * part2Quantity
part3SubTotal = part3UnitPrice * part3Quantity
part4SubTotal = part4UnitPrice * part4Quantity
part5SubTotal = part5UnitPrice * part5Quantity
Me.txtSubTotal1.Text = part1SubTotal.ToString("F")
Me.txtSubTotal2.Text = part2SubTotal.ToString("F")
Me.txtSubTotal3.Text = part3SubTotal.ToString("F")
Me.txtSubTotal4.Text = part4SubTotal.ToString("F")
Me.txtSubTotal5.Text = part5SubTotal.ToString("F")
totalParts = part1SubTotal + part2SubTotal + part3SubTotal + _
part4SubTotal + part5SubTotal
totalLabor = job1Price + job2Price + job3Price + _
job4Price + job5Price
Try
taxRate = Decimal.Parse(Me.txtTaxRate.Text)
Catch ex As FormatException
MsgBox("Invalid Tax Rate")
Me.txtTaxRate.Text = "7.75"
Me.txtTaxRate.Focus()
End Try
Dim totalPartsAndLabor As Decimal = totalParts + totalLabor
taxAmount = totalPartsAndLabor * taxRate / 100
totalOrder = totalPartsAndLabor + taxAmount
Me.txtTotalParts.Text = Format(totalParts, "F")
Me.txtTotalLabor.Text = Format(totalLabor, "F")
Me.txtTaxAmount.Text = Format(taxAmount, "F")
Me.txtTotalOrder.Text = Format(totalOrder, "F")
End Sub
|
|
Saving the Customer Order |
|
Once a work order has been completed, it can be saved. There are various ways you can solve me. One of the easiest ways would consist of saving each order directly in its own file. The problem is that this would create too many files, especially if this business is successful. Another easy solution would consist of directly saving all orders of one customer in a particular file. This is suitable if the business deals with regularly returning customers, which is not always the case. Overall, you should provide as much flexibility as possible. To make our application useful, we will allow the user to save an order to a file that whose name is after the day this order was placed. We will prompt the user so he or she can change the name of the file if necessary. When saving an order, if there is no order with that name, we will create a new XML file and store the order in it. If a file already exists under that name, then we will add the current order as part of the file. That way, all orders of a certain date can be saved in the same file, making it possible to retrieve the list of repairs that were completed on a certain day. |
|
|
Imports System.Data
Imports System.IO
Imports System.Xml
Public Class Form1
Inherits System.Windows.Forms.Form
|
Private Sub btnSaveOrder_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSaveOrder.Click
' Get the date that the Order Date displays
Dim tmeToday As DateTime = Me.dtpOrderDate.Value
Dim day As Integer = tmeToday.Day
Dim month As Integer = tmeToday.Month
Dim year As Integer = tmeToday.Year
Dim strMonth() As String = {"Jan", "Feb", "Mar", "Apr", _
"May", "Jun", "Jul", "Aug", _
"Sep", "Oct", "Nov", "Dec"}
Dim strFilename As String = CStr(day) & strMonth(month - 1) & _
CStr(year) + ".xml"
' If the file exists already, open it
If File.Exists(strFilename) Then
Me.dsWorkorders.ReadXml(strFilename)
End If
' Create a new record for the Workorder table
Dim rowNewOrder As DataRow = Me.dsWorkorders.Tables("Workorder").NewRow()
rowNewOrder("CustomerName") = Me.txtCustomerName.Text
rowNewOrder("Address") = Me.txtAddress.Text
rowNewOrder("City") = Me.txtCity.Text
rowNewOrder("State") = Me.txtState.Text
rowNewOrder("ZIPCode") = Me.txtZIPCode.Text
rowNewOrder("Make") = Me.txtMake.Text
rowNewOrder("Model") = Me.txtModel.Text
rowNewOrder("CarYear") = Me.txtCarYear.Text
rowNewOrder("Problem") = Me.txtProblem.Text
rowNewOrder("PartName1") = Me.txtPartName1.Text
rowNewOrder("UnitPrice1") = Me.txtUnitPrice1.Text
rowNewOrder("Quantity1") = Me.txtQuantity1.Text
rowNewOrder("SubTotal1") = Me.txtSubTotal1.Text
rowNewOrder("PartName2") = Me.txtPartName2.Text
rowNewOrder("UnitPrice2") = Me.txtUnitPrice2.Text
rowNewOrder("Quantity2") = Me.txtQuantity2.Text
rowNewOrder("SubTotal2") = Me.txtSubTotal2.Text
rowNewOrder("PartName3") = Me.txtPartName3.Text
rowNewOrder("UnitPrice3") = Me.txtUnitPrice3.Text
rowNewOrder("Quantity3") = Me.txtQuantity3.Text
rowNewOrder("SubTotal3") = Me.txtSubTotal3.Text
rowNewOrder("PartName4") = Me.txtPartName4.Text
rowNewOrder("UnitPrice4") = Me.txtUnitPrice4.Text
rowNewOrder("Quantity4") = Me.txtQuantity4.Text
rowNewOrder("SubTotal4") = Me.txtSubTotal4.Text
rowNewOrder("PartName5") = Me.txtPartName5.Text
rowNewOrder("UnitPrice5") = Me.txtUnitPrice5.Text
rowNewOrder("Quantity5") = Me.txtQuantity5.Text
rowNewOrder("SubTotal5") = Me.txtSubTotal5.Text
rowNewOrder("JobPerformed1") = Me.txtJobPerformed1.Text
rowNewOrder("JobPrice1") = Me.txtJobPrice1.Text
rowNewOrder("JobPerformed2") = Me.txtJobPerformed2.Text
rowNewOrder("JobPrice2") = Me.txtJobPrice2.Text
rowNewOrder("JobPerformed3") = Me.txtJobPerformed3.Text
rowNewOrder("JobPrice3") = Me.txtJobPrice3.Text
rowNewOrder("JobPerformed4") = Me.txtJobPerformed4.Text
rowNewOrder("JobPrice4") = Me.txtJobPrice4.Text
rowNewOrder("JobPerformed5") = Me.txtJobPerformed5.Text
rowNewOrder("JobPrice5") = Me.txtJobPrice5.Text
rowNewOrder("Recommendations") = Me.txtRecommendations.Text
rowNewOrder("TotalParts") = Me.txtTotalParts.Text
rowNewOrder("TotalLabor") = Me.txtTotalLabor.Text
rowNewOrder("TaxRate") = Me.txtTaxRate.Text
rowNewOrder("TaxAmount") = Me.txtTaxAmount.Text
rowNewOrder("TotalOrder") = Me.txtTotalOrder.Text
' Add the new record to the AvailableItems table
Me.dsWorkorders.Tables("Workorder").Rows.Add(rowNewOrder)
' Update the XML file
Me.dsWorkorders.WriteXml(strFilename)
' Reset the controls in case the user wants to add another record
Me.btnResetOrder_Click(sender, e)
End Sub
|
|
Opening Customers' Orders |
|
It is typical for a business to sell many products on the same way, just as is usual for a repair business to perform various transactions on the same day. When addressing the ability to save work orders, we allowed the user to save many orders of a typical day in the same file. In the same way, we will allow the user to open a file that contains all orders placed on a certain day. This would allow the management to review daily easily. |
|
|
Imports System.Data
Imports System.IO
Imports System.Xml
Public Class Workorders
Inherits System.Windows.Forms.Form
|
Private Sub btnOpen_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnOpen.Click
' Get the date that the Order Date displays
Dim tmeToday As DateTime = Me.dtpOrderDate.Value
Dim day As Integer = tmeToday.Day
Dim month As Integer = tmeToday.Month
Dim year As Integer = tmeToday.Year
Dim strMonth() As String = {"Jan", "Feb", "Mar", "Apr", _
"May", "Jun", "Jul", "Aug", _
"Sep", "Oct", "Nov", "Dec"}
Dim strFilename As String = CStr(day) & strMonth(month - 1) & _
CStr(year) & ".xml"
' If the file exists already, open it
If File.Exists(strFilename) Then
' Empty the local data set of any data. This is required if
' we want the user to be able to open different daily sets of repairs
Me.dsWorkorders.Clear()
' Open the set of orders placed on the day selected
dsWorkorders.ReadXml(strFilename)
' Because a control can be bound anew every time the user opens a new set
' Unbind each control to refresh it
txtCustomerName.DataBindings.Clear()
txtAddress.DataBindings.Clear()
txtCity.DataBindings.Clear()
txtState.DataBindings.Clear()
txtZIPCode.DataBindings.Clear()
txtMake.DataBindings.Clear()
txtModel.DataBindings.Clear()
txtCarYear.DataBindings.Clear()
txtProblem.DataBindings.Clear()
txtPartName1.DataBindings.Clear()
txtUnitPrice1.DataBindings.Clear()
txtQuantity1.DataBindings.Clear()
txtSubTotal1.DataBindings.Clear()
txtPartName2.DataBindings.Clear()
txtUnitPrice2.DataBindings.Clear()
txtQuantity2.DataBindings.Clear()
txtSubTotal2.DataBindings.Clear()
txtPartName3.DataBindings.Clear()
txtUnitPrice3.DataBindings.Clear()
txtQuantity3.DataBindings.Clear()
txtSubTotal3.DataBindings.Clear()
txtPartName4.DataBindings.Clear()
txtUnitPrice4.DataBindings.Clear()
txtQuantity4.DataBindings.Clear()
txtSubTotal4.DataBindings.Clear()
txtPartName5.DataBindings.Clear()
txtUnitPrice5.DataBindings.Clear()
txtQuantity5.DataBindings.Clear()
txtSubTotal5.DataBindings.Clear()
txtJobPerformed1.DataBindings.Clear()
txtJobPrice1.DataBindings.Clear()
txtJobPerformed2.DataBindings.Clear()
txtJobPrice2.DataBindings.Clear()
txtJobPerformed3.DataBindings.Clear()
txtJobPrice3.DataBindings.Clear()
txtJobPerformed4.DataBindings.Clear()
txtJobPrice4.DataBindings.Clear()
txtJobPerformed5.DataBindings.Clear()
txtJobPrice5.DataBindings.Clear()
txtRecommendations.DataBindings.Clear()
txtTotalParts.DataBindings.Clear()
txtTotalLabor.DataBindings.Clear()
txtTaxRate.DataBindings.Clear()
txtTaxAmount.DataBindings.Clear()
txtTotalOrder.DataBindings.Clear()
' Bind each control with data gotten from the newly opened file
txtCustomerName.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.CustomerName"))
txtAddress.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.Addres"))
txtCity.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.City"))
txtState.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.State"))
txtZIPCode.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.ZIPCode"))
txtMake.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.Make"))
txtModel.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.Model"))
txtCarYear.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.CarYear"))
txtProblem.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.Problem"))
txtPartName1.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.PartName1"))
txtUnitPrice1.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.UnitPrice1"))
txtQuantity1.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.Quantity1"))
txtSubTotal1.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.SubTotal1"))
txtPartName2.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.PartName2"))
txtUnitPrice2.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.UnitPrice2"))
txtQuantity2.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.Quantity2"))
txtSubTotal2.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.SubTotal2"))
txtPartName3.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.PartName3"))
txtUnitPrice3.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.UnitPrice3"))
txtQuantity3.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.Quantity3"))
txtSubTotal3.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.SubTotal3"))
txtPartName4.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.PartName4"))
txtUnitPrice4.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.UnitPrice4"))
txtQuantity4.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.Quantity4"))
txtSubTotal4.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.SubTotal4"))
txtPartName5.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.PartName5"))
txtUnitPrice5.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.UnitPrice5"))
txtQuantity5.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.Quantity5"))
txtSubTotal5.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.SubTotal5"))
txtJobPerformed1.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.JobPerformed1"))
txtJobPrice1.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.JobPrice1"))
txtJobPerformed2.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.JobPerformed2"))
txtJobPrice2.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.JobPrice2"))
txtJobPerformed3.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.JobPerformed3"))
txtJobPrice3.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.JobPrice3"))
txtJobPerformed4.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.JobPerformed4"))
txtJobPrice4.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.JobPrice4"))
txtJobPerformed5.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.JobPerformed5"))
txtJobPrice5.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.JobPrice5"))
txtRecommendations.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.Recommendation"))
txtTotalParts.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.TotalPart"))
txtTotalLabor.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.TotalLabor"))
txtTaxRate.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.TaxRate"))
txtTaxAmount.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.TaxAmount"))
txtTotalOrder.DataBindings.Add(New System.Windows.Forms.Binding("Text", dsWorkorders, "Workorder.TotalOrder"))
Else ' If there is no data, let the user know
MsgBox(String.Concat("No workorder available for ", Me.dtpOrderDate.Value.ToString()))
End If
End Sub
|
|
|
||
| Home | Copyright © 2005 FunctionX, Inc. | |
|
|
||