From b916bcedfadf85db53561121d58692ace132bde5 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sat, 18 May 2019 21:47:50 +0100 Subject: [PATCH] Sort machines in admin page. --- Cicm.Database/Models/Machine.cs | 7 +++ .../Admin/Controllers/MachinesController.cs | 3 +- .../Areas/Admin/Views/Machines/Create.cshtml | 44 +++++++++---- .../Areas/Admin/Views/Machines/Delete.cshtml | 48 +++++++-------- .../Areas/Admin/Views/Machines/Details.cshtml | 61 +++++++++++-------- .../Areas/Admin/Views/Machines/Edit.cshtml | 42 ++++++------- .../Areas/Admin/Views/Machines/Index.cshtml | 32 +++++----- cicm_web/cicm_web.csproj | 2 +- 8 files changed, 136 insertions(+), 103 deletions(-) diff --git a/Cicm.Database/Models/Machine.cs b/Cicm.Database/Models/Machine.cs index ea0673f8..b63af2f5 100644 --- a/Cicm.Database/Models/Machine.cs +++ b/Cicm.Database/Models/Machine.cs @@ -30,6 +30,8 @@ using System; using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations.Schema; namespace Cicm.Database.Models { @@ -59,5 +61,10 @@ namespace Cicm.Database.Models public virtual ICollection Processors { get; set; } public virtual ICollection Sound { get; set; } public virtual ICollection Storage { get; set; } + + [NotMapped] + [DisplayName("Introduced")] + public string IntroducedView => + Introduced == DateTime.MinValue ? "Prototype" : Introduced?.ToShortDateString() ?? "Unknown"; } } \ No newline at end of file diff --git a/cicm_web/Areas/Admin/Controllers/MachinesController.cs b/cicm_web/Areas/Admin/Controllers/MachinesController.cs index 2f17e189..da299794 100644 --- a/cicm_web/Areas/Admin/Controllers/MachinesController.cs +++ b/cicm_web/Areas/Admin/Controllers/MachinesController.cs @@ -55,7 +55,8 @@ namespace cicm_web.Areas.Admin.Controllers { IIncludableQueryable cicmContext = _context.Machines.Include(m => m.Company).Include(m => m.Family); - return View(await cicmContext.ToListAsync()); + return View(await cicmContext.OrderBy(m => m.Company.Name).ThenBy(m => m.Name).ThenBy(m => m.Family) + .ToListAsync()); } // GET: Admin/Machines/Details/5 diff --git a/cicm_web/Areas/Admin/Views/Machines/Create.cshtml b/cicm_web/Areas/Admin/Views/Machines/Create.cshtml index 36e3105d..320875d8 100644 --- a/cicm_web/Areas/Admin/Views/Machines/Create.cshtml +++ b/cicm_web/Areas/Admin/Views/Machines/Create.cshtml @@ -29,6 +29,7 @@ // Copyright © 2003-2018 Natalia Portillo *******************************************************************************/ } +@using Cicm.Database @model Cicm.Database.Models.Machine @{ @@ -45,6 +46,24 @@
+
+ + +
+
+ + +
+
+ + + + +
- - -
-
- - -
diff --git a/cicm_web/Areas/Admin/Views/Machines/Delete.cshtml b/cicm_web/Areas/Admin/Views/Machines/Delete.cshtml index 8276b02a..256d89ba 100644 --- a/cicm_web/Areas/Admin/Views/Machines/Delete.cshtml +++ b/cicm_web/Areas/Admin/Views/Machines/Delete.cshtml @@ -42,30 +42,6 @@

Machine


-
- @Html.DisplayNameFor(model => model.Name) -
-
- @Html.DisplayFor(model => model.Name) -
-
- @Html.DisplayNameFor(model => model.Type) -
-
- @Html.DisplayFor(model => model.Type) -
-
- @Html.DisplayNameFor(model => model.Introduced) -
-
- @Html.DisplayFor(model => model.Introduced) -
-
- @Html.DisplayNameFor(model => model.Model) -
-
- @Html.DisplayFor(model => model.Model) -
@Html.DisplayNameFor(model => model.Company)
@@ -78,6 +54,30 @@
@Html.DisplayFor(model => model.Family.Name)
+
+ @Html.DisplayNameFor(model => model.Name) +
+
+ @Html.DisplayFor(model => model.Name) +
+
+ @Html.DisplayNameFor(model => model.Model) +
+
+ @Html.DisplayFor(model => model.Model) +
+
+ @Html.DisplayNameFor(model => model.Introduced) +
+
+ @Html.DisplayFor(model => model.Introduced) +
+
+ @Html.DisplayNameFor(model => model.Type) +
+
+ @Html.DisplayFor(model => model.Type) +
diff --git a/cicm_web/Areas/Admin/Views/Machines/Details.cshtml b/cicm_web/Areas/Admin/Views/Machines/Details.cshtml index 8ce41482..4eb87fbd 100644 --- a/cicm_web/Areas/Admin/Views/Machines/Details.cshtml +++ b/cicm_web/Areas/Admin/Views/Machines/Details.cshtml @@ -41,30 +41,6 @@

