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"]
+
|
- @Html.DisplayNameFor(model => model.Company)
+ @L["Company"]
|
- @Html.DisplayNameFor(model => model.Name)
+ @L["Name"]
|
|
- @foreach (var item in Model)
+ @foreach (var item in _machineFamilies)
{
|
- @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
{