diff --git a/Marechai/Marechai.csproj b/Marechai/Marechai.csproj index 139a430f..6e7258d6 100644 --- a/Marechai/Marechai.csproj +++ b/Marechai/Marechai.csproj @@ -2,7 +2,7 @@ netcoreapp3.1 - 3.0.99.1045 + 3.0.99.1047 Canary Islands Computer Museum Copyright © 2003-2020 Natalia Portillo Canary Islands Computer Museum Website diff --git a/Marechai/Areas/Admin/Views/Companies/Index.cshtml b/Marechai/Pages/Admin/Companies.razor similarity index 57% rename from Marechai/Areas/Admin/Views/Companies/Index.cshtml rename to Marechai/Pages/Admin/Companies.razor index 6895ffa5..ebe3d824 100644 --- a/Marechai/Areas/Admin/Views/Companies/Index.cshtml +++ b/Marechai/Pages/Admin/Companies.razor @@ -1,14 +1,14 @@ -@{ +@{ /****************************************************************************** // MARECHAI: Master repository of computing history artifacts information // ---------------------------------------------------------------------------- // -// Filename : Index.cshtml +// Filename : Companies.razor // Author(s) : Natalia Portillo // // --[ Description ] ---------------------------------------------------------- // -// Admin view index +// List of companies // // --[ License ] -------------------------------------------------------------- // @@ -29,75 +29,86 @@ // Copyright © 2003-2020 Natalia Portillo *******************************************************************************/ } -@model IEnumerable -@{ - ViewData["Title"] = "Companies (Admin)"; +@page "/admin/companies" +@inherits OwningComponentBase +@inject IStringLocalizer L +@attribute [Authorize(Roles = "UberAdmin, Admin")] +

@L["Companies"]

+@if (_companies is null) +{ +

@L["Loading..."]

+ + return; } -

Companies

-

- - Create New - -

- @foreach (var item in Model) + @foreach (var item in _companies) { } -
- @Html.DisplayNameFor(model => model.Name) + @L["Name"] - @Html.DisplayNameFor(model => model.Founded) + @L["Founded"] - @Html.DisplayNameFor(model => model.Status) + @L["Status"] - @Html.DisplayNameFor(model => model.Country) + @L["Country"] - @Html.DisplayNameFor(model => model.SoldView) + @L["Sold"] - @Html.DisplayNameFor(model => model.SoldTo) + @L["Sold to"]
- @Html.DisplayFor(modelItem => item.Name) + @item.Name - @Html.DisplayFor(modelItem => item.Founded) + @($"{item.Founded:d}") - @Html.DisplayFor(modelItem => item.Status) + @item.Status - @Html.DisplayFor(modelItem => item.Country) + @item.Country - @Html.DisplayFor(modelItem => item.SoldView) + @item.SoldView - @Html.DisplayFor(modelItem => item.SoldTo) + @item.SoldTo - - Details - - - Edit - - - Delete - + + @L["Details"] + + + @L["Edit"] + + + @L["Delete"] +
\ No newline at end of file + + +@code +{ + List _companies; + + protected override async Task OnInitializedAsync() + { + _companies = await Service.GetCompaniesAsync(); + } +} \ No newline at end of file diff --git a/Marechai/Pages/Admin/Index.razor b/Marechai/Pages/Admin/Index.razor index e9641124..46c5e320 100644 --- a/Marechai/Pages/Admin/Index.razor +++ b/Marechai/Pages/Admin/Index.razor @@ -37,9 +37,12 @@

@L["Administration area"]

@L["Welcome to the administration area. Act with care!"]

\ No newline at end of file diff --git a/Marechai/Resources/Services/AdminService.es.resx b/Marechai/Resources/Services/AdminService.es.resx index 1eee7994..7d97caa8 100644 --- a/Marechai/Resources/Services/AdminService.es.resx +++ b/Marechai/Resources/Services/AdminService.es.resx @@ -134,4 +134,8 @@ Pruebas de navegadores Browser tests. + + Compañías + Companies. + \ No newline at end of file diff --git a/Marechai/Resources/Services/CompaniesService.es.resx b/Marechai/Resources/Services/CompaniesService.es.resx index ba989cd5..171c12b3 100644 --- a/Marechai/Resources/Services/CompaniesService.es.resx +++ b/Marechai/Resources/Services/CompaniesService.es.resx @@ -118,6 +118,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Compañías + Companies + Cargando... Message that appears while data is being loaded from database @@ -254,4 +258,24 @@ Compañías cuyo nombre empieza por {0}. Companies with {0}, a single character, as the start of the name + + Vendida + Sold + + + Vendida a + Sold to + + + Detalles + Details + + + Editar + Edit + + + Eliminar + Delete + \ No newline at end of file diff --git a/Marechai/Services/CompaniesService.cs b/Marechai/Services/CompaniesService.cs index 78bdeeb7..3396fea7 100644 --- a/Marechai/Services/CompaniesService.cs +++ b/Marechai/Services/CompaniesService.cs @@ -57,7 +57,9 @@ namespace Marechai.Services LastLogo = c. Logos.OrderByDescending(l => l.Year). FirstOrDefault().Guid, - Name = c.Name + Name = c.Name, Founded = c.Founded, + Sold = c.Sold, SoldTo = c.SoldTo.Name, + Country = c.Country.Name, Status = c.Status }).ToListAsync(); public Task GetCompanyAsync(int id) => _context.Companies.FirstOrDefaultAsync(c => c.Id == id); diff --git a/Marechai/ViewModels/CompanyViewModel.cs b/Marechai/ViewModels/CompanyViewModel.cs index cc48b1e1..03488f40 100644 --- a/Marechai/ViewModels/CompanyViewModel.cs +++ b/Marechai/ViewModels/CompanyViewModel.cs @@ -1,4 +1,5 @@ using System; +using Marechai.Database; namespace Marechai.ViewModels { @@ -7,5 +8,17 @@ namespace Marechai.ViewModels public int Id { get; set; } public Guid? LastLogo { get; set; } public string Name { get; set; } + + public DateTime? Founded { get; set; } + public DateTime? Sold { get; set; } + public string SoldTo { get; set; } + public string Country { get; set; } + public CompanyStatus Status { get; set; } + + public string SoldView => Status != CompanyStatus.Active && Status != CompanyStatus.Unknown + ? Sold?.ToShortDateString() ?? "Unknown" + : Sold?.ToShortDateString() ?? (SoldTo is null + ? "" + : "Unknown"); } } \ No newline at end of file