From b5731cf129dd91094fd6086ed0901a7bdcafc312 Mon Sep 17 00:00:00 2001 From: Waqar Kabir Date: Mon, 11 Nov 2024 21:21:38 +0500 Subject: [PATCH 1/3] timespan added --- ContosoPizza/Pages/Index.cshtml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ContosoPizza/Pages/Index.cshtml b/ContosoPizza/Pages/Index.cshtml index b5f0c15..bc0e2f3 100644 --- a/ContosoPizza/Pages/Index.cshtml +++ b/ContosoPizza/Pages/Index.cshtml @@ -1,10 +1,11 @@ @page @model IndexModel @{ - ViewData["Title"] = "Home page"; + ViewData["Title"] = "The Home for Pizza Lovers"; + TimeSpan timeInBusiness = DateTime.Now - new DateTime(2018, 8, 14); }
-

Welcome

-

Learn about building Web apps with ASP.NET Core.

+

Welcome to Contoso Pizza

+

The best pizza in town for @Convert.ToInt32(timeInBusiness.TotalDays) days!

From db5f4bb13de3ed67fb807e75bd056cb2fbd9d116 Mon Sep 17 00:00:00 2001 From: waqarkabir Date: Tue, 12 Nov 2024 12:02:55 +0500 Subject: [PATCH 2/3] Pizza List Shown --- ContosoPizza/ContosoPizza.db-shm | Bin 0 -> 32768 bytes ContosoPizza/ContosoPizza.db-wal | 0 ContosoPizza/Pages/PizzaList.cshtml | 37 +++++++++++++++++++++++ ContosoPizza/Pages/PizzaList.cshtml.cs | 22 ++++++++++++++ ContosoPizza/Pages/Shared/_Layout.cshtml | 3 ++ ContosoPizza/Program.cs | 2 +- 6 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 ContosoPizza/ContosoPizza.db-shm create mode 100644 ContosoPizza/ContosoPizza.db-wal create mode 100644 ContosoPizza/Pages/PizzaList.cshtml create mode 100644 ContosoPizza/Pages/PizzaList.cshtml.cs diff --git a/ContosoPizza/ContosoPizza.db-shm b/ContosoPizza/ContosoPizza.db-shm new file mode 100644 index 0000000000000000000000000000000000000000..fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10 GIT binary patch literal 32768 zcmeIuAr62r3Pizza List 🍕 + + + + + + + + + + + + + + + @foreach(var pizza in Model.PizzaList) + { + + + + + + + + } + +
NamePriceSizeGluten FreeDelete
@pizza.Name@($"{pizza.Price:C}")@pizza.Size@(pizza.IsGlutenFree ? "✔️" : string.Empty) +
+ +
+
diff --git a/ContosoPizza/Pages/PizzaList.cshtml.cs b/ContosoPizza/Pages/PizzaList.cshtml.cs new file mode 100644 index 0000000..7efd403 --- /dev/null +++ b/ContosoPizza/Pages/PizzaList.cshtml.cs @@ -0,0 +1,22 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using ContosoPizza.Models; +using ContosoPizza.Services; + +namespace ContosoPizza.Pages +{ + public class PizzaListModel : PageModel + { + private readonly PizzaService _service; + public IList PizzaList {get; set;} = default!; + + public PizzaListModel(PizzaService service) + { + _service = service; + } + public void OnGet() + { + PizzaList = _service.GetPizzas(); + } + } +} diff --git a/ContosoPizza/Pages/Shared/_Layout.cshtml b/ContosoPizza/Pages/Shared/_Layout.cshtml index ff24a5c..dc5a77f 100644 --- a/ContosoPizza/Pages/Shared/_Layout.cshtml +++ b/ContosoPizza/Pages/Shared/_Layout.cshtml @@ -25,6 +25,9 @@ + diff --git a/ContosoPizza/Program.cs b/ContosoPizza/Program.cs index 5c6dd50..dad05a9 100644 --- a/ContosoPizza/Program.cs +++ b/ContosoPizza/Program.cs @@ -9,7 +9,7 @@ builder.Services.AddRazorPages(); builder.Services.AddDbContext(options => options.UseSqlite("Data Source=ContosoPizza.db")); - +builder.Services.AddScoped(); var app = builder.Build(); // Configure the HTTP request pipeline. From b62d8a40ded01e55c2f833bcec81d2512a053dbb Mon Sep 17 00:00:00 2001 From: waqarkabir Date: Tue, 12 Nov 2024 15:17:31 +0500 Subject: [PATCH 3/3] Completed CRUD for Pizza App --- ContosoPizza/ContosoPizza.db | Bin 20480 -> 20480 bytes ContosoPizza/ContosoPizza.db-shm | Bin 32768 -> 32768 bytes ContosoPizza/ContosoPizza.db-wal | Bin 0 -> 24752 bytes ContosoPizza/Pages/PizzaList.cshtml | 39 +++++++++++++++++++++++-- ContosoPizza/Pages/PizzaList.cshtml.cs | 21 +++++++++++++ 5 files changed, 58 insertions(+), 2 deletions(-) diff --git a/ContosoPizza/ContosoPizza.db b/ContosoPizza/ContosoPizza.db index a1f9119180d55faf3a83af703e969230594cd346..2d1ca80ebb2fc4d1524cdfe29ea2dc0b74f9accd 100644 GIT binary patch delta 61 zcmZozz}T>WaRZA14-5Zf2L31flleFBU)(Gx(9A!1vc07khc+jNs2~d)gES|nsB=bU Ra&~H-p~2=y_Ob$uEC3ON5BUH9 delta 59 zcmZozz}T>WaRZA17c>842L31flleDn78GdZpFG*#QcPN#lS9-wBQ>=+QMVvbHzz;8 PD$&q%^CNp%0Y+v37yJ>n diff --git a/ContosoPizza/ContosoPizza.db-shm b/ContosoPizza/ContosoPizza.db-shm index fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10..ecbad1a84083ea14f7869cab635e18931e53ab32 100644 GIT binary patch delta 183 zcmZo@U}|V!s+V}A%K!o_K+MR%AixHsS%EmX>&{=Rd6G)0A0GT?nSP-8-m24!SA27w zO{#jJQD6Wv_dgPV3Qw%(6a`rg!XRtm?2V1l-t3GFOh6IVjg8-#n3);aHa4;w0syNK BG=2a8 delta 80 zcmZo@U}|V!;+1%$%K!t66BkO0TChv7nNGgVi7p`mlYpuI4+Il)WHxT_@ZPw=zytuE CK@Jk1*_&mnQQAe}fUARpa&~la zp`;w-NXmthxGNmR^J18btd!>av|XOP@7w!)_MUz{zqe~n&WrF>oe%-x4t0C^7sW#RQ z&Dt3^6UgfkY;P`&L>A*0UwQ=W7bv3tpQRvx00IagfB*srAbfY*g7*u&_6UBw zUm&kXuzb+7=bS#A(IfcN&j>e%00IagfB*srAbek3heA w;G6dgo>aT5ftwO#>x;t009ILKmY**5I_I{1pc?cryhZP28Z;$=>Px# literal 0 HcmV?d00001 diff --git a/ContosoPizza/Pages/PizzaList.cshtml b/ContosoPizza/Pages/PizzaList.cshtml index 996c674..789753a 100644 --- a/ContosoPizza/Pages/PizzaList.cshtml +++ b/ContosoPizza/Pages/PizzaList.cshtml @@ -6,7 +6,38 @@

