From 9345288c2c384f39d16eef965311c67b62488216 Mon Sep 17 00:00:00 2001 From: Mikayla Dobson Date: Tue, 31 Oct 2023 18:25:01 -0500 Subject: [PATCH] improved routing and navigation --- FakePieShop/Controllers/HomeController.cs | 23 ++ FakePieShop/Controllers/PieController.cs | 2 +- .../Models/ViewModels/HomeViewModel.cs | 12 + FakePieShop/Views/Home/Index.cshtml | 56 ++++ FakePieShop/Views/Pie/List.cshtml | 2 +- FakePieShop/Views/Shared/_Layout.cshtml | 13 +- FakePieShop/Views/_ViewImports.cshtml | 3 +- FakePieShop/bin/Debug/net6.0/FakePieShop.dll | Bin 66560 -> 80896 bytes FakePieShop/bin/Debug/net6.0/FakePieShop.pdb | Bin 35692 -> 40640 bytes ....GeneratedMSBuildEditorConfig.editorconfig | 4 + FakePieShop/obj/Debug/net6.0/FakePieShop.dll | Bin 66560 -> 80896 bytes FakePieShop/obj/Debug/net6.0/FakePieShop.pdb | Bin 35692 -> 40640 bytes .../obj/Debug/net6.0/project.razor.vs.json | 2 +- .../obj/Debug/net6.0/ref/FakePieShop.dll | Bin 17408 -> 19456 bytes .../obj/Debug/net6.0/refint/FakePieShop.dll | Bin 17408 -> 19456 bytes .../Debug/net6.0/staticwebassets.build.json | 314 +++++++++--------- ....GeneratedMSBuildEditorConfig.editorconfig | 4 + 17 files changed, 271 insertions(+), 164 deletions(-) create mode 100644 FakePieShop/Controllers/HomeController.cs create mode 100644 FakePieShop/Models/ViewModels/HomeViewModel.cs create mode 100644 FakePieShop/Views/Home/Index.cshtml diff --git a/FakePieShop/Controllers/HomeController.cs b/FakePieShop/Controllers/HomeController.cs new file mode 100644 index 0000000..1e166c4 --- /dev/null +++ b/FakePieShop/Controllers/HomeController.cs @@ -0,0 +1,23 @@ +using FakePieShop.Models; +using FakePieShop.Models.ViewModels; +using Microsoft.AspNetCore.Mvc; + +namespace FakePieShop.Controllers +{ + public class HomeController : Controller + { + private readonly IPieRepository _pieRepository; + + public HomeController(IPieRepository pieRepository) + { + _pieRepository = pieRepository; + } + + public IActionResult Index() + { + var pies = _pieRepository.PiesOfTheWeek; + var viewModel = new HomeViewModel(pies); + return View(viewModel); + } + } +} diff --git a/FakePieShop/Controllers/PieController.cs b/FakePieShop/Controllers/PieController.cs index fcbbbda..991a367 100644 --- a/FakePieShop/Controllers/PieController.cs +++ b/FakePieShop/Controllers/PieController.cs @@ -17,7 +17,7 @@ namespace FakePieShop.Controllers public IActionResult List() { - PieListViewModel pieListViewModel = new PieListViewModel(_pieRepository.AllPies, "Cheese cakes"); + PieListViewModel pieListViewModel = new PieListViewModel(_pieRepository.AllPies, "All Pies"); return View(pieListViewModel); } diff --git a/FakePieShop/Models/ViewModels/HomeViewModel.cs b/FakePieShop/Models/ViewModels/HomeViewModel.cs new file mode 100644 index 0000000..74884be --- /dev/null +++ b/FakePieShop/Models/ViewModels/HomeViewModel.cs @@ -0,0 +1,12 @@ +namespace FakePieShop.Models.ViewModels +{ + public class HomeViewModel + { + public IEnumerable PiesOfTheWeek { get; set; } + + public HomeViewModel(IEnumerable pies) + { + PiesOfTheWeek = pies; + } + } +} diff --git a/FakePieShop/Views/Home/Index.cshtml b/FakePieShop/Views/Home/Index.cshtml new file mode 100644 index 0000000..bf9e5d1 --- /dev/null +++ b/FakePieShop/Views/Home/Index.cshtml @@ -0,0 +1,56 @@ +@model HomeViewModel + + + +
+ +

Pies of the week

+
Enjoy a weekly selection of our favorite pies
+ +
+
+ @foreach (var pie in Model.PiesOfTheWeek) + { +
+
+ @pie.Name +
+

+

+ +
+

+ @pie.Name +

+
+ @pie.Price.ToString("c") +
+
+
+
+
+ } +
+ +
+
diff --git a/FakePieShop/Views/Pie/List.cshtml b/FakePieShop/Views/Pie/List.cshtml index 8321444..ef61e27 100644 --- a/FakePieShop/Views/Pie/List.cshtml +++ b/FakePieShop/Views/Pie/List.cshtml @@ -14,7 +14,7 @@

- @pie.Name + @pie.Name

@pie.Price.ToString("c") diff --git a/FakePieShop/Views/Shared/_Layout.cshtml b/FakePieShop/Views/Shared/_Layout.cshtml index 3ecdb2f..df9ab1e 100644 --- a/FakePieShop/Views/Shared/_Layout.cshtml +++ b/FakePieShop/Views/Shared/_Layout.cshtml @@ -17,7 +17,7 @@