From bca845296ab381c2c30eaaa4dea2090279c97f44 Mon Sep 17 00:00:00 2001 From: "HOME-LAPTOP\\kshkulev" Date: Thu, 27 Nov 2025 09:37:18 +0900 Subject: [PATCH] Add accounts page --- Hcs.WebApp/Components/Layout/MainLayout.razor | 1 + .../Components/Pages/Objects/Accounts.razor | 59 +++++++++++++++ .../Components/Pages/Objects/Houses.razor | 10 +-- .../Pages/Objects/SupplyContracts.razor | 10 +-- .../Components/Pages/Registry/Common.razor | 10 +-- .../Components/Pages/Registry/Private.razor | 10 +-- .../{SyncedPageBase.cs => DataPageBase.cs} | 72 ++++++++++++------- .../{SyncedPageState.cs => DataPageState.cs} | 4 +- Hcs.WebApp/Program.cs | 1 + Hcs.WebApp/Services/AccountService.cs | 30 ++++++++ Hcs.WebApp/Services/HeadquartersService.cs | 4 +- 11 files changed, 164 insertions(+), 47 deletions(-) create mode 100644 Hcs.WebApp/Components/Pages/Objects/Accounts.razor rename Hcs.WebApp/Components/Shared/{SyncedPageBase.cs => DataPageBase.cs} (69%) rename Hcs.WebApp/Components/Shared/{SyncedPageState.cs => DataPageState.cs} (66%) create mode 100644 Hcs.WebApp/Services/AccountService.cs diff --git a/Hcs.WebApp/Components/Layout/MainLayout.razor b/Hcs.WebApp/Components/Layout/MainLayout.razor index ab2185c..a871193 100644 --- a/Hcs.WebApp/Components/Layout/MainLayout.razor +++ b/Hcs.WebApp/Components/Layout/MainLayout.razor @@ -33,6 +33,7 @@ + diff --git a/Hcs.WebApp/Components/Pages/Objects/Accounts.razor b/Hcs.WebApp/Components/Pages/Objects/Accounts.razor new file mode 100644 index 0000000..94272dc --- /dev/null +++ b/Hcs.WebApp/Components/Pages/Objects/Accounts.razor @@ -0,0 +1,59 @@ +@page "/objects/accounts" + +@using Hcs.WebApp.Services +@using Microsoft.AspNetCore.Authorization +@using System.Security.Claims + +@inherits DataPageBase + +@attribute [Authorize] + +@inject AccountService AccountService + +Лицевые счета + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@code { + protected override Campaign.CampaignType? SyncCampaignType => Campaign.CampaignType.ExportSupplyContracts_15_7_0_1; + + protected override Campaign.CampaignType? ParseCampaignType => null; + + protected override bool HasPermission(ClaimsPrincipal user) + { + return user.IsOperatorOrHigher(); + } + + protected override Task> GetDataAsync() + { + return AccountService.GetAllAccountsAsync(); + } +} diff --git a/Hcs.WebApp/Components/Pages/Objects/Houses.razor b/Hcs.WebApp/Components/Pages/Objects/Houses.razor index fc6e83a..f8103c4 100644 --- a/Hcs.WebApp/Components/Pages/Objects/Houses.razor +++ b/Hcs.WebApp/Components/Pages/Objects/Houses.razor @@ -4,7 +4,7 @@ @using Microsoft.AspNetCore.Authorization @using System.Security.Claims -@inherits SyncedPageBase +@inherits DataPageBase @attribute [Authorize] @@ -21,13 +21,13 @@ - + - + @@ -59,7 +59,9 @@ @code { - protected override Campaign.CampaignType CampaignType => Campaign.CampaignType.ParseHousesData_15_7_0_1; + protected override Campaign.CampaignType? SyncCampaignType => null; + + protected override Campaign.CampaignType? ParseCampaignType => Campaign.CampaignType.ParseHousesData_15_7_0_1; protected override bool HasPermission(ClaimsPrincipal user) { diff --git a/Hcs.WebApp/Components/Pages/Objects/SupplyContracts.razor b/Hcs.WebApp/Components/Pages/Objects/SupplyContracts.razor index 5a20b16..fe4885f 100644 --- a/Hcs.WebApp/Components/Pages/Objects/SupplyContracts.razor +++ b/Hcs.WebApp/Components/Pages/Objects/SupplyContracts.razor @@ -4,7 +4,7 @@ @using Microsoft.AspNetCore.Authorization @using System.Security.Claims -@inherits SyncedPageBase +@inherits DataPageBase @attribute [Authorize] @@ -21,13 +21,13 @@ - + - + @@ -42,7 +42,9 @@ @code { - protected override Campaign.CampaignType CampaignType => Campaign.CampaignType.ExportSupplyContracts_15_7_0_1; + protected override Campaign.CampaignType? SyncCampaignType => Campaign.CampaignType.ExportSupplyContracts_15_7_0_1; + + protected override Campaign.CampaignType? ParseCampaignType => null; protected override bool HasPermission(ClaimsPrincipal user) { diff --git a/Hcs.WebApp/Components/Pages/Registry/Common.razor b/Hcs.WebApp/Components/Pages/Registry/Common.razor index eb9d081..6090676 100644 --- a/Hcs.WebApp/Components/Pages/Registry/Common.razor +++ b/Hcs.WebApp/Components/Pages/Registry/Common.razor @@ -5,7 +5,7 @@ @using Microsoft.AspNetCore.Authorization @using System.Security.Claims -@inherits SyncedPageBase +@inherits DataPageBase @attribute [Authorize] @@ -22,13 +22,13 @@ - + - +