From 4a94fe37cc5c6af5f870ffb2f045e2dff502ef63 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sun, 24 May 2020 05:10:00 +0100 Subject: [PATCH] Move document companies admin index to Blazor. --- .../DocumentCompaniesController.cs | 1 + .../Views/DocumentCompanies/Delete.cshtml | 2 +- .../Views/DocumentCompanies/Details.cshtml | 2 +- .../Views/DocumentCompanies/Index.cshtml | 49 ------ Marechai/Marechai.csproj | 5 +- Marechai/Pages/Admin/DocumentCompanies.razor | 97 +++++++++++ Marechai/Pages/Admin/Index.razor | 3 + .../Resources/Services/AdminService.es.resx | 4 + .../Services/DocumentCompaniesService.es.resx | 153 ++++++++++++++++++ Marechai/Services/DocumentCompaniesService.cs | 25 +++ Marechai/Services/Register.cs | 1 + .../DocumentCompanyViewModel.cs | 2 +- 12 files changed, 291 insertions(+), 53 deletions(-) delete mode 100644 Marechai/Areas/Admin/Views/DocumentCompanies/Index.cshtml create mode 100644 Marechai/Pages/Admin/DocumentCompanies.razor create mode 100644 Marechai/Resources/Services/DocumentCompaniesService.es.resx create mode 100644 Marechai/Services/DocumentCompaniesService.cs rename Marechai/{Areas/Admin/Models => ViewModels}/DocumentCompanyViewModel.cs (88%) diff --git a/Marechai/Areas/Admin/Controllers/DocumentCompaniesController.cs b/Marechai/Areas/Admin/Controllers/DocumentCompaniesController.cs index d2bfb05f..4e0704f4 100644 --- a/Marechai/Areas/Admin/Controllers/DocumentCompaniesController.cs +++ b/Marechai/Areas/Admin/Controllers/DocumentCompaniesController.cs @@ -2,6 +2,7 @@ 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/DocumentCompanies/Delete.cshtml b/Marechai/Areas/Admin/Views/DocumentCompanies/Delete.cshtml index 0a28a4f4..34df1657 100644 --- a/Marechai/Areas/Admin/Views/DocumentCompanies/Delete.cshtml +++ b/Marechai/Areas/Admin/Views/DocumentCompanies/Delete.cshtml @@ -1,4 +1,4 @@ -@model Marechai.Areas.Admin.Models.DocumentCompanyViewModel +@model Marechai.ViewModels.DocumentCompanyViewModel @{ ViewData["Title"] = "Delete"; diff --git a/Marechai/Areas/Admin/Views/DocumentCompanies/Details.cshtml b/Marechai/Areas/Admin/Views/DocumentCompanies/Details.cshtml index e89db9c8..5698fd5e 100644 --- a/Marechai/Areas/Admin/Views/DocumentCompanies/Details.cshtml +++ b/Marechai/Areas/Admin/Views/DocumentCompanies/Details.cshtml @@ -1,4 +1,4 @@ -@model Marechai.Areas.Admin.Models.DocumentCompanyViewModel +@model Marechai.ViewModels.DocumentCompanyViewModel @{ ViewData["Title"] = "Details"; diff --git a/Marechai/Areas/Admin/Views/DocumentCompanies/Index.cshtml b/Marechai/Areas/Admin/Views/DocumentCompanies/Index.cshtml deleted file mode 100644 index d6d2b1e8..00000000 --- a/Marechai/Areas/Admin/Views/DocumentCompanies/Index.cshtml +++ /dev/null @@ -1,49 +0,0 @@ -@model IEnumerable - -@{ - ViewData["Title"] = "Index"; -} -

Document companies

-

- - Create New - -

- - - - - - - - - - @foreach (var item in Model) - { - - - - - - } - -
- @Html.DisplayNameFor(model => model.Name) - - @Html.DisplayNameFor(model => model.Company) -
- @Html.DisplayFor(modelItem => item.Name) - - - @Html.DisplayFor(modelItem => item.Company) - - - Details - - - Edit - - - Delete - -
\ No newline at end of file diff --git a/Marechai/Marechai.csproj b/Marechai/Marechai.csproj index 6e7258d6..341f6ce4 100644 --- a/Marechai/Marechai.csproj +++ b/Marechai/Marechai.csproj @@ -2,7 +2,7 @@ netcoreapp3.1 - 3.0.99.1047 + 3.0.99.1049 Canary Islands Computer Museum Copyright © 2003-2020 Natalia Portillo Canary Islands Computer Museum Website @@ -43,6 +43,9 @@ true + + true + <_ContentIncludedByDefault Remove="Areas\Admin\Views\BrowserTests\Delete.cshtml" /> diff --git a/Marechai/Pages/Admin/DocumentCompanies.razor b/Marechai/Pages/Admin/DocumentCompanies.razor new file mode 100644 index 00000000..bc38f863 --- /dev/null +++ b/Marechai/Pages/Admin/DocumentCompanies.razor @@ -0,0 +1,97 @@ +@{ + /****************************************************************************** +// MARECHAI: Master repository of computing history artifacts information +// ---------------------------------------------------------------------------- +// +// Filename : DocumentCompanies.razor +// Author(s) : Natalia Portillo +// +// --[ Description ] ---------------------------------------------------------- +// +// List of document companies +// +// --[ License ] -------------------------------------------------------------- +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// ---------------------------------------------------------------------------- +// Copyright © 2003-2020 Natalia Portillo +*******************************************************************************/ +} + +@page "/admin/document_companies" +@inherits OwningComponentBase +@inject IStringLocalizer L +@attribute [Authorize(Roles = "UberAdmin, Admin")] +

@L["Document companies"]

+@if (_companies is null) +{ +

@L["Loading..."]

+ + return; +} +

+ + @L["Create New"] + +

+ + + + + + + + + + @foreach (var item in _companies) + { + + + + + + } + +
+ @L["Name"] + + @L["Linked company"] +
+ @item.Name + + + item.Company + + + + @L["Details"] + + + @L["Edit"] + + + @L["Delete"] + +
+ +@code +{ + List _companies; + + protected override async Task OnInitializedAsync() + { + _companies = await Service.GetAsync(); + } +} \ No newline at end of file diff --git a/Marechai/Pages/Admin/Index.razor b/Marechai/Pages/Admin/Index.razor index 46c5e320..3fb06945 100644 --- a/Marechai/Pages/Admin/Index.razor +++ b/Marechai/Pages/Admin/Index.razor @@ -45,4 +45,7 @@
  • @L["Companies"]
  • +
  • + @L["Document companies"] +
  • \ No newline at end of file diff --git a/Marechai/Resources/Services/AdminService.es.resx b/Marechai/Resources/Services/AdminService.es.resx index 7d97caa8..c73685d6 100644 --- a/Marechai/Resources/Services/AdminService.es.resx +++ b/Marechai/Resources/Services/AdminService.es.resx @@ -138,4 +138,8 @@ Compañías Companies. + + Compañías de documentos + Document companies. + \ No newline at end of file diff --git a/Marechai/Resources/Services/DocumentCompaniesService.es.resx b/Marechai/Resources/Services/DocumentCompaniesService.es.resx new file mode 100644 index 00000000..5d3610ef --- /dev/null +++ b/Marechai/Resources/Services/DocumentCompaniesService.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 + + + Compañías de documentos + Document companies + + + Cargando... + Message that appears while data is being loaded from database + + + Nombre + Name + + + Compañía vinculada + Linked company + + + Crear nueva + Create new document company + + + Detalles + Details + + + Editar + Edit + + + Eliminar + Delete + + \ No newline at end of file diff --git a/Marechai/Services/DocumentCompaniesService.cs b/Marechai/Services/DocumentCompaniesService.cs new file mode 100644 index 00000000..fd6d6e6d --- /dev/null +++ b/Marechai/Services/DocumentCompaniesService.cs @@ -0,0 +1,25 @@ +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 DocumentCompaniesService + { + readonly MarechaiContext _context; + + public DocumentCompaniesService(MarechaiContext context) => _context = context; + + public async Task> GetAsync() => await _context. + DocumentCompanies.OrderBy(c => c.Name). + Select(d => new DocumentCompanyViewModel + { + Id = d.Id, Name = d.Name, + Company = d.Company.Name, + CompanyId = d.CompanyId + }).ToListAsync(); + } +} \ No newline at end of file diff --git a/Marechai/Services/Register.cs b/Marechai/Services/Register.cs index cbe2e31c..82db75c9 100644 --- a/Marechai/Services/Register.cs +++ b/Marechai/Services/Register.cs @@ -48,6 +48,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/DocumentCompanyViewModel.cs b/Marechai/ViewModels/DocumentCompanyViewModel.cs similarity index 88% rename from Marechai/Areas/Admin/Models/DocumentCompanyViewModel.cs rename to Marechai/ViewModels/DocumentCompanyViewModel.cs index d1377b53..a96e59e0 100644 --- a/Marechai/Areas/Admin/Models/DocumentCompanyViewModel.cs +++ b/Marechai/ViewModels/DocumentCompanyViewModel.cs @@ -1,6 +1,6 @@ using System.ComponentModel; -namespace Marechai.Areas.Admin.Models +namespace Marechai.ViewModels { public class DocumentCompanyViewModel : BaseViewModel {