diff --git a/Marechai/Areas/Admin/Controllers/MachineFamiliesController.cs b/Marechai/Areas/Admin/Controllers/MachineFamiliesController.cs index 467e7e56..9c69fde7 100644 --- a/Marechai/Areas/Admin/Controllers/MachineFamiliesController.cs +++ b/Marechai/Areas/Admin/Controllers/MachineFamiliesController.cs @@ -32,6 +32,7 @@ using System.Linq; using System.Threading.Tasks; using Marechai.Areas.Admin.Models; using Marechai.Database.Models; +using Marechai.ViewModels; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; diff --git a/Marechai/Areas/Admin/Views/Home/Index.cshtml b/Marechai/Areas/Admin/Views/Home/Index.cshtml index a98849f7..d95bf9bc 100644 --- a/Marechai/Areas/Admin/Views/Home/Index.cshtml +++ b/Marechai/Areas/Admin/Views/Home/Index.cshtml @@ -42,8 +42,6 @@
Instruction set extensions by processor
- Machine families -
Machines
Machine photos diff --git a/Marechai/Marechai.csproj b/Marechai/Marechai.csproj index 8e67ce8b..7f7da898 100644 --- a/Marechai/Marechai.csproj +++ b/Marechai/Marechai.csproj @@ -2,7 +2,7 @@ netcoreapp3.1 - 3.0.99.1057 + 3.0.99.1059 Canary Islands Computer Museum Copyright © 2003-2020 Natalia Portillo Canary Islands Computer Museum Website @@ -61,6 +61,9 @@ true + + true + <_ContentIncludedByDefault Remove="Areas\Admin\Views\BrowserTests\Delete.cshtml" /> diff --git a/Marechai/Pages/Admin/Index.razor b/Marechai/Pages/Admin/Index.razor index c90b798a..ed76d96d 100644 --- a/Marechai/Pages/Admin/Index.razor +++ b/Marechai/Pages/Admin/Index.razor @@ -59,6 +59,9 @@
  • @L["Licenses"]
  • +
  • + @L["Machine families"] +
  • diff --git a/Marechai/Areas/Admin/Views/MachineFamilies/Index.cshtml b/Marechai/Pages/Admin/MachineFamilies.razor similarity index 57% rename from Marechai/Areas/Admin/Views/MachineFamilies/Index.cshtml rename to Marechai/Pages/Admin/MachineFamilies.razor index d01830b8..b385ecad 100644 --- a/Marechai/Areas/Admin/Views/MachineFamilies/Index.cshtml +++ b/Marechai/Pages/Admin/MachineFamilies.razor @@ -1,14 +1,14 @@ -@{ - /****************************************************************************** +@{ +/****************************************************************************** // MARECHAI: Master repository of computing history artifacts information // ---------------------------------------------------------------------------- // -// Filename : Index.cshtml +// Filename : MachineFamilies.razor // Author(s) : Natalia Portillo // // --[ Description ] ---------------------------------------------------------- // -// Admin view index +// List of machine families // // --[ License ] -------------------------------------------------------------- // @@ -29,51 +29,68 @@ // Copyright © 2003-2020 Natalia Portillo *******************************************************************************/ } -@model IEnumerable -@{ - ViewData["Title"] = "Machine families (Admin)"; +@page "/admin/machine_families" +@using Marechai.Database.Models +@inherits OwningComponentBase +@inject IStringLocalizer L +@attribute [Authorize(Roles = "UberAdmin, Admin")] +

    @L["Machine families"]

    +@if (_machineFamilies is null) +{ +

    @L["Loading..."]

    + + return; } -

    Machine families

    - - Create new - + + @L["Create new"] +

    - @foreach (var item in Model) + @foreach (var item in _machineFamilies) { } -
    - @Html.DisplayNameFor(model => model.Company) + @L["Company"] - @Html.DisplayNameFor(model => model.Name) + @L["Name"]
    - @Html.DisplayFor(modelItem => item.Company) + @item.Company - @Html.DisplayFor(modelItem => item.Name) + @item.Name - - Details - - - Edit - - - Delete - + + @L["Details"] + + + @L["Edit"] + + + @L["Delete"] +
    \ No newline at end of file + + +@code +{ + List _machineFamilies; + + protected override async Task OnInitializedAsync() + { + _machineFamilies = await Service.GetAsync(); + } +} \ No newline at end of file diff --git a/Marechai/Resources/Services/AdminService.es.resx b/Marechai/Resources/Services/AdminService.es.resx index 96145b17..a7c157d9 100644 --- a/Marechai/Resources/Services/AdminService.es.resx +++ b/Marechai/Resources/Services/AdminService.es.resx @@ -178,4 +178,8 @@ Licencias Licenses. + + Familias de máquinas + Machine families. + \ No newline at end of file diff --git a/Marechai/Resources/Services/MachineFamiliesService.es.resx b/Marechai/Resources/Services/MachineFamiliesService.es.resx new file mode 100644 index 00000000..9f9ede77 --- /dev/null +++ b/Marechai/Resources/Services/MachineFamiliesService.es.resx @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Familias de máquinas + Machine families + + + Cargando... + Message that appears while data is being loaded from database + + + Nombre + Name + + + Compañía + Company + + + Crear nueva + Create new + + + Detalles + Details + + + Editar + Edit + + + Eliminar + Delete + + \ No newline at end of file diff --git a/Marechai/Services/MachineFamiliesService.cs b/Marechai/Services/MachineFamiliesService.cs new file mode 100644 index 00000000..645275a4 --- /dev/null +++ b/Marechai/Services/MachineFamiliesService.cs @@ -0,0 +1,23 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Marechai.Database.Models; +using Marechai.ViewModels; +using Microsoft.EntityFrameworkCore; + +namespace Marechai.Services +{ + public class MachineFamiliesService + { + readonly MarechaiContext _context; + + public MachineFamiliesService(MarechaiContext context) => _context = context; + + public async Task> GetAsync() => + await _context.MachineFamilies.OrderBy(m => m.Company.Name).ThenBy(m => m.Name). + Select(m => new MachineFamilyViewModel + { + Id = m.Id, Company = m.Company.Name, Name = m.Name + }).ToListAsync(); + } +} \ No newline at end of file diff --git a/Marechai/Services/Register.cs b/Marechai/Services/Register.cs index 0c2fcf6f..9583ca82 100644 --- a/Marechai/Services/Register.cs +++ b/Marechai/Services/Register.cs @@ -54,6 +54,7 @@ namespace Marechai.Services services.AddScoped(); services.AddScoped(); services.AddScoped(); + services.AddScoped(); } } } \ No newline at end of file diff --git a/Marechai/Areas/Admin/Models/MachineFamilyViewModel.cs b/Marechai/ViewModels/MachineFamilyViewModel.cs similarity index 76% rename from Marechai/Areas/Admin/Models/MachineFamilyViewModel.cs rename to Marechai/ViewModels/MachineFamilyViewModel.cs index 905246cb..759feca7 100644 --- a/Marechai/Areas/Admin/Models/MachineFamilyViewModel.cs +++ b/Marechai/ViewModels/MachineFamilyViewModel.cs @@ -1,4 +1,4 @@ -namespace Marechai.Areas.Admin.Models +namespace Marechai.ViewModels { public class MachineFamilyViewModel : BaseViewModel {