diff --git a/Cicm.Database/Models/Screen.cs b/Cicm.Database/Models/Screen.cs index 2ba163e4..678d8f66 100644 --- a/Cicm.Database/Models/Screen.cs +++ b/Cicm.Database/Models/Screen.cs @@ -16,7 +16,6 @@ namespace Cicm.Database.Models [Required] [DisplayName("Diagonal (inches)")] public double Diagonal { get; set; } - [Required] [DisplayName("Native resolution")] public virtual Resolution NativeResolution { get; set; } [Range(2, 281474976710656)] @@ -41,5 +40,7 @@ namespace Cicm.Database.Models public virtual ICollection Resolutions { get; set; } public virtual ICollection ScreensByMachines { get; set; } + [Required] + public int NativeResolutionId { get; set; } } } \ No newline at end of file diff --git a/cicm_web/Areas/Admin/Controllers/ScreensController.cs b/cicm_web/Areas/Admin/Controllers/ScreensController.cs index e00a5c12..2bf99294 100644 --- a/cicm_web/Areas/Admin/Controllers/ScreensController.cs +++ b/cicm_web/Areas/Admin/Controllers/ScreensController.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using Cicm.Database.Models; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.EntityFrameworkCore; namespace cicm_web.Areas.Admin.Controllers @@ -36,15 +37,24 @@ namespace cicm_web.Areas.Admin.Controllers } // GET: Screens/Create - public IActionResult Create() => View(); + public IActionResult Create() + { + ViewData["NativeResolutionId"] = + new + SelectList(_context.Resolutions.OrderBy(r => r.Chars).ThenBy(r => r.Width).ThenBy(r => r.Height).ThenBy(r => r.Colors).Select(r => new {r.Id, Name = r.ToString()}), + "Id", "Name"); + + return View(); + } // POST: Screens/Create // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see http://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] - public async Task Create([Bind("Width,Height,Diagonal,EffectiveColors,Type,Id")] - Screen screen) + public async Task Create( + [Bind("Width,Height,Diagonal,EffectiveColors,Type,NativeResolutionId,Id")] + Screen screen) { if(ModelState.IsValid) { @@ -53,6 +63,11 @@ namespace cicm_web.Areas.Admin.Controllers return RedirectToAction(nameof(Index)); } + ViewData["NativeResolutionId"] = + new + SelectList(_context.Resolutions.OrderBy(r => r.Chars).ThenBy(r => r.Width).ThenBy(r => r.Height).ThenBy(r => r.Colors).Select(r => new {r.Id, Name = r.ToString()}), + "Id", "Name"); + return View(screen); } diff --git a/cicm_web/Areas/Admin/Views/Screens/Create.cshtml b/cicm_web/Areas/Admin/Views/Screens/Create.cshtml index 80ed2323..079ffff2 100644 --- a/cicm_web/Areas/Admin/Views/Screens/Create.cshtml +++ b/cicm_web/Areas/Admin/Views/Screens/Create.cshtml @@ -14,6 +14,16 @@
+
+ + + + +
- - - + +
@@ -68,11 +80,15 @@ + + Back to List + -
- 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/Screens/Index.cshtml b/cicm_web/Areas/Admin/Views/Screens/Index.cshtml index 27e04101..69be5b8e 100644 --- a/cicm_web/Areas/Admin/Views/Screens/Index.cshtml +++ b/cicm_web/Areas/Admin/Views/Screens/Index.cshtml @@ -38,9 +38,9 @@ @Html.DisplayFor(modelItem => item.Diagonal) - - @Html.DisplayFor(modelItem => item.NativeResolution) - + + @item.NativeResolution.ToString() + @Html.DisplayFor(modelItem => item.EffectiveColors) diff --git a/cicm_web/cicm_web.csproj b/cicm_web/cicm_web.csproj index 9fa36a08..c6f6cb25 100644 --- a/cicm_web/cicm_web.csproj +++ b/cicm_web/cicm_web.csproj @@ -2,7 +2,7 @@ netcoreapp2.2 - 3.0.99.722 + 3.0.99.727 Canary Islands Computer Museum Copyright © 2003-2018 Natalia Portillo Canary Islands Computer Museum Website