From 2f91e10f32f0aa343470331ad89da2bc11b181e9 Mon Sep 17 00:00:00 2001 From: Frede Hundewadt Date: Fri, 20 Jan 2023 14:06:57 +0100 Subject: [PATCH] done - customer invoice overlay --- .../CustomerInvoiceListComponent.razor | 4 +- .../Components/InfoCommonComponent.razor | 8 +++- .../Components/InfoOfficeComponent.razor | 6 --- .../InfoProcessStateComponent.razor | 2 +- .../Components/QuoteListComponent.razor | 8 ++-- .../HttpInterceptorService.cs | 4 +- .../Pages/AdvisorActivityCreatePage.razor | 5 ++- .../Pages/AdvisorActivityCreatePage.razor.cs | 44 +++++++++++++++++-- .../Shared/CustomerInvoiceOverlay.razor | 29 +++++++----- .../Shared/CustomerInvoiceOverlay.razor.cs | 31 +++++++++++-- Wonky.Client/wwwroot/appsettings.json | 26 +++++------ 11 files changed, 117 insertions(+), 50 deletions(-) diff --git a/Wonky.Client/Components/CustomerInvoiceListComponent.razor b/Wonky.Client/Components/CustomerInvoiceListComponent.razor index a734ceab..c9f77d12 100644 --- a/Wonky.Client/Components/CustomerInvoiceListComponent.razor +++ b/Wonky.Client/Components/CustomerInvoiceListComponent.razor @@ -37,7 +37,7 @@ {
-
+
@invoice.OrderNote
} @@ -47,5 +47,5 @@ } else { -
Ingen data
+
Venter ...
} \ No newline at end of file diff --git a/Wonky.Client/Components/InfoCommonComponent.razor b/Wonky.Client/Components/InfoCommonComponent.razor index d178278d..e1f25bd4 100644 --- a/Wonky.Client/Components/InfoCommonComponent.razor +++ b/Wonky.Client/Components/InfoCommonComponent.razor @@ -11,11 +11,15 @@ - Søg data + Søg - Opret ny + Opret + + + + Notat diff --git a/Wonky.Client/Components/InfoOfficeComponent.razor b/Wonky.Client/Components/InfoOfficeComponent.razor index f85cabcb..abe77131 100644 --- a/Wonky.Client/Components/InfoOfficeComponent.razor +++ b/Wonky.Client/Components/InfoOfficeComponent.razor @@ -13,11 +13,5 @@ Brugere - - - - - Pakning / Forsendelse - \ No newline at end of file diff --git a/Wonky.Client/Components/InfoProcessStateComponent.razor b/Wonky.Client/Components/InfoProcessStateComponent.razor index 3e35776d..95e75e79 100644 --- a/Wonky.Client/Components/InfoProcessStateComponent.razor +++ b/Wonky.Client/Components/InfoProcessStateComponent.razor @@ -1,5 +1,5 @@ -

Aktivitet Oversigt

+

Bestilling Status

