diff --git a/Cicm.Database/Models/ResolutionsByGpu.cs b/Cicm.Database/Models/ResolutionsByGpu.cs index 44a7d41a..7f9dbce5 100644 --- a/Cicm.Database/Models/ResolutionsByGpu.cs +++ b/Cicm.Database/Models/ResolutionsByGpu.cs @@ -29,12 +29,15 @@ *******************************************************************************/ using System.ComponentModel; +using Microsoft.AspNetCore.Mvc; namespace Cicm.Database.Models { public class ResolutionsByGpu : BaseModel { - public int GpuId { get; set; } + [Remote("VerifyUnique", "ResolutionsByGpu", "Admin", AdditionalFields = nameof(ResolutionId))] + public int GpuId { get; set; } + [Remote("VerifyUnique", "ResolutionsByGpu", "Admin", AdditionalFields = nameof(GpuId))] public int ResolutionId { get; set; } [DisplayName("GPU")] diff --git a/cicm_web/Areas/Admin/Controllers/ResolutionsByGpuController.cs b/cicm_web/Areas/Admin/Controllers/ResolutionsByGpuController.cs index 8b2811a7..13e808e6 100644 --- a/cicm_web/Areas/Admin/Controllers/ResolutionsByGpuController.cs +++ b/cicm_web/Areas/Admin/Controllers/ResolutionsByGpuController.cs @@ -169,5 +169,14 @@ namespace cicm_web.Areas.Admin.Controllers { return _context.ResolutionsByGpu.Any(e => e.Id == id); } + + [AcceptVerbs("Get", "Post")] + public async Task VerifyUnique(int gpuId, int resolutionId) + { + return await _context.ResolutionsByGpu.FirstOrDefaultAsync(i => i.GpuId == gpuId && + i.ResolutionId == resolutionId) is null + ? Json(true) + : Json("The selected GPU already has the selected resolution."); + } } } \ No newline at end of file diff --git a/cicm_web/Areas/Admin/Views/ResolutionsByGpu/Create.cshtml b/cicm_web/Areas/Admin/Views/ResolutionsByGpu/Create.cshtml index cbbd772d..a129da9b 100644 --- a/cicm_web/Areas/Admin/Views/ResolutionsByGpu/Create.cshtml +++ b/cicm_web/Areas/Admin/Views/ResolutionsByGpu/Create.cshtml @@ -22,6 +22,9 @@ class="form-control" asp-items="ViewBag.GpuId"> + +
netcoreapp2.2 - 3.0.99.503 + 3.0.99.504 Canary Islands Computer Museum Copyright © 2003-2018 Natalia Portillo Canary Islands Computer Museum Website