Provide a consistent and logical navigation system the user


Project Assignment- New Car Builder

The goal of this assignment is to give you some experience creating web applications with a GridView control and using dynamic binding for dynamic data displays.

Requirements:

1. Create a table named "Cars" in your database with the following fields:

Field

Data Type

CarID

int

CarMake

varchar(MAX)

CarModel

varchar(MAX)

CarYear

int

BasePrice

float

TotalSales

float

TotalQuantitySold

int

2. Create a table named "Packages" in your database with the following fields:

Field

Data Type

CarID

int

PackageDescription

varchar(MAX)

Price

float

TotalQuantitySold

int

3. Design the user interface (input form)

a. Add form controls for the user to enter their information name, address, and phone number.

b. Add a form control that allows the user to choosethe option to buy or lease the car they build.

c. Add a form control that allows the user to choose the option to have a dealership contact them or they would rather visit a dealership.

d. Use a drop-down box or list to display a list of car makes.

e. Use a drop-down box or list to display a list of car models for a previously selected make. The items in this list are tied to the selection in the car makes drop-down list. This means this drop-down box's values should change anytime the user chooses another make.

f. Add a form control that allows the user to choose a color for the car.

g. Put a GridView control on your form that will be used to display all the available packages for a particular car make and model and it will allow the user to select packages that will be added to the car they are building. This input GridView display will be dynamic with 3 columns. Each row in the GridView will correspond to a Package option stored in the database for a particular car's Make and Model.

i. First column displays the PackageDescription coming from the database.
ii. Second column displays the Price of the Package.
iii. Third column contains a checkbox for the user to select the item to add to the car they are building.

4. Use server-side input validation

a. The name, address, and phone number textboxes cannot be blank.
b. The user must select an option to either buyor lease.
c. The user must select an option to have a dealership contact them or not.
d. The user must choose a make and model before they can submit the form to buy/lease a new car.

5. Server-side processing

a. Create a separate ClassLibrary project that contains 3 classes. Name the library project CarLibrary
b. The first class Carrepresents a newly built car. It should contain 5 elements, as class properties, to be displayed in the output GridView (in

Part 6). The 5 elements pertain to a single car that was built.

i. Make, Model, Year, Color, TotalCost (base price plus all packages added to the newly built car), and a collection of packages chosen by the user.

ii. The class should contain methods to add and remove packages along with any other class members that may be necessary. The packages added to the Car object are simply instances of the CarOption class..

c. The second class CarOption should contain elements and properties to store information about a package that was chosen.

d. The third class should contain functions that deal with processing the newly built car and any other operations that may be necessary:

i. You need one function that receives a Car object that represents a newly built car, and updates the TotalSales and TotalQuantitySoldfields in the Cars table for thespecific Car Make and Model in the database. This function should also update the TotalQuantitySold field in the Packages table.

ii. One function that computes the TotalCost of a Car which is based on the Car object's BasePrice (from the database) and all the options added to the Car object.

6. Display car buildoutput

a. Display the name, address, phone number, buy/lease choice, and dealership contact choice.

b. Display the car's make, model, and color.

c. Display a dynamicGridView as Illustrated below. It needs to display the car options (packages) that were ordered for the newly built car. The GridView must display the ArrayListof car options (packages) from part 5b; this is what should be bound to this GridView in order to display the newly build car.

d. "Total Cost" is calculated using the base price of the car and all the packages added to the base model.

e. The last row of the GridView should display the totals for the Quantity column, and the Total Cost column. You need to implement this as a footer of the GridView.

Output GridView

Package Description

Price

...

...

...

...

Total Cost

$ ...

7. Management report

a. Create a management report that will display the TotalSalesand TotalQuantityOrderfor each Car in the database.
b. The data should be displayed in descending order.
c. This information could be displayed on the same page or on a separate ASPX page.

8. Visibility control

a. Control the visibility of both the input GridView and the output GridView displays. You want to show the input GridView when building a new car to order and hide the output Gridview. Then, you want to show the output GridView and hide the input GridView after the build was processed.

9. Good Design:

a. Use server-side input validation.

b. Implement exception handling, so your programs don't crash for any reason.

c. Provide a consistent and logical navigation system. The user should never have to use the browser's Back and Forward buttons to move between pages.

d. Make your presentation clear to the user, providing on-screen instructions wherever needed both for data entry and error correction. If required data is omitted or entries are incorrect, the user should not have to re-enter data that is already correct.

e. Create a good data model and implement the data model by creating the necessary tables in the database. You will be graded on the implementation of your data model.

f. You need to use a proper naming convention for all controls and in your code. I expect you to properly name your classes, variables, functions, etc...

g. You cannot use the SQLDataSource control or any other controls to work with the database. You need to handle the code manually using ADO.NET programming.

h. You must use component-based software design. This means writing as much code in classes and functions of classes instead of in the GUI.

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: Provide a consistent and logical navigation system the user
Reference No:- TGS02453082

Expected delivery within 24 Hours