diff --git a/Wonky.Client/Components/QuoteListComponent.razor b/Wonky.Client/Components/QuoteListComponent.razor index b1a5d3a6..e7231e02 100644 --- a/Wonky.Client/Components/QuoteListComponent.razor +++ b/Wonky.Client/Components/QuoteListComponent.razor @@ -68,16 +68,16 @@ @if (!string.IsNullOrWhiteSpace(quote.OfficeNote)) { -
Note
+
Kontor
- @quote.OfficeNote + @quote.OfficeNote
} @if (!string.IsNullOrWhiteSpace(quote.CrmNote)) { -
CRM note
+
CRM
- @quote.CrmNote + @quote.CrmNote
} diff --git a/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs b/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs index f4aad4e5..59ea29f4 100644 --- a/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs +++ b/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs @@ -106,7 +106,7 @@ namespace Wonky.Client.HttpInterceptors _logger.LogDebug("{}", message); _authenticationService.Logout(); _navigation.NavigateTo($"/login/{currDoc}"); - _toast.ShowInfo(message); + _toast.ShowInfo("Venligst Login. Tak."); break; case HttpStatusCode.Conflict: _logger.LogDebug("Conflict <= {}", currDoc); @@ -117,7 +117,7 @@ namespace Wonky.Client.HttpInterceptors _logger.LogDebug("{}", message); break; default: - _toast.ShowError(message); + _logger.LogDebug("{}", message); break; } // throw new HttpResponseException(message); diff --git a/Wonky.Client/Pages/AdvisorActivityCreatePage.razor b/Wonky.Client/Pages/AdvisorActivityCreatePage.razor index 0b98ae7c..b10f4550 100644 --- a/Wonky.Client/Pages/AdvisorActivityCreatePage.razor +++ b/Wonky.Client/Pages/AdvisorActivityCreatePage.razor @@ -158,7 +158,7 @@ else
- +
@@ -340,4 +340,5 @@ else - \ No newline at end of file + + \ No newline at end of file diff --git a/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs b/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs index a81d1736..f4c9de14 100644 --- a/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs +++ b/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs @@ -46,7 +46,7 @@ public partial class AdvisorActivityCreatePage : IDisposable [Inject] private IAdvisorCustomerRepository Companies { get; set; } [Inject] private IAdvisorActivityRepository Actitivites { get; set; } [Inject] private IAdvisorReportRepository Reports { get; set; } - [Inject] private IAdvisorCustomerHistoryRepository CustomerHistory { get; set; } + [Inject] private IAdvisorCustomerHistoryRepository HistoryRepo { get; set; } // variables private readonly JsonSerializerOptions _options = new() {PropertyNameCaseInsensitive = true}; private SalesItemView SelectedItem { get; set; } = new(); @@ -77,6 +77,8 @@ public partial class AdvisorActivityCreatePage : IDisposable private List CheckList { get; set; } = new(); private string ButtonText { get; set; } = "Gem besøg"; private bool OrgWarning { get; set; } + private CustomerInvoiceOverlay InvoiceOverlay { get; set; } + private InvoiceListView CompanyInvoices { get; set; } = new(); /// @@ -154,6 +156,42 @@ public partial class AdvisorActivityCreatePage : IDisposable Working = false; } + private async Task ShowInvoiceOverlay() + { + Logger.LogDebug("ShowInvoiceOverlay - wait for invoices"); + + InvoiceOverlay.Show(); + CompanyInvoices = await FetchCompanyInvoices(); + await Task.Delay(500); + } + + private async Task FetchCompanyInvoices() + { + // fetch from storage + var storage = await Storage.GetItemAsStringAsync($"{CompanyId}-invoices"); + await Task.Delay(500); + var iDate = await Storage.GetItemAsStringAsync($"{CompanyId}-iDate"); + + // if we have a list and iDate was today return the list + if (!string.IsNullOrWhiteSpace(storage) && (!string.IsNullOrWhiteSpace(iDate) && DateTime.Parse(iDate.Replace("\"", "")) >= DateTime.Now)) + { + Logger.LogDebug("fetching invoices from storage"); + Logger.LogDebug("storage contains <= {}", storage); + return JsonSerializer.Deserialize(storage); + } + + Logger.LogDebug("pulling invoices from backend"); + // pull invoices + var companyInvoices = await HistoryRepo.FetchInvoiceList(CompanyId); + // send invoices to storage + await Storage.SetItemAsync($"{CompanyId}-invoices", companyInvoices); + await Storage.SetItemAsync($"{CompanyId}-iDate", $"{DateTime.Now:yyyy-MM-dd}"); + Logger.LogDebug(" --> return invoices from backend"); + Working = false; + Logger.LogDebug("backend contains <= {}", JsonSerializer.Serialize(companyInvoices)); + return companyInvoices; + } + private void ShowOrgWarning() { if (OrgWarning) @@ -195,7 +233,7 @@ public partial class AdvisorActivityCreatePage : IDisposable // product inventory has not been updated // send rpc call to sync ERP to CRM Toaster.ShowInfo("Vent mens data synkroniseres ...", "ERP til CRM ..."); - var ts = await CustomerHistory.InvoiceErpToCrmRpc(CompanyId, Company.HistorySync); + var ts = await HistoryRepo.InvoiceErpToCrmRpc(CompanyId, Company.HistorySync); while (string.IsNullOrWhiteSpace(ts)) await Task.Delay(500); // save pDate @@ -203,7 +241,7 @@ public partial class AdvisorActivityCreatePage : IDisposable // request products from backend Toaster.ShowInfo("Vent mens produkt oversigt hentes", "CRM produkt liste"); - CheckList = await CustomerHistory.FetchInventory(CompanyId); + CheckList = await HistoryRepo.FetchInventory(CompanyId); if(CheckList.Any()) CheckList = CheckList.OrderBy(x => x.Description).ToList(); diff --git a/Wonky.Client/Shared/CustomerInvoiceOverlay.razor b/Wonky.Client/Shared/CustomerInvoiceOverlay.razor index c854495c..0472e480 100644 --- a/Wonky.Client/Shared/CustomerInvoiceOverlay.razor +++ b/Wonky.Client/Shared/CustomerInvoiceOverlay.razor @@ -1,20 +1,27 @@ - +@using Wonky.Client.Components