Machine


-
- @Html.DisplayNameFor(model => model.Name) -
-
- @Html.DisplayFor(model => model.Name) -
-
- @Html.DisplayNameFor(model => model.Type) -
-
- @Html.DisplayFor(model => model.Type) -
-
- @Html.DisplayNameFor(model => model.Introduced) -
-
- @Html.DisplayFor(model => model.Introduced) -
-
- @Html.DisplayNameFor(model => model.Model) -
-
- @Html.DisplayFor(model => model.Model) -
@Html.DisplayNameFor(model => model.Company)
@@ -77,9 +53,40 @@
@Html.DisplayFor(model => model.Family.Name)
+
+ @Html.DisplayNameFor(model => model.Name) +
+
+ @Html.DisplayFor(model => model.Name) +
+
+ @Html.DisplayNameFor(model => model.Model) +
+
+ @Html.DisplayFor(model => model.Model) +
+
+ @Html.DisplayNameFor(model => model.Introduced) +
+
+ @Html.DisplayFor(model => model.Introduced) +
+
+ @Html.DisplayNameFor(model => model.Type) +
+
+ @Html.DisplayFor(model => model.Type) +
+ + Edit + + + Back to List + + \ No newline at end of file diff --git a/cicm_web/Areas/Admin/Views/Machines/Edit.cshtml b/cicm_web/Areas/Admin/Views/Machines/Edit.cshtml index 7c36636c..32709fa1 100644 --- a/cicm_web/Areas/Admin/Views/Machines/Edit.cshtml +++ b/cicm_web/Areas/Admin/Views/Machines/Edit.cshtml @@ -29,6 +29,7 @@ // Copyright © 2003-2018 Natalia Portillo *******************************************************************************/ } +@using Cicm.Database @model Cicm.Database.Models.Machine @{ @@ -48,16 +49,22 @@
- - - +
+
+ +
- - - +
@@ -91,24 +97,14 @@
- - - - -
-
- - -
diff --git a/cicm_web/Areas/Admin/Views/Machines/Index.cshtml b/cicm_web/Areas/Admin/Views/Machines/Index.cshtml index 4af3c339..899d1682 100644 --- a/cicm_web/Areas/Admin/Views/Machines/Index.cshtml +++ b/cicm_web/Areas/Admin/Views/Machines/Index.cshtml @@ -47,23 +47,23 @@ + + - - @@ -72,23 +72,23 @@ @foreach(Machine item in Model) { + + - -
+ @Html.DisplayNameFor(model => model.Company) + + @Html.DisplayNameFor(model => model.Family) + @Html.DisplayNameFor(model => model.Name) - @Html.DisplayNameFor(model => model.Type) - - @Html.DisplayNameFor(model => model.Introduced) - @Html.DisplayNameFor(model => model.Model) - @Html.DisplayNameFor(model => model.Company) + @Html.DisplayNameFor(model => model.Introduced) - @Html.DisplayNameFor(model => model.Family) + @Html.DisplayNameFor(model => model.Type)
+ @Html.DisplayFor(modelItem => item.Company.Name) + + @Html.DisplayFor(modelItem => item.Family.Name) + @Html.DisplayFor(modelItem => item.Name) - @Html.DisplayFor(modelItem => item.Type) - - @Html.DisplayFor(modelItem => item.Introduced) - @Html.DisplayFor(modelItem => item.Model) - @Html.DisplayFor(modelItem => item.Company.Name) + @Html.DisplayFor(modelItem => item.IntroducedView) - @Html.DisplayFor(modelItem => item.Family.Name) + @Html.DisplayFor(modelItem => item.Type) netcoreapp2.2 - 3.0.99.435 + 3.0.99.436 Canary Islands Computer Museum Copyright © 2003-2018 Natalia Portillo Canary Islands Computer Museum Website