Pizza List 🍕

- +
+
+
+ + + +
+
+ + + +
+
+ +
+
+ + + +
+
+ +
+
@@ -19,7 +50,7 @@ - @foreach(var pizza in Model.PizzaList) + @foreach (var pizza in Model.PizzaList) { @@ -35,3 +66,7 @@ }
@pizza.Name
+ +@section Scripts { + +} \ No newline at end of file diff --git a/ContosoPizza/Pages/PizzaList.cshtml.cs b/ContosoPizza/Pages/PizzaList.cshtml.cs index 7efd403..6d2d002 100644 --- a/ContosoPizza/Pages/PizzaList.cshtml.cs +++ b/ContosoPizza/Pages/PizzaList.cshtml.cs @@ -8,6 +8,8 @@ namespace ContosoPizza.Pages public class PizzaListModel : PageModel { private readonly PizzaService _service; + [BindProperty] + public Pizza NewPizza {get; set;} = default!; public IList PizzaList {get; set;} = default!; public PizzaListModel(PizzaService service) @@ -18,5 +20,24 @@ public void OnGet() { PizzaList = _service.GetPizzas(); } + + public IActionResult OnPost() + { + if(!ModelState.IsValid || NewPizza == null) + { + return Page(); + } + + _service.AddPizza(NewPizza); + + return RedirectToAction("Get"); + } + + public IActionResult OnPostDelete(int id) + { + _service.DeletePizza(id); + + return RedirectToAction("Get"); + } } }