Skip to content

Commit 1b8de3e

Browse files
committed
Database Edit Method
1 parent cd25d50 commit 1b8de3e

6 files changed

Lines changed: 118 additions & 10 deletions

File tree

.DS_Store

2 KB
Binary file not shown.

CMS.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,9 @@
2828
<ItemGroup>
2929
<Folder Include="Views\Record\" />
3030
<Folder Include="Data\" />
31+
<Folder Include="wwwroot\images\" />
32+
</ItemGroup>
33+
<ItemGroup>
34+
<Content Remove="wwwroot\images\" />
3135
</ItemGroup>
3236
</Project>

Controllers/RecordController.cs

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using CMS.Data;
66
using CMS.Models;
77
using Microsoft.AspNetCore.Mvc;
8+
using Microsoft.EntityFrameworkCore;
89

910
// For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
1011

@@ -26,8 +27,7 @@ public IActionResult Index()
2627

2728
public IActionResult TimeTable()
2829
{
29-
List<Classes> objClassList = _db.Classes.ToList();
30-
Console.Write(objClassList[0].className);
30+
List<Classes> objClassList = _db.Classes.OrderBy(x => x.period).ToList();
3131
return View(objClassList);
3232
}
3333

@@ -40,14 +40,58 @@ public IActionResult AddClass()
4040
{
4141
return View();
4242
}
43+
44+
[HttpGet]
45+
public IActionResult EditClass(int id)
46+
{
47+
var obj = _db.Classes.Find(id);
48+
if (obj == null)
49+
{
50+
return NotFound();
51+
}
52+
return View(obj);
53+
}
54+
55+
[HttpPost]
56+
public IActionResult EditClass(int ID, Classes editedClass)
57+
{
58+
if (ModelState.IsValid)
59+
{
60+
// Update your database with edited class details
61+
_db.Update(editedClass);
62+
_db.SaveChanges();
63+
return RedirectToAction("TimeTable"); // or whatever your main view is
64+
}
65+
return View(editedClass);
66+
}
67+
68+
4369
[HttpPost]
4470
public IActionResult AddClass(Classes obj)
4571
{
46-
_db.Classes.Add(obj);
72+
if (ModelState.IsValid)
73+
{
74+
_db.Classes.Add(obj);
75+
_db.SaveChanges();
76+
return RedirectToAction("TimeTable");
77+
}
78+
return View("AddClass");
79+
}
80+
81+
[HttpPost]
82+
public IActionResult DeleteClass(int ID)
83+
{
84+
var objClass = _db.Classes.Find(ID);
85+
if (objClass == null)
86+
{
87+
return NotFound();
88+
}
89+
_db.Classes.Remove(objClass);
4790
_db.SaveChanges();
4891
return RedirectToAction("TimeTable");
4992
}
5093

