AutoClick Limited (ACL) operates a used automotive sales garage in Accra with two categories of customers, namely Individual and wholesale Dealers. A whole sale dealer is a term used to describe another used automotive dealer who buys from ACL. All whole sale dealers are offered wholesale dealer discount.
ACL also runs a vehicle trade-in policy whereby an individual customer who owns a vehicle can trade in their vehicle at a negotiated price.
Additionally, ACL add interior extras, such as Paint Touch-up, Undercoat, etc. and exterior extras such as wheel upgrades, new tires, etc., on the request of their customers at an additional cost.
Management requires an application that will manage the sale of its used vehicles. You are tasked to develop this app, create a Visual Basic Application that will take as input for each vehicle its lot number, Make, Model, Year, Millage, Engine Capacity and Price. For each Extra its ID, Name, Type (interior or Exterior) and Price. For output the App will list all the vehicle in the garage, all the interior and exterior extras and generate a receipt for each purchase.
The app must also manage the sales of the vehicles and generate a sales receipt. Thus, a user should be able to search for a specific vehicle using their lot Number and when a vehicle is found the information about vehicle to be purchased will be inserted into a receipt by the click of a button. After the vehicle has been successfully inserted into the receipt, additional interior or/and exterior extras should/can be inserted into the receipt. If available, the trade-in vehicle and its price must also be added to the receipt.
Apart from that, for each receipt, the app must calculate and display their corresponding costs of each inserted item as well as the total cost of the transaction, the total discount granted, the total tax, amount taxable and the payable amount. The user should also be able to remove specific vehicles or extras from the receipt or/and clear all the items from the receipt by selecting them from the receipt and removing them by clicking a button. By clicking on the appropriate buttons the user should be able to save and print the receipt.
Finally, the app should be able to display a brief report in the form of total due for all sales, number of vehicles sold, and average total due per vehicle sold.
Application Use and Special Instructions
The application user will enter the lot numbers that identifies a vehicle, the year, and the vehicle make and model, Millage, Engine Capacity and Price for each vehicle in the garage and for each Extra its ID, Name, Type (interior or Exterior) and Price.
For output the App will list all the vehicle in the garage, all the interior and exterior extras and generate a receipt for each purchase.
Price and Trade-in:
The price for a vehicle is entered as the vehicle information is being entered into the App. If the purchaser has a trade-in vehicle, the value of the trade-in is negotiated and this value is entered into the trade-in portion of the receipt.
If the purchaser does not have a trade-in, then the value “0.00” should display in the trade-in portion.
If the buyer is another car dealership, then the application user will check the wholesale discount checkbox and this will give the purchasing wholesale dealer a 20% discount on the vehicle price only.
Sometimes customers wish to have a used vehicle touched-up or have extras added prior to taking possession of the vehicle. Extras are not included in the price and the customer pays extra according to the table given below. For both Interior and Exterior Extras, the None RadioButton control should be checked as the default when the form starts up.
Exterior Extras Interior Extras
Item Cost Item Cost
No exterior extras ₵0.00 New Tires ₵450.00
Paint Touch-Up ₵250.00 New HD Radio ₵190.95
Undercoat ₵300.00 Built-in GPS ₵700.00
Both ₵550.00 New Floor Mats ₵55.00
Add as many Exterior extras as possible Add as many interior extras as possible
• After lunching the App, the user will need to enter information about each of the vehicles in the garage. This includes entering the lot numbers that identifies a vehicle, the year, and the vehicle make and model, Millage, Engine Capacity and Price, entering information for each extra including ID, Name, Type (interior or Exterior).
• To conduct a sale the application users selects from among the list of vehicles and extras to add to a receipt. The app must not allow an extra into a receipt until at least one vehicle is inserted. When the a vehicle and extras is inserted into a receipt, the app must calculate:
• Subtotal: use a function to compute this as the price less the amount of discount (if any) plus the cost of extras (if any).
• Sales Tax: Regular customers must pay a state sales tax on their purchase. The tax rate is 5% and is computed on the subtotal. Wholesale dealers purchasing a vehicle do NOT pay any sales tax. This must be computed using a function.
• Total due: This is computed as the subtotal plus the sales tax less the value of the trade-in (if any).
• Constants: You must declare constants to store the wholesale discount rate, sales tax rate, and cost of exterior and accessory extras, as appropriate.
• Add remarks to the program as required.
• Use the Round method as appropriate for calculations.
a. Validating Data. You must write code to enforce the business rules listed below
i. All data must be converted to the appropriate data type before and after use.
ii. All user inputs must be validate before they are passed to the program. Thus, all data entered into the GUI must first be checked for appropriateness and politely communicate directions to the user in the event the input in not appropriate.
iii. All output must be properly formatted
iv. The right control/object must be used to design the user interface (GUI) for input and output
b. Compute Button Coding.
i. Compute the wholesale discount using the discount rate when the wholesale discount Checkbox is checked; otherwise, the discount is zero. The discount applies to the price only – extras are charged at the full rate.
ii. Compute the cost of extras (hint: use a local accumulation variable to accumulate both exterior and accessory extra charges).
iii. Compute the subtotal, sales tax, and total due.
iv. Accumulate the grand total due (that is the total of all total due values) to a decimal variable.
v. Accumulate a count of the number of vehicles sold to an integer variable.
vi. Use MenuStrip, ContextMenuStrip, DataGridView, TabControl controls for full marks.
c. Remove Item from Receipt Button Coding.
i. User selects a specific item from receipt click of button/menuitem/contextmenuitem
ii. Clear that item from the receipt
iii. Update all output textboxes to reflect the new state of the receipt.
d. Clear Receipt Button Coding.
i. Clear all data from the receipt
ii. All output textboxes must be set to “0.00”).
iii. Uncheck all CheckBox controls.
e. Print Receipt Button Coding.
When the user click on the Print button/menuitem/contextmenuitem, the app will allow him/her to print out the receipt
f. Save Receipt Button Coding.
When the user click on the save button/menuitem/contextmenuitem, the app will allow him/her to save the receipt to the computer in either MS word or Excel format.
g. Totals Button Coding.
Display a message box that gives the total due for all sales, number of vehicles sold, and average total due per vehicle sold.
h. Exit Button Coding.
When the Button is clicked, do not automatically close the form. Instead, write code to only close the form if the application user responds Yes to the question shown in this figure. The code should default the selection to the No button.
END OF QUESTIONS