diff --git a/Cicm.Database/Models/InstructionSetExtensionsByProcessor.cs b/Cicm.Database/Models/InstructionSetExtensionsByProcessor.cs index 3089253e..0425aefb 100644 --- a/Cicm.Database/Models/InstructionSetExtensionsByProcessor.cs +++ b/Cicm.Database/Models/InstructionSetExtensionsByProcessor.cs @@ -28,11 +28,15 @@ // Copyright © 2003-2018 Natalia Portillo *******************************************************************************/ +using Microsoft.AspNetCore.Mvc; + namespace Cicm.Database.Models { public class InstructionSetExtensionsByProcessor : BaseModel { + [Remote("VerifyUnique", "InstructionSetExtensionsByProcessor", "Admin", AdditionalFields = nameof(ExtensionId))] public int ProcessorId { get; set; } + [Remote("VerifyUnique", "InstructionSetExtensionsByProcessor", "Admin", AdditionalFields = nameof(ProcessorId))] public int ExtensionId { get; set; } public virtual InstructionSetExtension Extension { get; set; } diff --git a/cicm_web/Areas/Admin/Controllers/InstructionSetExtensionsByProcessorController.cs b/cicm_web/Areas/Admin/Controllers/InstructionSetExtensionsByProcessorController.cs index c6e5c767..9815ff96 100644 --- a/cicm_web/Areas/Admin/Controllers/InstructionSetExtensionsByProcessorController.cs +++ b/cicm_web/Areas/Admin/Controllers/InstructionSetExtensionsByProcessorController.cs @@ -156,5 +156,18 @@ namespace cicm_web.Areas.Admin.Controllers { return _context.InstructionSetExtensionsByProcessor.Any(e => e.Id == id); } + + [AcceptVerbs("Get", "Post")] + public async Task VerifyUnique(int processorId, int extensionId) + { + return + await _context.InstructionSetExtensionsByProcessor.FirstOrDefaultAsync(i => + i.ProcessorId == + processorId && + i.ExtensionId == extensionId) + is null + ? Json(true) + : Json("The selected processor already has the selected extension."); + } } } \ No newline at end of file diff --git a/cicm_web/Areas/Admin/Views/InstructionSetExtensionsByProcessor/Create.cshtml b/cicm_web/Areas/Admin/Views/InstructionSetExtensionsByProcessor/Create.cshtml index 2a570f82..1d1c8260 100644 --- a/cicm_web/Areas/Admin/Views/InstructionSetExtensionsByProcessor/Create.cshtml +++ b/cicm_web/Areas/Admin/Views/InstructionSetExtensionsByProcessor/Create.cshtml @@ -22,6 +22,9 @@ class="form-control" asp-items="ViewBag.ProcessorId"> + +
- \ 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/InstructionSetExtensionsByProcessor/Edit.cshtml b/cicm_web/Areas/Admin/Views/InstructionSetExtensionsByProcessor/Edit.cshtml index 3c3eda32..9920317a 100644 --- a/cicm_web/Areas/Admin/Views/InstructionSetExtensionsByProcessor/Edit.cshtml +++ b/cicm_web/Areas/Admin/Views/InstructionSetExtensionsByProcessor/Edit.cshtml @@ -51,4 +51,8 @@ - \ No newline at end of file + + +@section Scripts { + @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); } +} \ No newline at end of file diff --git a/cicm_web/cicm_web.csproj b/cicm_web/cicm_web.csproj index 31adc55e..508aadcc 100644 --- a/cicm_web/cicm_web.csproj +++ b/cicm_web/cicm_web.csproj @@ -2,7 +2,7 @@ netcoreapp2.2 - 3.0.99.497 + 3.0.99.503 Canary Islands Computer Museum Copyright © 2003-2018 Natalia Portillo Canary Islands Computer Museum Website