From a40a92f47d561a7002e765f2fb1d25dd56712c01 Mon Sep 17 00:00:00 2001 From: Frede Hundewadt Date: Thu, 11 May 2023 13:55:00 +0200 Subject: [PATCH] FEAT: workplace document list and delete --- .../AdvisorWorkplaceRepository.cs | 10 +++ .../IAdvisorWorkplaceRepository.cs | 10 +++ .../Pages/AdvisorCustomerViewEditPage.razor | 4 +- ...sorCustomerWorkplaceDocumentListPage.razor | 85 ++++++++++++------- ...CustomerWorkplaceDocumentListPage.razor.cs | 25 +++++- .../AdvisorCustomerWorkplaceListPage.razor | 6 +- 6 files changed, 99 insertions(+), 41 deletions(-) diff --git a/Wonky.Client/HttpRepository/AdvisorWorkplaceRepository.cs b/Wonky.Client/HttpRepository/AdvisorWorkplaceRepository.cs index 211894a5..edfb1558 100644 --- a/Wonky.Client/HttpRepository/AdvisorWorkplaceRepository.cs +++ b/Wonky.Client/HttpRepository/AdvisorWorkplaceRepository.cs @@ -105,4 +105,14 @@ public class AdvisorWorkplaceRepository : IAdvisorWorkplaceRepository await _client.DeleteAsync( $"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaceExt}/{workplaceId}"); } + + public async Task DeleteWorkplaceDocuments(string companyId, string workplaceId, string apbDocumentId, string apvDocumentId) + { + await _client.DeleteAsync( + $"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaceExt}/{workplaceId}/documents/{apvDocumentId}"); + + await _client.DeleteAsync( + $"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaceExt}/{workplaceId}/documents/{apbDocumentId}"); + } + } \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/IAdvisorWorkplaceRepository.cs b/Wonky.Client/HttpRepository/IAdvisorWorkplaceRepository.cs index 10f20981..5876ec75 100644 --- a/Wonky.Client/HttpRepository/IAdvisorWorkplaceRepository.cs +++ b/Wonky.Client/HttpRepository/IAdvisorWorkplaceRepository.cs @@ -69,4 +69,14 @@ public interface IAdvisorWorkplaceRepository /// /// Task GetWorkplaceInventory(string companyId, string workplaceId); + + /// + /// Remove a document pair from the workplace + /// + /// + /// + /// + /// + /// + Task DeleteWorkplaceDocuments(string companyId, string workplaceId, string apbDocumentId, string apvDocumentId); } \ No newline at end of file diff --git a/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor b/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor index b99dcf26..3c125e97 100644 --- a/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerViewEditPage.razor @@ -309,10 +309,10 @@
-
+
@if (AppInfo.Value.Rc) { - Kemi Dokumentationr + Kemi Dokumentation }
diff --git a/Wonky.Client/Pages/AdvisorCustomerWorkplaceDocumentListPage.razor b/Wonky.Client/Pages/AdvisorCustomerWorkplaceDocumentListPage.razor index 4d6cbf3f..e9f14861 100644 --- a/Wonky.Client/Pages/AdvisorCustomerWorkplaceDocumentListPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerWorkplaceDocumentListPage.razor @@ -19,41 +19,62 @@ @attribute [Authorize(Roles = "Advisor")] @page "/advisor/customers/{CompanyId}/workplaces/{WorkplaceId}/documents" -Dokumenter for Arbejdssted +Dokumenter - @WorkplaceInventory.CompanyName - @WorkplaceInventory.WorkplaceName +
+
+

@WorkplaceInventory.CompanyName

+
+
+
+

@WorkplaceInventory.WorkplaceName Produkt Dokumentation

+
+
- -

Dokumenter

@if (WorkplaceInventory.Products.Any()) { - - - - - - - - - - - @foreach (var document in Documents) - { - - - - - - - } - -
ProduktAPBAPVOprettet
- @document.ProductName - - @document.ApbLink - - @document.ApvLink - - @document.DocumentDate -
+
    +
  1. +
    +
    + Produkt +
    +
    + APB +
    +
    + KAPV +
    +
    + Oprettet +
    +
    + +
    +
    +
  2. + @foreach (var document in Documents) + { +
  3. +
    + @document.ProductName +
    +
    + Vis APB +
    +
    + Vis KAPV +
    +
    + @document.DocumentDate +
    +
    + +
    +
  4. + } +
} diff --git a/Wonky.Client/Pages/AdvisorCustomerWorkplaceDocumentListPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerWorkplaceDocumentListPage.razor.cs index 57365a6b..9687e355 100644 --- a/Wonky.Client/Pages/AdvisorCustomerWorkplaceDocumentListPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerWorkplaceDocumentListPage.razor.cs @@ -44,8 +44,21 @@ public partial class AdvisorCustomerWorkplaceDocumentListPage : IDisposable Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); - WorkplaceInventory = await WorkplaceRepo.GetWorkplaceInventory(CompanyId, WorkplaceId); + Documents = await FetchDocuments(); + + Working = false; + } + private async Task RemoveDocument(string apbId, string apvId) + { + await WorkplaceRepo.DeleteWorkplaceDocuments(CompanyId, WorkplaceId, apbId, apvId); + Documents = await FetchDocuments(); + } + + private async Task> FetchDocuments() + { + Documents = new List(); + WorkplaceInventory = await WorkplaceRepo.GetWorkplaceInventory(CompanyId, WorkplaceId); foreach (var product in WorkplaceInventory.Products) { var newDoc = new Document(); @@ -57,20 +70,22 @@ public partial class AdvisorCustomerWorkplaceDocumentListPage : IDisposable if (doc.DocumentTypeEnum == "Apb") { newDoc.ApbLink = doc.DocumentLink; + newDoc.ApbId = doc.DocumentId; } else { newDoc.ApvLink = doc.DocumentLink; + newDoc.ApvId = doc.DocumentId; } newDoc.DocumentDate = doc.DocumentDate; + } Documents.Add(newDoc); } } - - Working = false; - } + return Documents; + } public void Dispose() { @@ -84,4 +99,6 @@ internal sealed class Document public string ApbLink { get; set; } public string ApvLink { get; set; } public string DocumentDate { get; set; } + public string ApvId { get; set; } + public string ApbId { get; set; } } \ No newline at end of file diff --git a/Wonky.Client/Pages/AdvisorCustomerWorkplaceListPage.razor b/Wonky.Client/Pages/AdvisorCustomerWorkplaceListPage.razor index 46c0b0d8..98883283 100644 --- a/Wonky.Client/Pages/AdvisorCustomerWorkplaceListPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerWorkplaceListPage.razor @@ -23,11 +23,11 @@
-
+

@Company.Name

-