94+
5195
[HttpPost]
5296
public ActionResult TestForm(Models.TestResult sm)
5397
{

Views/.DS_Store

2 KB
Binary file not shown.

Views/Record/EditClass.cshtml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
@model Classes
2+
3+
<div class="min-h-screen text-center">
4+
<p class="dark:text-white font-bold tect-2xl md:text-5xl justify-center items-center pb-10">Edit a Class</p>
5+
6+
<form method="post" asp-controller="Record" asp-action="EditClass" asp-route-ID="@Model.ID">
7+
<input class="hidden" asp-for="ID">
8+
<table class="min-w-full bg-transparent shadow-md rounded-lg text-center">
9+
<thead>
10+
<tr>
11+
<th class="py-2 px-4 bg-transparent text-white">Period</th>
12+
<th class="py-2 px-4 bg-transparent text-white">Name</th>
13+
</tr>
14+
</thead>
15+
<tbody>
16+
<tr class="border-t">
17+
<td class="py-2 px-4">
18+
<input asp-for="period" type="text" class="form-control w-full bg-transparent rounded px-2 py-1 dark:text-white placeholder-white::placeholder text-center outline-none" placeholder="" />
19+
<span asp-validation-for="period" class="text-danger"></span>
20+
</td>
21+
<td class="py-2 px-4">
22+
<input asp-for="className" type="text" class="form-control w-full bg-transparent rounded px-2 py-1 dark:text-white placeholder-white::placeholder text-center outline-none" placeholder="" />
23+
<span asp-validation-for="className" class="text-danger"></span>
24+
</td>
25+
</tr>
26+
</tbody>
27+
</table>
28+
29+
<div class="flex items-center justify-center mt-2 f">
30+
<div class="text-center mt-6 inline-flex">
31+
<button type="submit" class="dark:text-white border dark:border-white bg-transparent font-semibold hover:bg-gray-500 hover:text-gray-800 py-2 px-4 rounded items-center justify-center transition duration-100 ease-in-out">
32+
Edit to Timetable
33+
</button>
34+
</div>
35+
36+
<div class="w-10"> </div>
37+
38+
<div class="text-center mt-6 inline-flex">
39+
<a asp-controller="Record" asp-action="TimeTable" class="text-gray-400 border border-gray-400 bg-transparent font-semibold hover:bg-gray-500 hover:text-gray-800 py-2 px-4 rounded items-center justify-center transition duration-100 ease-in-out">
40+
Back to Timetable
41+
</a>
42+
</div>
43+
</div>
44+
</form>
45+
</div>

Views/Record/TimeTable.cshtml

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
@model List<Classes>
2-
3-
<div class="min-h-screen text-center">
1+
<div class="min-h-screen text-center">
42
<p class="dark:text-white font-bold tect-2xl md:text-5xl justify-center items-center pb-10">Time Table for Today</p>
53

64
<table class="min-w-full bg-transparent shadow-md rounded-lg text-center">
75
<thead>
86
<tr>
9-
<th class="py-2 px-4 bg-transparent text-white">Period</th>
10-
<th class="py-2 px-4 bg-transparent text-white">Name</th>
7+
<th class="py-2 px-4 bg-transparent dark:text-white">Period</th>
8+
<th class="py-2 px-4 bg-transparent dark:text-white">Name</th>
9+
<th class="py-2 px-4 bg-transparent dark:text-white">Actions</th>
1110
</tr>
1211
</thead>
1312
<tbody>
@@ -16,14 +15,30 @@
1615
<tr class="border-t">
1716
<td class="py-2 px-4">@obj.period</td>
1817
<td class="py-2 px-4">@obj.className</td>
18+
<td class="py-2 px-4 w-45">
19+
<div class="flex flex-row text-center justify-center items-center">
20+
<form asp-controller="Record" asp-action="DeleteClass" asp-route-ID="@obj.ID" method="post" class="d-inline">
21+
<button type="submit" class="btn btn-danger border-none btn-sm hover:bg-gray-500">
22+
DELETE
23+
</button>
24+
</form>
25+
26+
<form asp-controller="Record" asp-action="EditClass" asp-route-ID="@obj.ID" method="get" class="d-inline">
27+
<button type="submit" class="btn btn-danger border-none btn-sm hover:bg-gray-500">
28+
EDIT
29+
</button>
30+
</form>
31+
</div>
32+
</td>
33+
1934
</tr>
2035
}
2136
</tbody>
2237
</table>
2338

2439
<div class="text-center mt-6">
25-
<a asp-controller="Record" asp-action="AddClass" class="text-white border border-white bg-transparent font-semibold hover:bg-gray-500 hover:text-gray-800 py-2 px-4 rounded items-center justify-center transition duration-100 ease-in-out">
26-
<i class="bi bi-plus-circle mr-2"> </i> Add New Class
40+
<a asp-controller="Record" asp-action="AddClass" class="dark:text-white border dark:border-white bg-transparent font-semibold hover:bg-gray-500 hover:text-gray-800 py-2 px-4 rounded items-center justify-center transition duration-100 ease-in-out">
41+
Add New Class
2742
</a>
2843
</div>
2944
</div>

0 commit comments

Comments
 (0)