Add instruction set extension by processor validation.

This commit is contained in:
2019-05-19 19:55:51 +01:00
parent f155cf7ce2
commit 3760df012c
5 changed files with 34 additions and 3 deletions

View File

@@ -28,11 +28,15 @@
// Copyright © 2003-2018 Natalia Portillo
*******************************************************************************/
using Microsoft.AspNetCore.Mvc;
namespace Cicm.Database.Models
{
public class InstructionSetExtensionsByProcessor : BaseModel<int>
{
[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; }

View File

@@ -156,5 +156,18 @@ namespace cicm_web.Areas.Admin.Controllers
{
return _context.InstructionSetExtensionsByProcessor.Any(e => e.Id == id);
}
[AcceptVerbs("Get", "Post")]
public async Task<IActionResult> 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.");
}
}
}

View File

@@ -22,6 +22,9 @@
class="form-control"
asp-items="ViewBag.ProcessorId">
</select>
<span asp-validation-for="ProcessorId"
class="text-danger">
</span>
</div>
<div class="form-group">
<label asp-for="Extension"
@@ -31,6 +34,9 @@
class="form-control"
asp-items="ViewBag.ExtensionId">
</select>
<span asp-validation-for="ExtensionId"
class="text-danger">
</span>
</div>
<div class="form-group">
<input class="btn btn-primary"
@@ -43,4 +49,8 @@
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

View File

@@ -51,4 +51,8 @@
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

View File

@@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<Version>3.0.99.497</Version>
<Version>3.0.99.503</Version>
<Company>Canary Islands Computer Museum</Company>
<Copyright>Copyright © 2003-2018 Natalia Portillo</Copyright>
<Product>Canary Islands Computer Museum Website</Product>