Lab02 – Data Access Layer (DAL) & Razor Pages Task 1 (DAL): 1. Rename the database to PizzaShop. 2. Start the application, create and seed the database. 3. Check whether the database was created and whether there is anything in it. 4. Create 3 new database models: o Person – This model will contain at least the First and Last name of the person that is ordering the pizza and the phone number (to keep things simple, you do not need to validate in any form if the phone number is valid). o Order Item – This model will contain the information about what pizza was ordered with the amount of it (for instance 5x Hawaii). o Order – This model will be used to hold information about Person and the Order Item 5. Seed the database with some Orders. 6. After you are done, create console application and retrieve the seeded data. If you can see the data, congratulation, you have finished the task 1. Task 2 (Razor Pages): 1. Create a new Razor Page, where you have to retrieve all the pizzas from the database with their ingredients. 2. Create a new Razor Page that will contain the form for creating an Order. This form should contain customers first and last name, but not phone number and the pizza name and number of pizzas to be delivered. a. If the form sent to the server is not valid, redirect back to the form. b. If the form is valid, but pizza is not in the database, redirect to form. c. If the form sent is valid, redirect to Index page. 3. Create a Razor Page that will display the list of orders. On each order, display at least the following: a. Name of the customer. b. All pizza order details (pizza names and amounts). 4. Add routes to the navbar, so that you can access the newly created endpoints from anywhere on the website. 5. Prettify the website. Add some CSS and some bootstrap classes to the website, so it looks a bit better than just a plain HTML. Hints: - When adding a migration or updating the database, be sure to have the DAL project setup as the Startup project (The build can succeed, but you will get an error letting you know that it could not be run) - If there happens to be an error in the Console Application and you no longer need it, you can unload it to ensure that the build succeeds (it will be ignored) - It is important to add the new models to DBContext. - Before seeding the database, you need to ensure that you have set up correctly the relationship between the Order and Order item - In this project, we are using lazy loading, which means that you cannot send the db model to front-end and access other database tables (for instance Pizza can’t access Ingredients in the Front-End)