diff --git a/Cicm.Database/Models/ScreensByMachine.cs b/Cicm.Database/Models/ScreensByMachine.cs index f693d3be..95a860a9 100644 --- a/Cicm.Database/Models/ScreensByMachine.cs +++ b/Cicm.Database/Models/ScreensByMachine.cs @@ -28,7 +28,6 @@ // Copyright © 2003-2018 Natalia Portillo *******************************************************************************/ -using System.ComponentModel; using Microsoft.AspNetCore.Mvc; namespace Cicm.Database.Models @@ -40,8 +39,7 @@ namespace Cicm.Database.Models [Remote("VerifyUnique", "ScreensByMachine", "Admin", AdditionalFields = nameof(ScreenId))] public int MachineId { get; set; } - [DisplayName("GPU")] - public virtual Screen Screen { get; set; } + public virtual Screen Screen { get; set; } public virtual Machine Machine { get; set; } } } \ No newline at end of file diff --git a/cicm_web/Areas/Admin/Controllers/ScreensByMachineController.cs b/cicm_web/Areas/Admin/Controllers/ScreensByMachineController.cs index 6c434fef..5a117e43 100644 --- a/cicm_web/Areas/Admin/Controllers/ScreensByMachineController.cs +++ b/cicm_web/Areas/Admin/Controllers/ScreensByMachineController.cs @@ -1,6 +1,7 @@ using System.Linq; using System.Threading.Tasks; using Cicm.Database.Models; +using cicm_web.Areas.Admin.Models; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; @@ -25,7 +26,14 @@ namespace cicm_web.Areas.Admin.Controllers { IIncludableQueryable cicmContext = _context.ScreensByMachine.Include(s => s.Machine).Include(s => s.Screen); - return View(await cicmContext.ToListAsync()); + return View(await cicmContext.Select(s => new ScreensByMachineViewModel + { + Id = s.Id, + Screen = s.Screen.NativeResolution != null + ? $"{s.Screen.Diagonal}\" {s.Screen.Type} with {s.Screen.NativeResolution}" + : $"{s.Screen.Diagonal}\" {s.Screen}", + Machine = $"{s.Machine.Company.Name} {s.Machine.Name}" + }).OrderBy(s => s.Machine).ThenBy(s => s.Screen).ToListAsync()); } // GET: ScreensByMachine/Details/5 diff --git a/cicm_web/Areas/Admin/Models/ScreensByMachineViewModel.cs b/cicm_web/Areas/Admin/Models/ScreensByMachineViewModel.cs new file mode 100644 index 00000000..40bbe762 --- /dev/null +++ b/cicm_web/Areas/Admin/Models/ScreensByMachineViewModel.cs @@ -0,0 +1,38 @@ +/****************************************************************************** +// Canary Islands Computer Museum Website +// ---------------------------------------------------------------------------- +// +// Filename : GpusByMachine.cs +// Author(s) : Natalia Portillo +// +// --[ Description ] ---------------------------------------------------------- +// +// Junction betweeen GPU and machine. +// +// --[ License ] -------------------------------------------------------------- +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// ---------------------------------------------------------------------------- +// Copyright © 2003-2018 Natalia Portillo +*******************************************************************************/ + +namespace cicm_web.Areas.Admin.Models +{ + public class ScreensByMachineViewModel : BaseViewModel + { + public string Machine; + public string Screen; + } +} \ No newline at end of file diff --git a/cicm_web/Areas/Admin/Views/ScreensByMachine/Create.cshtml b/cicm_web/Areas/Admin/Views/ScreensByMachine/Create.cshtml index 70bd4f86..a4234632 100644 --- a/cicm_web/Areas/Admin/Views/ScreensByMachine/Create.cshtml +++ b/cicm_web/Areas/Admin/Views/ScreensByMachine/Create.cshtml @@ -43,4 +43,8 @@
Back to List -
\ No newline at end of file + + +@section Scripts { + @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); } +} \ No newline at end of file diff --git a/cicm_web/Areas/Admin/Views/ScreensByMachine/Edit.cshtml b/cicm_web/Areas/Admin/Views/ScreensByMachine/Edit.cshtml index cf32164c..058754eb 100644 --- a/cicm_web/Areas/Admin/Views/ScreensByMachine/Edit.cshtml +++ b/cicm_web/Areas/Admin/Views/ScreensByMachine/Edit.cshtml @@ -51,4 +51,8 @@
Back to List -
\ No newline at end of file + + +@section Scripts { + @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); } +} \ No newline at end of file diff --git a/cicm_web/Areas/Admin/Views/ScreensByMachine/Index.cshtml b/cicm_web/Areas/Admin/Views/ScreensByMachine/Index.cshtml index 92866253..8d817f5c 100644 --- a/cicm_web/Areas/Admin/Views/ScreensByMachine/Index.cshtml +++ b/cicm_web/Areas/Admin/Views/ScreensByMachine/Index.cshtml @@ -1,14 +1,17 @@ -@using Cicm.Database.Models -@model IEnumerable +@using cicm_web.Areas.Admin.Models +@model IEnumerable @{ ViewData["Title"] = "Index"; } -

Index

+

Screens by machine

- Create New + + Create New +

@@ -23,26 +26,29 @@ - @foreach(ScreensByMachine item in Model) + @foreach(ScreensByMachineViewModel item in Model) { diff --git a/cicm_web/cicm_web.csproj b/cicm_web/cicm_web.csproj index 82d6fa0c..c14173a9 100644 --- a/cicm_web/cicm_web.csproj +++ b/cicm_web/cicm_web.csproj @@ -2,7 +2,7 @@ netcoreapp2.2 - 3.0.99.742 + 3.0.99.744 Canary Islands Computer Museum Copyright © 2003-2018 Natalia Portillo Canary Islands Computer Museum Website
- @Html.DisplayFor(modelItem => item.Screen.Type) + @Html.DisplayFor(modelItem => item.Screen) - @Html.DisplayFor(modelItem => item.Machine.Name) + @Html.DisplayFor(modelItem => item.Machine) - - Edit - | + asp-route-id="@item.Id" + class="btn btn-primary"> Details - | + + + Edit + + asp-route-id="@item.Id" + class="btn btn-danger"> Delete