From e7b91dec1f9b593ecfa3f10053b7196ed677015f Mon Sep 17 00:00:00 2001 From: Frede Hundewadt Date: Sat, 3 Dec 2022 12:37:45 +0100 Subject: [PATCH] internal refactor - added catalog print page --- .../AdvisorActivityKmStartComponent.razor | 10 +- .../AdvisorActivityTableComponent.razor | 6 +- .../AdvisorActivityTableComponent.razor.cs | 2 +- .../AdvisorCompanyTableComponent.razor | 99 ++++++------- .../AdvisorCompanyTableComponent.razor.cs | 18 +-- .../Components/CatalogGroupComponent.razor | 2 +- .../Components/CatalogGroupComponent.razor.cs | 8 +- .../Components/CatalogSearchComponent.razor | 2 +- .../CatalogSearchComponent.razor.cs | 24 ++-- .../CatalogSearchPhraseComponent.razor | 2 +- .../CatalogSearchPhraseComponent.razor.cs | 24 ++-- .../Components/CatalogSortComponent.razor | 2 +- .../Components/CatalogSortComponent.razor.cs | 22 +-- .../Components/CatalogTableComponent.razor | 6 +- .../Components/CatalogTableComponent.razor.cs | 2 +- .../CatalogTableComponent.razor.css | 3 - .../CatalogTablePrintComponent.razor | 79 +++++++++++ .../CatalogTablePrintComponent.razor.cs | 27 ++++ .../CompanySearchColumnComponent.razor | 2 +- .../CompanySearchColumnComponent.razor.cs | 22 +-- .../CompanySearchPhraseComponent.razor.cs | 12 +- .../Components/CompanySortComponent.razor | 2 +- .../Components/CompanySortComponent.razor.cs | 22 +-- .../Components/InvoiceTableComponent.razor | 2 +- .../Components/LandingComponentAdmin.razor.cs | 28 ++-- .../Components/LandingComponentAdvisor.razor | 2 +- .../LandingComponentAdvisor.razor.cs | 56 ++++---- .../Components/LoaderThreeDots.razor.cs | 14 -- .../OfficeActivityTableComponent.razor | 8 +- .../OfficeActivityTableComponent.razor.cs | 6 +- .../OfficeAdvisorTableComponent.razor | 2 +- .../OfficeCustomerTableComponent.razor | 14 +- .../OfficeCustomerTableComponent.razor.cs | 14 +- .../OfficeReportTableComponent.razor | 4 +- .../Components/OfficeUserTableComponent.razor | 2 +- .../Components/PageSizeComponent.razor | 2 +- .../Components/PageSizeComponent.razor.cs | 22 +-- .../Components/PaginationComponent.razor | 2 +- .../Components/PaginationComponent.razor.cs | 9 +- .../ProductInventoryTableComponent.razor | 11 +- .../ProductInventoryTableComponent.razor.cs | 2 +- .../ProductLineTableComponent.razor | 4 + .../Components/ReportTableComponent.razor | 5 +- .../Components/WarehouseListComponent.razor | 75 +++++----- .../WarehouseListComponent.razor.cs | 109 ++++++++------- .../Components/WorkDateComponent.razor.cs | 10 +- ...ThreeDots.razor => WorkingThreeDots.razor} | 15 +- .../Components/WorkingThreeDots.razor.cs | 9 ++ .../HttpInterfaces/ICatalogHttpRepository.cs | 2 + .../HttpRepository/CatalogHttpRepository.cs | 13 ++ .../CrmCompanyHttpRepository.cs | 10 +- Wonky.Client/Pages/CatalogPage.razor | 48 ++++--- Wonky.Client/Pages/CatalogPage.razor.cs | 16 ++- Wonky.Client/Pages/CatalogPrintPage.razor | 32 +++++ Wonky.Client/Pages/CatalogPrintPage.razor.cs | 56 ++++++++ Wonky.Client/Pages/CrmActivityNewPage.razor | 8 +- .../Pages/CrmActivityNewPage.razor.cs | 4 +- Wonky.Client/Pages/CrmActivityTodayPage.razor | 13 +- .../Pages/CrmActivityTodayPage.razor.cs | 8 +- Wonky.Client/Pages/CrmActivityViewPage.razor | 4 + .../Pages/CrmActivityViewPage.razor.cs | 3 + .../Pages/CrmCompanyActivityListPage.razor | 9 +- .../Pages/CrmCompanyInventoryPage.razor | 13 +- .../Pages/CrmCompanyInventoryPage.razor.cs | 13 +- .../Pages/CrmCompanyInvoiceListPage.razor | 13 +- .../Pages/CrmCompanyInvoiceListPage.razor.cs | 10 +- Wonky.Client/Pages/CrmCompanyListPage.razor | 59 ++++---- .../Pages/CrmCompanyListPage.razor.cs | 131 +++++++++--------- Wonky.Client/Pages/CrmCompanyNewPage.razor | 5 +- Wonky.Client/Pages/CrmCompanyNewPage.razor.cs | 6 +- Wonky.Client/Pages/CrmCompanyViewPage.razor | 4 +- .../Pages/CrmCompanyViewPage.razor.cs | 21 ++- Wonky.Client/Pages/CrmReportListPage.razor | 14 +- Wonky.Client/Pages/CrmReportListPage.razor.cs | 14 +- Wonky.Client/Pages/CrmReportNewPage.razor | 4 +- Wonky.Client/Pages/CrmReportNewPage.razor.cs | 19 +-- Wonky.Client/Pages/CrmReportViewPage.razor | 6 +- Wonky.Client/Pages/CrmReportViewPage.razor.cs | 6 +- Wonky.Client/Pages/CrmTaskItemListPage.razor | 4 + .../Pages/CrmTaskItemListPage.razor.cs | 12 +- Wonky.Client/Pages/CrmTaskItemViewPage.razor | 4 + .../Pages/CrmTaskItemViewPage.razor.cs | 2 + .../Pages/CrmWorkplaceDocumentListPage.razor | 6 +- .../CrmWorkplaceDocumentListPage.razor.cs | 5 +- Wonky.Client/Pages/CrmWorkplaceListPage.razor | 4 + .../Pages/CrmWorkplaceListPage.razor.cs | 4 + Wonky.Client/Pages/CrmWorkplaceViewPage.razor | 4 + .../Pages/CrmWorkplaceViewPage.razor.cs | 6 + Wonky.Client/Pages/Login.razor | 2 +- .../Pages/OfficeCustomerListPage.razor | 6 +- .../Pages/OfficeCustomerListPage.razor.cs | 36 ++--- .../OfficeCustomerSalesRepListPage.razor | 7 +- .../OfficeCustomerSalesRepListPage.razor.cs | 36 ++--- Wonky.Client/Pages/OfficeOrderNewPage.razor | 6 +- .../Pages/OfficeOrderNewPage.razor.cs | 7 +- Wonky.Client/Pages/OfficeOrderViewPage.razor | 4 + .../Pages/OfficeOrderViewPage.razor.cs | 7 + Wonky.Client/Pages/OfficeReportListPage.razor | 4 + .../Pages/OfficeReportListPage.razor.cs | 2 + Wonky.Client/Pages/OfficeReportViewPage.razor | 9 +- .../Pages/OfficeReportViewPage.razor.cs | 21 ++- Wonky.Client/Pages/OfficeUserListPage.razor | 4 + .../Pages/OfficeUserListPage.razor.cs | 2 + Wonky.Client/Pages/OfficeUserViewPage.razor | 8 +- .../Pages/OfficeUserViewPage.razor.cs | 10 +- .../Pages/WarehouseOrderListPage.razor | 2 +- .../Pages/WarehouseOrderViewPage.razor | 14 +- .../Pages/WarehouseOrderViewPage.razor.cs | 8 +- Wonky.Client/Program.cs | 2 +- ...referenceService.cs => UserPrefService.cs} | 14 +- Wonky.Client/Shared/ContactModal.razor.cs | 16 +-- Wonky.Client/Shared/PriceListModal.razor.cs | 12 +- Wonky.Client/wwwroot/appsettings.json | 6 +- 113 files changed, 1013 insertions(+), 672 deletions(-) delete mode 100644 Wonky.Client/Components/CatalogTableComponent.razor.css create mode 100644 Wonky.Client/Components/CatalogTablePrintComponent.razor create mode 100644 Wonky.Client/Components/CatalogTablePrintComponent.razor.cs delete mode 100644 Wonky.Client/Components/LoaderThreeDots.razor.cs rename Wonky.Client/Components/{LoaderThreeDots.razor => WorkingThreeDots.razor} (75%) create mode 100644 Wonky.Client/Components/WorkingThreeDots.razor.cs create mode 100644 Wonky.Client/Pages/CatalogPrintPage.razor create mode 100644 Wonky.Client/Pages/CatalogPrintPage.razor.cs rename Wonky.Client/Services/{PreferenceService.cs => UserPrefService.cs} (92%) diff --git a/Wonky.Client/Components/AdvisorActivityKmStartComponent.razor b/Wonky.Client/Components/AdvisorActivityKmStartComponent.razor index 4da78c4c..14309ff6 100644 --- a/Wonky.Client/Components/AdvisorActivityKmStartComponent.razor +++ b/Wonky.Client/Components/AdvisorActivityKmStartComponent.razor @@ -8,19 +8,19 @@ @code { - [Inject] public PreferenceService UserPrefService { get; set; } + [Inject] public UserPrefService PrefService { get; set; } private int KmMorning { get; set; } - private Preferences Preferences { get; set; } = new(); + private UserPref Prefs { get; set; } = new(); protected override async Task OnInitializedAsync() { - Preferences = await UserPrefService.GetPreferences(); - KmMorning = Preferences.KmMorning; + Prefs = await PrefService.GetPreferences(); + KmMorning = Prefs.KmMorning; } private async Task OnKmChanged() { - await UserPrefService.SetKmMorning(KmMorning); + await PrefService.SetKmMorning(KmMorning); } } \ No newline at end of file diff --git a/Wonky.Client/Components/AdvisorActivityTableComponent.razor b/Wonky.Client/Components/AdvisorActivityTableComponent.razor index 973dae7f..55626896 100644 --- a/Wonky.Client/Components/AdvisorActivityTableComponent.razor +++ b/Wonky.Client/Components/AdvisorActivityTableComponent.razor @@ -16,7 +16,7 @@ // *@ -@if (Activities.Any()) +@if (ActivityList.Any()) { @@ -35,7 +35,7 @@ - @foreach (var activity in Activities) + @foreach (var activity in ActivityList) { @@ -68,7 +68,7 @@ - + diff --git a/Wonky.Client/Components/AdvisorActivityTableComponent.razor.cs b/Wonky.Client/Components/AdvisorActivityTableComponent.razor.cs index 4660f2db..51dc4aa3 100644 --- a/Wonky.Client/Components/AdvisorActivityTableComponent.razor.cs +++ b/Wonky.Client/Components/AdvisorActivityTableComponent.razor.cs @@ -20,7 +20,7 @@ namespace Wonky.Client.Components; public partial class AdvisorActivityTableComponent { - [Parameter] public List Activities { get; set; } + [Parameter] public List ActivityList { get; set; } [Inject] public NavigationManager Navigator { get; set; } // private void ShowOrder(string companyId, string orderId) diff --git a/Wonky.Client/Components/AdvisorCompanyTableComponent.razor b/Wonky.Client/Components/AdvisorCompanyTableComponent.razor index 73a025bb..8628c875 100644 --- a/Wonky.Client/Components/AdvisorCompanyTableComponent.razor +++ b/Wonky.Client/Components/AdvisorCompanyTableComponent.razor @@ -18,51 +18,56 @@ @using Wonky.Client.Components; @using Wonky.Client.Helpers; -
@activity.Company.Name
Total@Activities.Where(x => x.StatusTypeEnum == "Order").Sum(x => x.OrderAmount)@ActivityList.Where(x => x.StatusTypeEnum == "Order").Sum(x => x.OrderAmount)
- - - - - - - - - - - - - @foreach (var company in Companies) - { - - - - - - - - +@if (CompanyList.Any()) +{ +
BSNavnKontoTlfBynavn
- - - @if (!string.IsNullOrWhiteSpace(company.Note)) - { - - } - - @company.Name - - @company.Account - - @company.Phone - - @company.City - - -
+ + + + + + + + + - } - - -
BSNavnKontoTlfBynavn
- - \ No newline at end of file + + + @foreach (var company in CompanyList) + { + + + + + + @if (!string.IsNullOrWhiteSpace(company.Note)) + { + + } + + + @company.Name + + + @company.Account + + + @company.Phone + + + @company.City + + + + + + } + + +} +else +{ +
Ingen data
+} + \ No newline at end of file diff --git a/Wonky.Client/Components/AdvisorCompanyTableComponent.razor.cs b/Wonky.Client/Components/AdvisorCompanyTableComponent.razor.cs index 83414f9f..f09fd526 100644 --- a/Wonky.Client/Components/AdvisorCompanyTableComponent.razor.cs +++ b/Wonky.Client/Components/AdvisorCompanyTableComponent.razor.cs @@ -29,32 +29,26 @@ namespace Wonky.Client.Components { public partial class AdvisorCompanyTableComponent { - [Parameter] public List Companies { get; set; } = new(); + [Parameter] public List CompanyList { get; set; } = new(); [Parameter] public EventCallback OnDelete { get; set; } [Parameter] public EventCallback OnSelect { get; set; } - [Inject] public NavigationManager _navigator { get; set; } + [Inject] public NavigationManager Navigator { get; set; } [Inject] public IJSRuntime Js { get; set; } private Lazy BsTooltip = new(); private InformationModal InformationModal { get; set; } = new(); - private string _info { get; set; } = ""; - private string _companyId { get; set; } = ""; - // private string _actionUrl { get; set; } = ""; - - protected override async Task OnInitializedAsync() - { - await base.OnInitializedAsync(); - } + private string InfoMessage { get; set; } = ""; + private string CompanyId { get; set; } = ""; private void ViewCustomer(string companyId) { - _navigator.NavigateTo($"/companies/{companyId}"); + Navigator.NavigateTo($"/companies/{companyId}"); } private void CallInformationModal(string info) { - _info = info; + InfoMessage = info; InformationModal.Show(); } } diff --git a/Wonky.Client/Components/CatalogGroupComponent.razor b/Wonky.Client/Components/CatalogGroupComponent.razor index 7a3c826d..af0dec22 100644 --- a/Wonky.Client/Components/CatalogGroupComponent.razor +++ b/Wonky.Client/Components/CatalogGroupComponent.razor @@ -15,7 +15,7 @@ // *@ - diff --git a/Wonky.Client/Components/CatalogGroupComponent.razor.cs b/Wonky.Client/Components/CatalogGroupComponent.razor.cs index f7232346..785c5dc9 100644 --- a/Wonky.Client/Components/CatalogGroupComponent.razor.cs +++ b/Wonky.Client/Components/CatalogGroupComponent.razor.cs @@ -22,13 +22,13 @@ namespace Wonky.Client.Components; public partial class CatalogGroupComponent { - [Inject] public ILocalStorageService LocalStorage { get; set; } - [Inject] public PreferenceService PreferenceService { get; set; } + [Inject] public ILocalStorageService Storage { get; set; } + [Inject] public UserPrefService PrefService { get; set; } [Parameter] public EventCallback OnChanged { get; set; } private Dictionary Items { get; set; } = new(); - private Preferences _preferences = new(); + private UserPref Prefs = new(); - private string? Selection { get; set; } + private string? GroupCol { get; set; } private async Task OnSelectionChanged(ChangeEventArgs e) { diff --git a/Wonky.Client/Components/CatalogSearchComponent.razor b/Wonky.Client/Components/CatalogSearchComponent.razor index 7a974bfa..24ebd509 100644 --- a/Wonky.Client/Components/CatalogSearchComponent.razor +++ b/Wonky.Client/Components/CatalogSearchComponent.razor @@ -15,7 +15,7 @@ // *@ - diff --git a/Wonky.Client/Components/CatalogSearchComponent.razor.cs b/Wonky.Client/Components/CatalogSearchComponent.razor.cs index 517e2420..6e6ba5a9 100644 --- a/Wonky.Client/Components/CatalogSearchComponent.razor.cs +++ b/Wonky.Client/Components/CatalogSearchComponent.razor.cs @@ -24,7 +24,7 @@ public partial class CatalogSearchComponent : IDisposable /// /// User preference service /// - [Inject] public PreferenceService _preferenceService { get; set; } + [Inject] public UserPrefService PrefService { get; set; } /// /// OnChanged event callback @@ -34,22 +34,22 @@ public partial class CatalogSearchComponent : IDisposable /// /// User preferences /// - private Preferences _preferences = new(); + private UserPref Prefs { get; set; } = new(); /// /// Selected item /// - private string _selectedItem { get; set; } = ""; + private string SearchCol { get; set; } = ""; /// /// Component initialization /// protected override async Task OnInitializedAsync() { - _preferenceService.OnChange += ProfileServiceOnOnChange; - _preferences = await _preferenceService.GetPreferences(); - _selectedItem = _preferences.ItemSearch; - await OnChanged.InvokeAsync(_selectedItem); + PrefService.OnChange += ProfileServiceOnOnChange; + Prefs = await PrefService.GetPreferences(); + SearchCol = Prefs.ItemSearch; + await OnChanged.InvokeAsync(SearchCol); } /// @@ -61,16 +61,16 @@ public partial class CatalogSearchComponent : IDisposable var val = e.Value.ToString(); if (val == "-1") return; await OnChanged.InvokeAsync(val); - await _preferenceService.SetItemSearch(val); + await PrefService.SetItemSearch(val); } /// /// Preference update from profile service /// - /// - private void ProfileServiceOnOnChange(Preferences newPreferences) + /// + private void ProfileServiceOnOnChange(UserPref newUserPref) { - _preferences = newPreferences; + Prefs = newUserPref; StateHasChanged(); } @@ -79,6 +79,6 @@ public partial class CatalogSearchComponent : IDisposable /// public void Dispose() { - _preferenceService.OnChange -= ProfileServiceOnOnChange; + PrefService.OnChange -= ProfileServiceOnOnChange; } } \ No newline at end of file diff --git a/Wonky.Client/Components/CatalogSearchPhraseComponent.razor b/Wonky.Client/Components/CatalogSearchPhraseComponent.razor index e59023e0..e2d5c978 100644 --- a/Wonky.Client/Components/CatalogSearchPhraseComponent.razor +++ b/Wonky.Client/Components/CatalogSearchPhraseComponent.razor @@ -17,7 +17,7 @@
+ @bind-value="@SearchTerm" @bind-value:event="oninput" @onkeyup="OnSearchChanged" />
diff --git a/Wonky.Client/Components/CatalogSearchPhraseComponent.razor.cs b/Wonky.Client/Components/CatalogSearchPhraseComponent.razor.cs index 3289a7b1..0372ce6c 100644 --- a/Wonky.Client/Components/CatalogSearchPhraseComponent.razor.cs +++ b/Wonky.Client/Components/CatalogSearchPhraseComponent.razor.cs @@ -21,31 +21,31 @@ namespace Wonky.Client.Components { public partial class CatalogSearchPhraseComponent { - private Timer _timer { get; set; } = new(); - private string _searchTerm { get; set; } = ""; + private Timer Timer { get; set; } = new(); + private string SearchTerm { get; set; } = ""; [Parameter] public EventCallback OnChanged { get; set; } private void ClearSearch() { - _searchTerm = ""; + SearchTerm = ""; OnChanged.InvokeAsync(""); } private void OnSearchChanged() { - _timer.Dispose(); - _timer = new Timer(500); - _timer.AutoReset = false; - _timer.Elapsed += OnTimerElapsed; - _timer.Enabled = true; + Timer.Dispose(); + Timer = new Timer(500); + Timer.AutoReset = false; + Timer.Elapsed += OnTimerElapsed; + Timer.Enabled = true; } private void OnTimerElapsed(object? sender, ElapsedEventArgs e) { - OnChanged.InvokeAsync(_searchTerm); - _timer.Elapsed -= OnTimerElapsed; - _timer.Enabled = false; - _timer.Dispose(); + OnChanged.InvokeAsync(SearchTerm); + Timer.Elapsed -= OnTimerElapsed; + Timer.Enabled = false; + Timer.Dispose(); } } } diff --git a/Wonky.Client/Components/CatalogSortComponent.razor b/Wonky.Client/Components/CatalogSortComponent.razor index b72bfd83..4756b94f 100644 --- a/Wonky.Client/Components/CatalogSortComponent.razor +++ b/Wonky.Client/Components/CatalogSortComponent.razor @@ -15,7 +15,7 @@ // *@ - diff --git a/Wonky.Client/Components/CatalogSortComponent.razor.cs b/Wonky.Client/Components/CatalogSortComponent.razor.cs index 472988ac..e48bee76 100644 --- a/Wonky.Client/Components/CatalogSortComponent.razor.cs +++ b/Wonky.Client/Components/CatalogSortComponent.razor.cs @@ -24,7 +24,7 @@ public partial class CatalogSortComponent : IDisposable /// /// User preference service /// - [Inject] public PreferenceService _preferenceService { get; set; } + [Inject] public UserPrefService PrefService { get; set; } /// /// OnChanged callback function @@ -34,21 +34,21 @@ public partial class CatalogSortComponent : IDisposable /// /// User's preferences /// - private Preferences _preferences = new(); + private UserPref Prefs = new(); /// /// Item selected by user /// - private string? _selectedItem { get; set; } + private string SortCol { get; set; } /// /// Component initialization /// protected override async Task OnInitializedAsync() { - _preferenceService.OnChange += ProfileServiceOnOnChange; - _preferences = await _preferenceService.GetPreferences(); - _selectedItem = _preferences.ItemSort; + PrefService.OnChange += ProfileServiceOnOnChange; + Prefs = await PrefService.GetPreferences(); + SortCol = Prefs.ItemSort; } /// @@ -60,16 +60,16 @@ public partial class CatalogSortComponent : IDisposable var val = e.Value.ToString(); if (val == "-1") return; await OnChanged.InvokeAsync(val); - await _preferenceService.SetItemSort(val); + await PrefService.SetItemSort(val); } /// /// Get updated settings from preference service /// - /// - private void ProfileServiceOnOnChange(Preferences newPreferences) + /// + private void ProfileServiceOnOnChange(UserPref newUserPref) { - _preferences = newPreferences; + Prefs = newUserPref; StateHasChanged(); } @@ -78,6 +78,6 @@ public partial class CatalogSortComponent : IDisposable /// public void Dispose() { - _preferenceService.OnChange -= ProfileServiceOnOnChange; + PrefService.OnChange -= ProfileServiceOnOnChange; } } \ No newline at end of file diff --git a/Wonky.Client/Components/CatalogTableComponent.razor b/Wonky.Client/Components/CatalogTableComponent.razor index ae22f1c1..a6958a5d 100644 --- a/Wonky.Client/Components/CatalogTableComponent.razor +++ b/Wonky.Client/Components/CatalogTableComponent.razor @@ -15,7 +15,7 @@ // *@ -@if (SalesItems.Any()) +@if (ItemList.Any()) { @@ -27,7 +27,7 @@ - @foreach (var salesItem in SalesItems) + @foreach (var salesItem in ItemList) {
@@ -55,5 +55,5 @@ } else { - +
Ingen data
} \ No newline at end of file diff --git a/Wonky.Client/Components/CatalogTableComponent.razor.cs b/Wonky.Client/Components/CatalogTableComponent.razor.cs index 79b37319..ec392daf 100644 --- a/Wonky.Client/Components/CatalogTableComponent.razor.cs +++ b/Wonky.Client/Components/CatalogTableComponent.razor.cs @@ -23,7 +23,7 @@ namespace Wonky.Client.Components; public partial class CatalogTableComponent { - [Parameter] public List SalesItems { get; set; } = new(); + [Parameter] public List ItemList { get; set; } = new(); [Inject] public IToastService ToastService { get; set; } private void AddToDraft() { diff --git a/Wonky.Client/Components/CatalogTableComponent.razor.css b/Wonky.Client/Components/CatalogTableComponent.razor.css deleted file mode 100644 index 738b44aa..00000000 --- a/Wonky.Client/Components/CatalogTableComponent.razor.css +++ /dev/null @@ -1,3 +0,0 @@ -.product-img { - width: 80px; -} \ No newline at end of file diff --git a/Wonky.Client/Components/CatalogTablePrintComponent.razor b/Wonky.Client/Components/CatalogTablePrintComponent.razor new file mode 100644 index 00000000..d2d616c2 --- /dev/null +++ b/Wonky.Client/Components/CatalogTablePrintComponent.razor @@ -0,0 +1,79 @@ +@* +// Copyright (C) 2022 FCS Frede's Computer Services. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero 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 Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] +// +*@ + +@if (ItemList.Any()) +{ + + + + + + + + + + + + + + @foreach (var salesItem in ItemList) + { + + + + + + + } + + + + + + +
+
+
+

Innotec Prisliste

+
+
+ +
+
+ +
NavnForkVarenrStk / Pris
+ @salesItem.Name + @salesItem.ShortName + @salesItem.Sku + +
    + @foreach (var rate in salesItem.Rates) + { +
  • +
    @rate.Quantity
    +
    @rate.Rate
    +
  • + } +
+
+ @DateTime.Now.ToShortDateString() - @DateTime.Now.ToShortTimeString() +
+} +else +{ +
Ingen data
+} \ No newline at end of file diff --git a/Wonky.Client/Components/CatalogTablePrintComponent.razor.cs b/Wonky.Client/Components/CatalogTablePrintComponent.razor.cs new file mode 100644 index 00000000..8d776940 --- /dev/null +++ b/Wonky.Client/Components/CatalogTablePrintComponent.razor.cs @@ -0,0 +1,27 @@ +// Copyright (C) 2022 FCS Frede's Computer Services. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero 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 Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] +// + +using Blazored.Toast.Services; +using Microsoft.AspNetCore.Components; +using Wonky.Entity.DTO; +using Wonky.Entity.Models; +using Wonky.Entity.Views; + +namespace Wonky.Client.Components; + +public partial class CatalogTablePrintComponent +{ + [Parameter] public List ItemList { get; set; } = new(); +} \ No newline at end of file diff --git a/Wonky.Client/Components/CompanySearchColumnComponent.razor b/Wonky.Client/Components/CompanySearchColumnComponent.razor index 70834feb..7915c26f 100644 --- a/Wonky.Client/Components/CompanySearchColumnComponent.razor +++ b/Wonky.Client/Components/CompanySearchColumnComponent.razor @@ -15,7 +15,7 @@ // *@ - diff --git a/Wonky.Client/Components/CompanySearchColumnComponent.razor.cs b/Wonky.Client/Components/CompanySearchColumnComponent.razor.cs index 67615e05..78ebc20b 100644 --- a/Wonky.Client/Components/CompanySearchColumnComponent.razor.cs +++ b/Wonky.Client/Components/CompanySearchColumnComponent.razor.cs @@ -24,32 +24,32 @@ namespace Wonky.Client.Components; public partial class CompanySearchColumnComponent : IDisposable { - [Inject] public ILocalStorageService LocalStorage { get; set; } - [Inject] public PreferenceService PreferenceService { get; set; } + [Inject] public ILocalStorageService Storage { get; set; } + [Inject] public UserPrefService PrefService { get; set; } [Parameter] public EventCallback OnChanged { get; set; } private Dictionary Items { get; set; } = new(); - private Preferences _preferences = new(); - private string Selection { get; set; } = "name"; + private UserPref Prefs { get; set; } = new(); + private string SearchCol { get; set; } = "name"; protected override async Task OnInitializedAsync() { - PreferenceService.OnChange += ProfileServiceOnOnChange; - _preferences = await PreferenceService.GetPreferences(); - Selection = _preferences.CompanySearch; + PrefService.OnChange += ProfileServiceOnOnChange; + Prefs = await PrefService.GetPreferences(); + SearchCol = Prefs.CompanySearch; } private async Task OnSelectionChanged(ChangeEventArgs e) { var val = e.Value.ToString(); if (val == "-1") return; await OnChanged.InvokeAsync(val); - await PreferenceService.SetCompanySearch(val); + await PrefService.SetCompanySearch(val); } - private void ProfileServiceOnOnChange(Preferences newPreferences) + private void ProfileServiceOnOnChange(UserPref newUserPref) { - _preferences = newPreferences; + Prefs = newUserPref; StateHasChanged(); } public void Dispose() { - PreferenceService.OnChange -= ProfileServiceOnOnChange; + PrefService.OnChange -= ProfileServiceOnOnChange; } } \ No newline at end of file diff --git a/Wonky.Client/Components/CompanySearchPhraseComponent.razor.cs b/Wonky.Client/Components/CompanySearchPhraseComponent.razor.cs index 12318c5e..10afcfd8 100644 --- a/Wonky.Client/Components/CompanySearchPhraseComponent.razor.cs +++ b/Wonky.Client/Components/CompanySearchPhraseComponent.razor.cs @@ -24,14 +24,14 @@ namespace Wonky.Client.Components { private Timer InputTimer { get; set; } = new(); private string SearchTerm { get; set; } = ""; - private Preferences Preferences { get; set; } = new (); - [Inject] public PreferenceService PreferenceService { get; set; } + private UserPref Prefs { get; set; } = new (); + [Inject] public UserPrefService PrefService { get; set; } [Parameter] public EventCallback OnChanged { get; set; } protected override async Task OnInitializedAsync() { - Preferences = await PreferenceService.GetPreferences(); - SearchTerm = string.IsNullOrWhiteSpace(Preferences.CompanyFilterPhrase) ? "" : Preferences.CompanyFilterPhrase.Trim(); + Prefs = await PrefService.GetPreferences(); + SearchTerm = string.IsNullOrWhiteSpace(Prefs.CompanyFilterPhrase) ? "" : Prefs.CompanyFilterPhrase.Trim(); if(!string.IsNullOrWhiteSpace(SearchTerm)) await OnChanged.InvokeAsync(SearchTerm); @@ -41,13 +41,13 @@ namespace Wonky.Client.Components { InputTimer.Dispose(); SearchTerm = ""; - await PreferenceService.SetCompanyFilterPhrase(SearchTerm.Trim()); + await PrefService.SetCompanyFilterPhrase(SearchTerm.Trim()); await OnChanged.InvokeAsync(SearchTerm); } private async Task OnSearchChanged() { - await PreferenceService.SetCompanyFilterPhrase(SearchTerm.Trim()); + await PrefService.SetCompanyFilterPhrase(SearchTerm.Trim()); InputTimer.Dispose(); InputTimer = new Timer(500); InputTimer.AutoReset = false; diff --git a/Wonky.Client/Components/CompanySortComponent.razor b/Wonky.Client/Components/CompanySortComponent.razor index 8a3ca616..9129b2ee 100644 --- a/Wonky.Client/Components/CompanySortComponent.razor +++ b/Wonky.Client/Components/CompanySortComponent.razor @@ -15,7 +15,7 @@ // *@ - diff --git a/Wonky.Client/Components/CompanySortComponent.razor.cs b/Wonky.Client/Components/CompanySortComponent.razor.cs index 916a3206..b04beff9 100644 --- a/Wonky.Client/Components/CompanySortComponent.razor.cs +++ b/Wonky.Client/Components/CompanySortComponent.razor.cs @@ -23,33 +23,33 @@ namespace Wonky.Client.Components { public partial class CompanySortComponent : IDisposable { - [Inject] public ILocalStorageService LocalStorage { get; set; } - [Inject] public PreferenceService PreferenceService { get; set; } + [Inject] public ILocalStorageService Storage { get; set; } + [Inject] public UserPrefService PrefService { get; set; } [Parameter] public EventCallback OnChanged { get; set; } private Dictionary Items { get; set; } = new(); - private Preferences _preferences = new(); - private string Selection { get; set; } = "name"; + private UserPref Prefs = new(); + private string SortCol { get; set; } = "name"; protected override async Task OnInitializedAsync() { - PreferenceService.OnChange += ProfileServiceOnOnChange; - _preferences = await PreferenceService.GetPreferences(); - Selection = _preferences.CompanySort; + PrefService.OnChange += ProfileServiceOnOnChange; + Prefs = await PrefService.GetPreferences(); + SortCol = Prefs.CompanySort; } private async Task OnSelectionChanged(ChangeEventArgs e) { var val = e.Value.ToString(); if (val == "-1") return; await OnChanged.InvokeAsync(val); - await PreferenceService.SetCompanySort(val); + await PrefService.SetCompanySort(val); } - private void ProfileServiceOnOnChange(Preferences newPreferences) + private void ProfileServiceOnOnChange(UserPref newUserPref) { - _preferences = newPreferences; + Prefs = newUserPref; StateHasChanged(); } public void Dispose() { - PreferenceService.OnChange -= ProfileServiceOnOnChange; + PrefService.OnChange -= ProfileServiceOnOnChange; } } } diff --git a/Wonky.Client/Components/InvoiceTableComponent.razor b/Wonky.Client/Components/InvoiceTableComponent.razor index 1e6034b1..70da7b47 100644 --- a/Wonky.Client/Components/InvoiceTableComponent.razor +++ b/Wonky.Client/Components/InvoiceTableComponent.razor @@ -47,6 +47,6 @@ } else { - Ingen data +
Ingen data
} \ No newline at end of file diff --git a/Wonky.Client/Components/LandingComponentAdmin.razor.cs b/Wonky.Client/Components/LandingComponentAdmin.razor.cs index 68946792..3fd7eaf5 100644 --- a/Wonky.Client/Components/LandingComponentAdmin.razor.cs +++ b/Wonky.Client/Components/LandingComponentAdmin.razor.cs @@ -32,12 +32,12 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; public partial class LandingComponentAdmin : IDisposable { - [Inject] public PreferenceService _preferenceService { get; set; } - [Inject] public ILogger _logger { get; set; } - [Inject] public HttpInterceptorService _interceptor { get; set; } - [Inject] public IToastService _toast { get; set; } + [Inject] public UserPrefService PrefService { get; set; } + [Inject] public ILogger Logger { get; set; } + [Inject] public HttpInterceptorService Interceptor { get; set; } + [Inject] public IToastService Toaster { get; set; } [Inject] public ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; } - [Inject] public NavigationManager _navigator { get; set; } + [Inject] public NavigationManager Navigator { get; set; } private readonly JsonSerializerOptions _options = new JsonSerializerOptions { @@ -45,24 +45,24 @@ public partial class LandingComponentAdmin : IDisposable PropertyNamingPolicy = JsonNamingPolicy.CamelCase }; - private Preferences _prefs { get; set; } = new(); - private string _workDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; - private string _today { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; + private UserPref Prefs { get; set; } = new(); + private string WordDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; + private string Today { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; protected override async Task OnInitializedAsync() { - _prefs = await _preferenceService.GetPreferences(); - if(!string.IsNullOrWhiteSpace(_prefs.WorkDate)) - _workDate = _prefs.WorkDate; + Prefs = await PrefService.GetPreferences(); + if(!string.IsNullOrWhiteSpace(Prefs.WorkDate)) + WordDate = Prefs.WorkDate; - _interceptor.RegisterEvent(); - _interceptor.RegisterBeforeSendEvent(); + Interceptor.RegisterEvent(); + Interceptor.RegisterBeforeSendEvent(); } public void Dispose() { - _interceptor.DisposeEvent(); + Interceptor.DisposeEvent(); } } diff --git a/Wonky.Client/Components/LandingComponentAdvisor.razor b/Wonky.Client/Components/LandingComponentAdvisor.razor index 9f156af2..22d16060 100644 --- a/Wonky.Client/Components/LandingComponentAdvisor.razor +++ b/Wonky.Client/Components/LandingComponentAdvisor.razor @@ -24,6 +24,6 @@
- \ No newline at end of file diff --git a/Wonky.Client/Components/LandingComponentAdvisor.razor.cs b/Wonky.Client/Components/LandingComponentAdvisor.razor.cs index aeeaeb27..1c54bb5b 100644 --- a/Wonky.Client/Components/LandingComponentAdvisor.razor.cs +++ b/Wonky.Client/Components/LandingComponentAdvisor.razor.cs @@ -32,30 +32,30 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; public partial class LandingComponentAdvisor : IDisposable { - [Inject] public PreferenceService _preferenceService { get; set; } - [Inject] public ILogger _logger { get; set; } - [Inject] public HttpInterceptorService _interceptor { get; set; } - [Inject] public IToastService _toast { get; set; } - [Inject] public ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; } - [Inject] public NavigationManager _navigator { get; set; } + [Inject] public UserPrefService PrefService { get; set; } + [Inject] public ILogger Logger { get; set; } + [Inject] public HttpInterceptorService Inteceptor { get; set; } + [Inject] public IToastService Toaster { get; set; } + [Inject] public ICrmTaskItemHttpRepository TaskItemRepo { get; set; } + [Inject] public NavigationManager Navigator { get; set; } - private readonly JsonSerializerOptions _options = new JsonSerializerOptions + private readonly JsonSerializerOptions JsonOptions = new JsonSerializerOptions { PropertyNameCaseInsensitive = true, PropertyNamingPolicy = JsonNamingPolicy.CamelCase }; - private Preferences _prefs { get; set; } = new(); + private UserPref Prefs { get; set; } = new(); private DateTime SelectedDate { get; set; } - private List? _taskItems { get; set; } = new(); + private List TaskItems { get; set; } = new(); protected override async Task OnInitializedAsync() { - _prefs = await _preferenceService.GetPreferences(); - SelectedDate = string.IsNullOrWhiteSpace(_prefs.WorkDate) ? DateTime.Now : DateTime.Parse(_prefs.WorkDate); + Prefs = await PrefService.GetPreferences(); + SelectedDate = string.IsNullOrWhiteSpace(Prefs.WorkDate) ? DateTime.Now : DateTime.Parse(Prefs.WorkDate); - _interceptor.RegisterEvent(); - _interceptor.RegisterBeforeSendEvent(); + Inteceptor.RegisterEvent(); + Inteceptor.RegisterBeforeSendEvent(); //await GetTaskItems(_workDate); await GetAllTasks(); @@ -63,43 +63,43 @@ public partial class LandingComponentAdvisor : IDisposable private async Task GetAllTasks() { - _taskItems = await CrmTaskItemRepo.GetTaskList(); + TaskItems = await TaskItemRepo.GetTaskList(); } private async Task OnCompleteTask(string taskItemId) { - await _preferenceService.SetWorkDate(DateTime.Now); - var item = _taskItems.Find(x => x.TaskItemId == taskItemId); - _navigator.NavigateTo($"/companies/{item.ReferenceId}/activities/new"); + await PrefService.SetWorkDate(DateTime.Now); + var item = TaskItems.Find(x => x.TaskItemId == taskItemId); + Navigator.NavigateTo($"/companies/{item.ReferenceId}/activities/new"); } private async Task GetWorkdayTasks(string workDate) { SelectedDate = DateTime.Parse(workDate); - _taskItems = new List(); - _taskItems = await CrmTaskItemRepo.GetTaskList($"{SelectedDate:yyyy-MM-dd}"); + TaskItems = new List(); + TaskItems = await TaskItemRepo.GetTaskList($"{SelectedDate:yyyy-MM-dd}"); } private async Task OnTaskCompleted(string taskItemId) { - var item = _taskItems.Find(x => x.TaskItemId == taskItemId); + var item = TaskItems.Find(x => x.TaskItemId == taskItemId); item.IsCompleted = true; - await CrmTaskItemRepo.UpdateTaskItem(taskItemId, item); - _taskItems.Remove(item); - _toast.ShowInfo("Opgaven er markeret som udført."); + await TaskItemRepo.UpdateTaskItem(taskItemId, item); + TaskItems.Remove(item); + Toaster.ShowInfo("Opgaven er markeret som udført."); } private async Task OnDeleteConfirmed(string taskItemId) { - var item = _taskItems.First(x => x.TaskItemId == taskItemId); - _taskItems.Remove(item); - await CrmTaskItemRepo.DeleteTaskItem(taskItemId); - _toast.ShowInfo("Opgaven er slettet."); + var item = TaskItems.First(x => x.TaskItemId == taskItemId); + TaskItems.Remove(item); + await TaskItemRepo.DeleteTaskItem(taskItemId); + Toaster.ShowInfo("Opgaven er slettet."); } public void Dispose() { - _interceptor.DisposeEvent(); + Inteceptor.DisposeEvent(); } } diff --git a/Wonky.Client/Components/LoaderThreeDots.razor.cs b/Wonky.Client/Components/LoaderThreeDots.razor.cs deleted file mode 100644 index 23b0ce0f..00000000 --- a/Wonky.Client/Components/LoaderThreeDots.razor.cs +++ /dev/null @@ -1,14 +0,0 @@ - -using Microsoft.AspNetCore.Components; - -namespace Wonky.Client.Components; - -public partial class LoaderThreeDots -{ - private bool ShowMe { get; set; } = true; - protected override async Task OnInitializedAsync() - { - await Task.Delay(15000); - ShowMe = false; - } -} \ No newline at end of file diff --git a/Wonky.Client/Components/OfficeActivityTableComponent.razor b/Wonky.Client/Components/OfficeActivityTableComponent.razor index 26efd2cd..a9cf370e 100644 --- a/Wonky.Client/Components/OfficeActivityTableComponent.razor +++ b/Wonky.Client/Components/OfficeActivityTableComponent.razor @@ -15,7 +15,7 @@ // *@ -@if (Activities.Any()) +@if (ActivityList.Any()) { @@ -34,7 +34,7 @@ - @foreach (var activity in Activities) + @foreach (var activity in ActivityList) { @@ -66,4 +66,8 @@ }
@activity.Company.Name
+} +else +{ +
Ingen data
} \ No newline at end of file diff --git a/Wonky.Client/Components/OfficeActivityTableComponent.razor.cs b/Wonky.Client/Components/OfficeActivityTableComponent.razor.cs index 15653c07..567469b7 100644 --- a/Wonky.Client/Components/OfficeActivityTableComponent.razor.cs +++ b/Wonky.Client/Components/OfficeActivityTableComponent.razor.cs @@ -20,8 +20,8 @@ namespace Wonky.Client.Components; public partial class OfficeActivityTableComponent { - [Parameter] public List Activities { get; set; } - [Inject] public NavigationManager _navigator { get; set; } + [Parameter] public List ActivityList { get; set; } + [Inject] public NavigationManager Navigator { get; set; } private static string GetProcessStatus(string processStatus) { @@ -38,6 +38,6 @@ public partial class OfficeActivityTableComponent private void ShowOrder(string companyId, string orderId) { - _navigator.NavigateTo($"office/customers/{companyId}/orders/{orderId}"); + Navigator.NavigateTo($"office/customers/{companyId}/orders/{orderId}"); } } \ No newline at end of file diff --git a/Wonky.Client/Components/OfficeAdvisorTableComponent.razor b/Wonky.Client/Components/OfficeAdvisorTableComponent.razor index c7798e1f..b645e485 100644 --- a/Wonky.Client/Components/OfficeAdvisorTableComponent.razor +++ b/Wonky.Client/Components/OfficeAdvisorTableComponent.razor @@ -54,5 +54,5 @@ } else { - +
Ingen data
} \ No newline at end of file diff --git a/Wonky.Client/Components/OfficeCustomerTableComponent.razor b/Wonky.Client/Components/OfficeCustomerTableComponent.razor index 242961d4..002cd873 100644 --- a/Wonky.Client/Components/OfficeCustomerTableComponent.razor +++ b/Wonky.Client/Components/OfficeCustomerTableComponent.razor @@ -18,7 +18,7 @@ @using Wonky.Client.Components; @using Wonky.Client.Helpers; -@if (Companies.Any()) +@if (CompanyList.Any()) {
@@ -40,7 +40,7 @@
- @foreach (var company in Companies) + @foreach (var company in CompanyList) {
@@ -59,14 +59,6 @@
@company.CountryCode.ToUpper()-@company.ZipCode @company.City
- @*
*@ - @* *@ - @* *@ - @*
*@
} @@ -74,5 +66,5 @@ } else { - +
Ingen data
} \ No newline at end of file diff --git a/Wonky.Client/Components/OfficeCustomerTableComponent.razor.cs b/Wonky.Client/Components/OfficeCustomerTableComponent.razor.cs index f153d30e..c9ff351b 100644 --- a/Wonky.Client/Components/OfficeCustomerTableComponent.razor.cs +++ b/Wonky.Client/Components/OfficeCustomerTableComponent.razor.cs @@ -26,17 +26,7 @@ namespace Wonky.Client.Components { public partial class OfficeCustomerTableComponent { - [Parameter] public List Companies { get; set; } = new(); - // [Parameter] public EventCallback OnDelete { get; set; } - // [Parameter] public EventCallback OnSelect { get; set; } - // - // private Confirmation _confirmation = new (); - // private string _companyId = ""; - // private string _actionUrl = ""; - // - protected override async Task OnInitializedAsync() - { - await base.OnInitializedAsync(); - } + [Parameter] public List CompanyList { get; set; } = new(); + } } diff --git a/Wonky.Client/Components/OfficeReportTableComponent.razor b/Wonky.Client/Components/OfficeReportTableComponent.razor index e4147cf3..792126a3 100644 --- a/Wonky.Client/Components/OfficeReportTableComponent.razor +++ b/Wonky.Client/Components/OfficeReportTableComponent.razor @@ -17,7 +17,7 @@ @using System.Globalization -@if (ReportList != null) +@if (ReportList.Any()) {
@@ -87,5 +87,5 @@ } else { - +
Ingen data
} \ No newline at end of file diff --git a/Wonky.Client/Components/OfficeUserTableComponent.razor b/Wonky.Client/Components/OfficeUserTableComponent.razor index 996f1adf..3f0f1bfe 100644 --- a/Wonky.Client/Components/OfficeUserTableComponent.razor +++ b/Wonky.Client/Components/OfficeUserTableComponent.razor @@ -51,5 +51,5 @@ } else { - +
Ingen data
} \ No newline at end of file diff --git a/Wonky.Client/Components/PageSizeComponent.razor b/Wonky.Client/Components/PageSizeComponent.razor index b46e5cff..28704c52 100644 --- a/Wonky.Client/Components/PageSizeComponent.razor +++ b/Wonky.Client/Components/PageSizeComponent.razor @@ -15,7 +15,7 @@ // *@ - diff --git a/Wonky.Client/Components/PageSizeComponent.razor.cs b/Wonky.Client/Components/PageSizeComponent.razor.cs index e7570785..e3318c70 100644 --- a/Wonky.Client/Components/PageSizeComponent.razor.cs +++ b/Wonky.Client/Components/PageSizeComponent.razor.cs @@ -23,33 +23,33 @@ namespace Wonky.Client.Components { public partial class PageSizeComponent : IDisposable { - [Inject] public ILocalStorageService LocalStorage { get; set; } - [Inject] public PreferenceService PreferenceService { get; set; } + [Inject] public ILocalStorageService Storage { get; set; } + [Inject] public UserPrefService PrefService { get; set; } [Parameter] public EventCallback OnChanged { get; set; } private Dictionary Items { get; set; } = new(); - private Preferences _preferences = new(); - private string Selection { get; set; } = ""; + private UserPref Prefs = new(); + private string PageSize { get; set; } = ""; protected override async Task OnInitializedAsync() { - PreferenceService.OnChange += ProfileServiceOnOnChange; - _preferences = await PreferenceService.GetPreferences(); - Selection = _preferences.PageSize; + PrefService.OnChange += ProfileServiceOnOnChange; + Prefs = await PrefService.GetPreferences(); + PageSize = Prefs.PageSize; } private async Task OnSelectChanged(ChangeEventArgs e) { var val = e.Value.ToString(); if (val == "-1") return; await OnChanged.InvokeAsync(val); - await PreferenceService.SetPageSize(val); + await PrefService.SetPageSize(val); } - private void ProfileServiceOnOnChange(Preferences newPreferences) + private void ProfileServiceOnOnChange(UserPref newUserPref) { - _preferences = newPreferences; + Prefs = newUserPref; StateHasChanged(); } public void Dispose() { - PreferenceService.OnChange -= ProfileServiceOnOnChange; + PrefService.OnChange -= ProfileServiceOnOnChange; } } } diff --git a/Wonky.Client/Components/PaginationComponent.razor b/Wonky.Client/Components/PaginationComponent.razor index 1eed6713..7b513bad 100644 --- a/Wonky.Client/Components/PaginationComponent.razor +++ b/Wonky.Client/Components/PaginationComponent.razor @@ -17,7 +17,7 @@
    - @foreach (var link in _links) + @foreach (var link in Links) {
  • SelectedPage { get; set; } - - private List _links { get; set; } = new(); + private List Links { get; set; } = new(); protected override void OnParametersSet() { @@ -36,7 +35,7 @@ namespace Wonky.Client.Components private void CreatePaginationLinks() { - _links = new List + Links = new List { new(MetaData.CurrentPage - 1, MetaData.HasPrevious, "Forrige") }; @@ -45,11 +44,11 @@ namespace Wonky.Client.Components { if (i >= MetaData.CurrentPage - Spread && i <= MetaData.CurrentPage + Spread) { - _links.Add(new PagingLink(i, true, i.ToString()) {Active = MetaData.CurrentPage == i}); + Links.Add(new PagingLink(i, true, i.ToString()) {Active = MetaData.CurrentPage == i}); } } - _links.Add(new PagingLink(MetaData.CurrentPage + 1, MetaData.HasNext, "Næste")); + Links.Add(new PagingLink(MetaData.CurrentPage + 1, MetaData.HasNext, "Næste")); } private async Task OnSelectedPage(PagingLink link) diff --git a/Wonky.Client/Components/ProductInventoryTableComponent.razor b/Wonky.Client/Components/ProductInventoryTableComponent.razor index 3fc1986b..9dc3b1a0 100644 --- a/Wonky.Client/Components/ProductInventoryTableComponent.razor +++ b/Wonky.Client/Components/ProductInventoryTableComponent.razor @@ -15,7 +15,7 @@ // *@ -@if (Inventory.Any()) +@if (ProductList.Any()) { @*
    @@ -40,7 +40,7 @@ *@ - @foreach (var product in Inventory) + @foreach (var product in ProductList) {
    @@ -59,6 +59,9 @@ }
    + +} +else +{ +
    Ingen data
    } - - \ No newline at end of file diff --git a/Wonky.Client/Components/ProductInventoryTableComponent.razor.cs b/Wonky.Client/Components/ProductInventoryTableComponent.razor.cs index cc53c993..e1ce28f3 100644 --- a/Wonky.Client/Components/ProductInventoryTableComponent.razor.cs +++ b/Wonky.Client/Components/ProductInventoryTableComponent.razor.cs @@ -26,7 +26,7 @@ namespace Wonky.Client.Components; public partial class ProductInventoryTableComponent { [CascadingParameter] DraftStateProvider DraftStateProvider { get; set; } - [Parameter] public List Inventory { get; set; } = new(); + [Parameter] public List ProductList { get; set; } = new(); [Parameter] public string CompanyId { get; set; } = ""; [Inject] public ICatalogHttpRepository Catalog { get; set; } // private variables diff --git a/Wonky.Client/Components/ProductLineTableComponent.razor b/Wonky.Client/Components/ProductLineTableComponent.razor index 164a4989..0a30ea7d 100644 --- a/Wonky.Client/Components/ProductLineTableComponent.razor +++ b/Wonky.Client/Components/ProductLineTableComponent.razor @@ -66,4 +66,8 @@ }
+} +else +{ +
Ingen data
} \ No newline at end of file diff --git a/Wonky.Client/Components/ReportTableComponent.razor b/Wonky.Client/Components/ReportTableComponent.razor index a4b75f99..94b71be2 100644 --- a/Wonky.Client/Components/ReportTableComponent.razor +++ b/Wonky.Client/Components/ReportTableComponent.razor @@ -84,6 +84,7 @@ } else { - +
Ingen data
} - \ No newline at end of file + + diff --git a/Wonky.Client/Components/WarehouseListComponent.razor b/Wonky.Client/Components/WarehouseListComponent.razor index 97e3d72e..283e34ee 100644 --- a/Wonky.Client/Components/WarehouseListComponent.razor +++ b/Wonky.Client/Components/WarehouseListComponent.razor @@ -18,55 +18,58 @@
- + - + - - + +
-
- @if (_readyToShip && _orders.Any()) + @if (ReadyToShip && OrderList.Any()) { }
-@if (_orders.Any()) -{ -
-
-
-
-

Ordredato

-
-
-

Kundenavn

-
-
-

Postnr. Bynavn

-
-
-

-
-
-

Status

-
+
+
+
+
+

Ordredato

+
+
+

Kundenavn

+
+
+

Postnr. Bynavn

+
+
+

+ +

+
+
+

Status

- @foreach (var order in _orders) +
+ @if (OrderList.Any()) + { + @foreach (var order in OrderList) {
@@ -105,9 +108,11 @@
} -
-} -else -{ - -} + } + else + { +
+ Flot klaret - bordet er ryddet +
+ } +
\ No newline at end of file diff --git a/Wonky.Client/Components/WarehouseListComponent.razor.cs b/Wonky.Client/Components/WarehouseListComponent.razor.cs index da86a4df..90da7c3a 100644 --- a/Wonky.Client/Components/WarehouseListComponent.razor.cs +++ b/Wonky.Client/Components/WarehouseListComponent.razor.cs @@ -27,38 +27,38 @@ namespace Wonky.Client.Components; public partial class WarehouseListComponent { [Parameter] public string Status { get; set; } = "none"; - [Inject] public HttpInterceptorService _interceptor { get; set; } - [Inject] public IWarehouseHttpRepository _warehouseRepo { get; set; } - [Inject] public IToastService _toast { get; set; } + [Inject] public HttpInterceptorService Interceptor { get; set; } + [Inject] public IWarehouseHttpRepository WarehouseRepo { get; set; } + [Inject] public IToastService Toaster { get; set; } + + private string ItemList { get; set; } = ""; + private bool ReadyToShip; + private string Header = "Ubehandlet"; - private string _items { get; set; } - private bool _readyToShip; - private string _header = "Ubehandlet"; - - private List _orders { get; set; } - private bool Loading { get; set; } + private List OrderList { get; set; } + private bool Working { get; set; } = true; protected override async Task OnInitializedAsync() { - _interceptor.RegisterEvent(); - _interceptor.RegisterBeforeSendEvent(); + Interceptor.RegisterEvent(); + Interceptor.RegisterBeforeSendEvent(); switch (Status.ToLower()) { case "none": - _header = "Ubehandlede ordrer"; + Header = "Ubehandlede ordrer"; await GetOrderStatusNone(); break; case "picked": - _header = "Plukkede ordrer"; + Header = "Plukkede ordrer"; await GetOrderStatusPicked(); break; case "packed": - _header = "Pakkede ordrer"; + Header = "Pakkede ordrer"; await GetOrderStatusPacked(); break; case "shipped": - _header = "Afsendte ordrer"; + Header = "Afsendte ordrer"; await GetOrderStatusShipped(); break; default: @@ -69,56 +69,61 @@ public partial class WarehouseListComponent private async Task GetOrderStatusNone() { - _orders = new List(); - _header = "Ubehandlede ordrer"; - _readyToShip = false; - Loading = true; - _orders = new List(); - _orders = await _warehouseRepo.GetWarehouseOrderListByStatus("none"); - if(_orders.Any(x => x.Express)) - _orders = _orders.OrderByDescending(x => x.Express).ToList(); - Loading = false; + Working = true; + OrderList = new List(); + Header = "Ubehandlede ordrer"; + ReadyToShip = false; + Working = true; + OrderList = new List(); + OrderList = await WarehouseRepo.GetWarehouseOrderListByStatus("none"); + if(OrderList.Any(x => x.Express)) + OrderList = OrderList.OrderByDescending(x => x.Express).ToList(); + Working = false; } private async Task GetOrderStatusPicked() { - _orders = new List(); - _header = "Plukkede ordrer"; - _readyToShip = false; - Loading = true; - _orders = new List(); - _orders = await _warehouseRepo.GetWarehouseOrderListByStatus("picked"); - Loading = false; + Working = true; + OrderList = new List(); + Header = "Plukkede ordrer"; + ReadyToShip = false; + Working = true; + OrderList = new List(); + OrderList = await WarehouseRepo.GetWarehouseOrderListByStatus("picked"); + Working = false; } private async Task GetOrderStatusPacked() { - _orders = new List(); - _header = "Pakkede ordrer"; - Loading = true; - _orders = new List(); - _orders = await _warehouseRepo.GetWarehouseOrderListByStatus("packed"); - _readyToShip = true; - Loading = false; + Working = true; + OrderList = new List(); + Header = "Pakkede ordrer"; + Working = true; + OrderList = new List(); + OrderList = await WarehouseRepo.GetWarehouseOrderListByStatus("packed"); + ReadyToShip = true; + Working = false; } private async Task GetOrderStatusShipped() { - _orders = new List(); - _header = "Afsendte ordrer"; - _readyToShip = false; - _toast.ShowWarning("Det kan tage lidt tid at hente alle.\nVent venligst.\nMåske skal vi tænke over hvor mange vi henter?"); - Loading = true; - _orders = new List(); - var orderList = await _warehouseRepo.GetWarehouseOrderListByStatus("shipped"); - _orders = orderList.OrderByDescending(x => x.OrderDate).ToList(); - _toast.ShowInfo("Her er de så ...."); - Loading = false; + Working = true; + OrderList = new List(); + Header = "Afsendte ordrer"; + ReadyToShip = false; + Toaster.ShowWarning("Det kan tage lidt tid at hente alle.\nVent venligst.\nMåske skal vi tænke over hvor mange vi henter?"); + Working = true; + OrderList = new List(); + var orderList = await WarehouseRepo.GetWarehouseOrderListByStatus("shipped"); + OrderList = orderList.OrderByDescending(x => x.OrderDate).ToList(); + Toaster.ShowInfo("Her er de så ...."); + Working = false; } private async Task SetAllPackedStatusToShipped() { - foreach (var order in _orders.Where(order => order.ProcessStatusEnum.ToLower() == "packed")) + Working = true; + foreach (var order in OrderList.Where(order => order.ProcessStatusEnum.ToLower() == "packed")) { order.ProcessStatusEnum = "shipped"; var process = new WarehouseProcess @@ -126,13 +131,13 @@ public partial class WarehouseListComponent OrderId = order.OrderId, ProcessStatusEnum = "shipped" }; - await _warehouseRepo.UpdateWarehouseOrderStatus(process); + await WarehouseRepo.UpdateWarehouseOrderStatus(process); } + Working = false; } public void Dispose() { - _interceptor.DisposeEvent(); + Interceptor.DisposeEvent(); } - } \ No newline at end of file diff --git a/Wonky.Client/Components/WorkDateComponent.razor.cs b/Wonky.Client/Components/WorkDateComponent.razor.cs index b6341c0e..ad1dbedc 100644 --- a/Wonky.Client/Components/WorkDateComponent.razor.cs +++ b/Wonky.Client/Components/WorkDateComponent.razor.cs @@ -27,7 +27,7 @@ public partial class WorkDateComponent : IDisposable /// /// User preference service /// - [Inject] public PreferenceService Prefs { get; set; } + [Inject] public UserPrefService Prefs { get; set; } /// /// OnChanged callback function /// @@ -40,7 +40,7 @@ public partial class WorkDateComponent : IDisposable /// /// user preferences /// - private Preferences _prefs = new(); + private UserPref _prefs = new(); /// /// Component Initialization /// @@ -66,10 +66,10 @@ public partial class WorkDateComponent : IDisposable /// /// ProfileService /// - /// - private void ProfileServiceOnOnChange(Preferences newPreferences) + /// + private void ProfileServiceOnOnChange(UserPref newUserPref) { - _prefs = newPreferences; + _prefs = newUserPref; StateHasChanged(); } /// diff --git a/Wonky.Client/Components/LoaderThreeDots.razor b/Wonky.Client/Components/WorkingThreeDots.razor similarity index 75% rename from Wonky.Client/Components/LoaderThreeDots.razor rename to Wonky.Client/Components/WorkingThreeDots.razor index f5859436..c69446b4 100644 --- a/Wonky.Client/Components/LoaderThreeDots.razor +++ b/Wonky.Client/Components/WorkingThreeDots.razor @@ -15,12 +15,9 @@ // *@ -@if (ShowMe) -{ -
-
- - loading ... -
-
-} +
+
+ + loading ... +
+
diff --git a/Wonky.Client/Components/WorkingThreeDots.razor.cs b/Wonky.Client/Components/WorkingThreeDots.razor.cs new file mode 100644 index 00000000..29ad0bd6 --- /dev/null +++ b/Wonky.Client/Components/WorkingThreeDots.razor.cs @@ -0,0 +1,9 @@ + +using Blazored.Toast.Services; +using Microsoft.AspNetCore.Components; + +namespace Wonky.Client.Components; + +public partial class WorkingThreeDots +{ +} \ No newline at end of file diff --git a/Wonky.Client/HttpInterfaces/ICatalogHttpRepository.cs b/Wonky.Client/HttpInterfaces/ICatalogHttpRepository.cs index 9f4d0021..3b07d212 100644 --- a/Wonky.Client/HttpInterfaces/ICatalogHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/ICatalogHttpRepository.cs @@ -56,4 +56,6 @@ public interface ICatalogHttpRepository /// /// Task GetSalesVariantId(string variantId); + + Task> GetPriceList(); } \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/CatalogHttpRepository.cs b/Wonky.Client/HttpRepository/CatalogHttpRepository.cs index 74dbc788..3ad86041 100644 --- a/Wonky.Client/HttpRepository/CatalogHttpRepository.cs +++ b/Wonky.Client/HttpRepository/CatalogHttpRepository.cs @@ -72,6 +72,14 @@ public class CatalogHttpRepository : ICatalogHttpRepository var response = await _client .GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.Catalog}/page", queryString)); + if (!response.IsSuccessStatusCode) + { + return new PagingResponse + { + Items = new List(), + MetaData = new MetaData() + }; + } var content = await response.Content.ReadAsStringAsync(); var pagingResponse = new PagingResponse @@ -129,4 +137,9 @@ public class CatalogHttpRepository : ICatalogHttpRepository .GetFromJsonAsync($"{_apiConfig.Catalog}/variant/{variantId}"); return salesItem ?? new SalesItemView(); } + + public async Task> GetPriceList() + { + return await _client.GetFromJsonAsync>($"{_apiConfig.Catalog}", _options); + } } \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/CrmCompanyHttpRepository.cs b/Wonky.Client/HttpRepository/CrmCompanyHttpRepository.cs index 66aa89fa..cb3b5b32 100644 --- a/Wonky.Client/HttpRepository/CrmCompanyHttpRepository.cs +++ b/Wonky.Client/HttpRepository/CrmCompanyHttpRepository.cs @@ -76,8 +76,16 @@ public class CrmCompanyHttpRepository : ICrmCompanyHttpRepository }; var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_conf.CrmCustomers}/page", queryString)); + if (!response.IsSuccessStatusCode) + { + return new PagingResponse + { + Items = new List(), + MetaData = new MetaData() + }; + } var content = await response.Content.ReadAsStringAsync(); - + var pagingResponse = new PagingResponse { Items = JsonSerializer.Deserialize>(content, _options), diff --git a/Wonky.Client/Pages/CatalogPage.razor b/Wonky.Client/Pages/CatalogPage.razor index fc2096cc..1e02a8eb 100644 --- a/Wonky.Client/Pages/CatalogPage.razor +++ b/Wonky.Client/Pages/CatalogPage.razor @@ -22,30 +22,32 @@ @attribute [Authorize(Roles = "Advisor,Admin,Office")]
-
-
-
- -
-
- -
-
- -
-
- -
-
- -
+
+
+
-
-
- -
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
- - +@if (Working) +{ + +} + \ No newline at end of file diff --git a/Wonky.Client/Pages/CatalogPage.razor.cs b/Wonky.Client/Pages/CatalogPage.razor.cs index e9990e23..aefd4d59 100644 --- a/Wonky.Client/Pages/CatalogPage.razor.cs +++ b/Wonky.Client/Pages/CatalogPage.razor.cs @@ -34,23 +34,24 @@ public partial class CatalogPage : IDisposable [Inject] public ILocalStorageService Storage { get; set; } [Inject] public ICatalogHttpRepository ItemRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public PreferenceService PreferenceService { get; set; } + [Inject] public UserPrefService UserPrefService { get; set; } private List _items { get; set; } = new(); private MetaData _metaData { get; set; } = new(); private CatalogPagingParams _paging = new(); - private Preferences _preferences = new(); + private UserPref _userPref = new(); private UserInfoView _user { get; set; } = new(); + private bool Working { get; set; } = true; protected override async Task OnInitializedAsync() { - _preferences = await PreferenceService.GetPreferences(); + _userPref = await UserPrefService.GetPreferences(); _user = await Storage.GetItemAsync("_xu"); _paging.CountryCode = _user.CountryCode; - _paging.OrderBy = _preferences.ItemSort; - _paging.SearchColumn = _preferences.ItemSearch; - _paging.PageSize = Convert.ToInt32(_preferences.PageSize); + _paging.OrderBy = _userPref.ItemSort; + _paging.SearchColumn = _userPref.ItemSearch; + _paging.PageSize = Convert.ToInt32(_userPref.PageSize); Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); @@ -105,9 +106,12 @@ public partial class CatalogPage : IDisposable private async Task GetSalesItems() { + Working = true; var pagingResponse = await ItemRepo.GetSalesItemsPaged(_paging); + Working = false; _items = pagingResponse.Items!; _metaData = pagingResponse.MetaData; + } diff --git a/Wonky.Client/Pages/CatalogPrintPage.razor b/Wonky.Client/Pages/CatalogPrintPage.razor new file mode 100644 index 00000000..93e391c8 --- /dev/null +++ b/Wonky.Client/Pages/CatalogPrintPage.razor @@ -0,0 +1,32 @@ +@* +// Copyright (C) 2022 FCS Frede's Computer Services. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero 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 Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] +// +*@ + +@page "/price-catalog/print" +@using Wonky.Client.Components +@using Microsoft.AspNetCore.Authorization + +@attribute [Authorize(Roles = "Admin,Advisor,Office,Warehouse")] + +@if (Working) +{ + +} +else +{ + +} + diff --git a/Wonky.Client/Pages/CatalogPrintPage.razor.cs b/Wonky.Client/Pages/CatalogPrintPage.razor.cs new file mode 100644 index 00000000..41ceefdb --- /dev/null +++ b/Wonky.Client/Pages/CatalogPrintPage.razor.cs @@ -0,0 +1,56 @@ +// Copyright (C) 2022 FCS Frede's Computer Services. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero 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 Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] +// + +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Blazored.LocalStorage; +using Wonky.Client.HttpInterceptors; +using Wonky.Client.HttpRepository; +using Microsoft.AspNetCore.Components; +using Wonky.Client.Components; +using Wonky.Client.HttpInterfaces; +using Wonky.Client.Services; +using Wonky.Entity.DTO; +using Wonky.Entity.Requests; +using Wonky.Entity.Views; + +namespace Wonky.Client.Pages; + +public partial class CatalogPrintPage : IDisposable +{ + [Inject] public ILocalStorageService Storage { get; set; } + [Inject] public ICatalogHttpRepository ItemRepo { get; set; } + [Inject] public HttpInterceptorService Interceptor { get; set; } + [Inject] public UserPrefService UserPrefService { get; set; } + private List Items { get; set; } = new(); + private bool Working { get; set; } = true; + + protected override async Task OnInitializedAsync() + { + Interceptor.RegisterEvent(); + Interceptor.RegisterBeforeSendEvent(); + await GetSalesItems(); + } + + private async Task GetSalesItems() + { + Items = await ItemRepo.GetPriceList(); + Working = false; + } + + public void Dispose() => Interceptor.DisposeEvent(); + +} \ No newline at end of file diff --git a/Wonky.Client/Pages/CrmActivityNewPage.razor b/Wonky.Client/Pages/CrmActivityNewPage.razor index 7b7289d5..bb022c1a 100644 --- a/Wonky.Client/Pages/CrmActivityNewPage.razor +++ b/Wonky.Client/Pages/CrmActivityNewPage.razor @@ -233,21 +233,21 @@ else - +
- +
- + - + @SelectedItem.Sku diff --git a/Wonky.Client/Pages/CrmActivityNewPage.razor.cs b/Wonky.Client/Pages/CrmActivityNewPage.razor.cs index f04913b6..0ad95841 100644 --- a/Wonky.Client/Pages/CrmActivityNewPage.razor.cs +++ b/Wonky.Client/Pages/CrmActivityNewPage.razor.cs @@ -39,7 +39,7 @@ public partial class CrmActivityNewPage : IDisposable // Services [Inject] public ILogger Logger { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public PreferenceService Prefs { get; set; } + [Inject] public UserPrefService Prefs { get; set; } [Inject] public IToastService Toast { get; set; } [Inject] public NavigationManager Navigator { get; set; } [Inject] public ILocalStorageService Storage { get; set; } @@ -50,7 +50,7 @@ public partial class CrmActivityNewPage : IDisposable // variables private readonly JsonSerializerOptions? _options = new() {PropertyNameCaseInsensitive = true}; private SalesItemView SelectedItem { get; set; } = new(); - private Preferences UserPrefs { get; set; } = new(); + private UserPref UserPrefs { get; set; } = new(); private ActivityDto Activity { get; set; } = new(); private CompanyDto Company = new(); private EditContext ActivityContext { get; set; } diff --git a/Wonky.Client/Pages/CrmActivityTodayPage.razor b/Wonky.Client/Pages/CrmActivityTodayPage.razor index 32f4b7a6..f7e2306e 100644 --- a/Wonky.Client/Pages/CrmActivityTodayPage.razor +++ b/Wonky.Client/Pages/CrmActivityTodayPage.razor @@ -38,12 +38,11 @@ }
- -@if (ReportStatusView.ReportItems.Any()) -{ - -} @if (Working) { - -} \ No newline at end of file + +} +@if (ReportStatusView.ReportItems.Any()) +{ + +} diff --git a/Wonky.Client/Pages/CrmActivityTodayPage.razor.cs b/Wonky.Client/Pages/CrmActivityTodayPage.razor.cs index 7b6d2cab..8aeb11d3 100644 --- a/Wonky.Client/Pages/CrmActivityTodayPage.razor.cs +++ b/Wonky.Client/Pages/CrmActivityTodayPage.razor.cs @@ -27,7 +27,7 @@ namespace Wonky.Client.Pages; public partial class CrmActivityTodayPage : IDisposable { - [Inject] public PreferenceService PreferenceService { get; set; } + [Inject] public UserPrefService UserPrefService { get; set; } [Inject] public ILogger Logger { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } @@ -35,7 +35,7 @@ public partial class CrmActivityTodayPage : IDisposable [Inject] public ICrmReportHttpRepository CrmReportRepo { get; set; } [Inject] public IToastService Toaster { get; set; } private ReportStatusView? ReportStatusView { get; set; } = new(); - private Preferences Preferences { get; set; } = new(); + private UserPref UserPref { get; set; } = new(); private DateTime SelectedDate { get; set; } private bool ReportExist { get; set; } private bool Working { get; set; } = true; @@ -44,8 +44,8 @@ public partial class CrmActivityTodayPage : IDisposable { Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); - Preferences = await PreferenceService.GetPreferences(); - SelectedDate = string.IsNullOrWhiteSpace(Preferences.WorkDate) ? DateTime.Now : DateTime.Parse(Preferences.WorkDate); + UserPref = await UserPrefService.GetPreferences(); + SelectedDate = string.IsNullOrWhiteSpace(UserPref.WorkDate) ? DateTime.Now : DateTime.Parse(UserPref.WorkDate); ReportExist = await CrmReportRepo.ReportExist($"{SelectedDate:yyyy-MM-dd}"); await GetActivities($"{SelectedDate:yyyy-MM-dd}"); Working = false; diff --git a/Wonky.Client/Pages/CrmActivityViewPage.razor b/Wonky.Client/Pages/CrmActivityViewPage.razor index 31030ad4..ddb5520b 100644 --- a/Wonky.Client/Pages/CrmActivityViewPage.razor +++ b/Wonky.Client/Pages/CrmActivityViewPage.razor @@ -23,6 +23,10 @@ @* *@ +@if (Working) +{ + +} diff --git a/Wonky.Client/Pages/CrmActivityViewPage.razor.cs b/Wonky.Client/Pages/CrmActivityViewPage.razor.cs index febdc60c..7eeee6b7 100644 --- a/Wonky.Client/Pages/CrmActivityViewPage.razor.cs +++ b/Wonky.Client/Pages/CrmActivityViewPage.razor.cs @@ -43,6 +43,7 @@ public partial class CrmActivityViewPage : IDisposable private EditContext NoteContext { get; set; } private bool Disabled { get; set; } private int GraceTime { get; set; } = 60; + private bool Working { get; set; } = true; protected override async Task OnInitializedAsync() { @@ -54,6 +55,7 @@ public partial class CrmActivityViewPage : IDisposable Note.ActivityId = ReportItem.ActivityId; Note.OfficeNote = ReportItem.OfficeNote; Logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(ReportItem)); + Working = false; } private void HandleFieldChanged(object sender, FieldChangedEventArgs e) @@ -63,6 +65,7 @@ public partial class CrmActivityViewPage : IDisposable private async Task UpdateOfficeNote() { + Working = true; Disabled = true; Logger.LogDebug("OfficeNote => \n {}", JsonSerializer.Serialize(Note)); await ActivityRepo.UpdateOfficeNote(Note); diff --git a/Wonky.Client/Pages/CrmCompanyActivityListPage.razor b/Wonky.Client/Pages/CrmCompanyActivityListPage.razor index 5c53fa73..1fa32082 100644 --- a/Wonky.Client/Pages/CrmCompanyActivityListPage.razor +++ b/Wonky.Client/Pages/CrmCompanyActivityListPage.razor @@ -20,6 +20,10 @@ @page "/companies/{CompanyId}/activities" @attribute [Authorize(Roles = "Advisor")] +@if (Working) +{ + +} @if (!string.IsNullOrWhiteSpace(Company.Name)) {
@@ -92,8 +96,3 @@ }
} - -@if (Working) -{ - -} \ No newline at end of file diff --git a/Wonky.Client/Pages/CrmCompanyInventoryPage.razor b/Wonky.Client/Pages/CrmCompanyInventoryPage.razor index f441eb3b..e18a4a95 100644 --- a/Wonky.Client/Pages/CrmCompanyInventoryPage.razor +++ b/Wonky.Client/Pages/CrmCompanyInventoryPage.razor @@ -19,6 +19,10 @@ @using Microsoft.AspNetCore.Authorization @page "/companies/{CompanyId}/h/i" @attribute [Authorize(Roles = "Advisor")] +@if (Working) +{ + +}

@Company.Name

@@ -30,11 +34,4 @@ Besøg
-@if (Loading) -{ - -} -else -{ - -} \ No newline at end of file + diff --git a/Wonky.Client/Pages/CrmCompanyInventoryPage.razor.cs b/Wonky.Client/Pages/CrmCompanyInventoryPage.razor.cs index df06ded6..be5104b6 100644 --- a/Wonky.Client/Pages/CrmCompanyInventoryPage.razor.cs +++ b/Wonky.Client/Pages/CrmCompanyInventoryPage.razor.cs @@ -35,7 +35,7 @@ public partial class CrmCompanyInventoryPage : IDisposable [Inject] public ILogger Logger { get; set; } private CompanyDto Company { get; set; } = new(); private List? Inventory { get; set; } - private bool Loading { get; set; } = true; + private bool Working { get; set; } = true; protected override async Task OnParametersSetAsync() { @@ -44,15 +44,18 @@ public partial class CrmCompanyInventoryPage : IDisposable Company = await CompanyRepo.GetCompanyById(CompanyId); - await RefreshHistory(); + await FetchInventory(); + Working = false; } - private async Task RefreshHistory() + private async Task FetchInventory() { + Working = true; Toaster.ShowInfo("Arbejder på sagen ...", "Vent venligst"); Inventory = await CrmHistoryRepo.FetchInventory(CompanyId); - Inventory = Inventory?.OrderBy(x => x.Description).ToList(); - Loading = false; + if(Inventory.Any()) + Inventory = Inventory.OrderBy(x => x.Description).ToList(); + Working = false; Toaster.ClearAll(); } diff --git a/Wonky.Client/Pages/CrmCompanyInvoiceListPage.razor b/Wonky.Client/Pages/CrmCompanyInvoiceListPage.razor index 14f4348c..538e4e04 100644 --- a/Wonky.Client/Pages/CrmCompanyInvoiceListPage.razor +++ b/Wonky.Client/Pages/CrmCompanyInvoiceListPage.razor @@ -1,5 +1,11 @@ @page "/companies/{CompanyId}/invoices" @using Wonky.Client.Components + +@if (Working) +{ + +} + @if (!string.IsNullOrWhiteSpace(Company.Name)) {
@@ -15,10 +21,3 @@
} -else -{ - @if (Loading) - { - - } -} \ No newline at end of file diff --git a/Wonky.Client/Pages/CrmCompanyInvoiceListPage.razor.cs b/Wonky.Client/Pages/CrmCompanyInvoiceListPage.razor.cs index 281a84f5..dbed8165 100644 --- a/Wonky.Client/Pages/CrmCompanyInvoiceListPage.razor.cs +++ b/Wonky.Client/Pages/CrmCompanyInvoiceListPage.razor.cs @@ -19,7 +19,7 @@ public partial class CrmCompanyInvoiceListPage : IDisposable private InvoiceListView History { get; set; } = new(); private CompanyDto Company { get; set; } = new(); - private bool Loading { get; set; } = true; + private bool Working { get; set; } = true; protected override async Task OnParametersSetAsync() { @@ -28,14 +28,16 @@ public partial class CrmCompanyInvoiceListPage : IDisposable Company = await CompanyRepo.GetCompanyById(CompanyId); - await GetInvoices(); + await FetchInvoices(); + Working = false; } - private async Task GetInvoices() + private async Task FetchInvoices() { + Working = true; Toaster.ShowInfo("Arbejder på sagen ...", "Vent venligst"); History = await HistoryRepo.FetchInvoiceList(CompanyId); - Loading = false; + Working = false; Toaster.ClearAll(); } diff --git a/Wonky.Client/Pages/CrmCompanyListPage.razor b/Wonky.Client/Pages/CrmCompanyListPage.razor index f720f72b..491024d4 100644 --- a/Wonky.Client/Pages/CrmCompanyListPage.razor +++ b/Wonky.Client/Pages/CrmCompanyListPage.razor @@ -22,40 +22,39 @@ @attribute [Authorize(Roles = "Advisor")]
-
-
-
- -
-
- -
-
- -
-
- +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
-
-
-
- - -
-
-
- -
- +
+ +
+
- - @if (Working) { - -} \ No newline at end of file + +} +else +{ + +} + diff --git a/Wonky.Client/Pages/CrmCompanyListPage.razor.cs b/Wonky.Client/Pages/CrmCompanyListPage.razor.cs index 50cda5dc..7c2a0567 100644 --- a/Wonky.Client/Pages/CrmCompanyListPage.razor.cs +++ b/Wonky.Client/Pages/CrmCompanyListPage.razor.cs @@ -30,92 +30,87 @@ namespace Wonky.Client.Pages { public partial class CrmCompanyListPage : IDisposable { - [Inject] public ILocalStorageService _storage { get; set; } - [Inject] public PreferenceService _preferenceService { get; set; } - [Inject] public ICrmCompanyHttpRepository _companyRepo { get; set; } - [Inject] public HttpInterceptorService _interceptor { get; set; } - [Inject] public NavigationManager _navigator { get; set; } - private List _companyList { get; set; } = new(); - private MetaData _metaData { get; set; } = new(); - private CompanyPagingParams _paging = new(); - private Preferences _preferences { get; set; } = new(); - private UserInfoView _userInfo { get; set; } = new(); - private string _savedSearch { get; set; } = ""; - private bool _includeFolded { get; set; } + [Inject] public ILocalStorageService Storage { get; set; } + [Inject] public UserPrefService PrefService { get; set; } + [Inject] public ICrmCompanyHttpRepository CompanyRepo { get; set; } + [Inject] public HttpInterceptorService Interceptor { get; set; } + [Inject] public NavigationManager Navigator { get; set; } + private List Companies { get; set; } = new(); + private MetaData PageData { get; set; } = new(); + private CompanyPagingParams PageParams = new(); + private UserPref Prefs { get; set; } = new(); + private UserInfoView UserInfo { get; set; } = new(); + private string SavedSearch { get; set; } = ""; + private bool IncludeFolded { get; set; } private bool Working { get; set; } = true; protected override async Task OnInitializedAsync() { // set preferences - _preferences = await _preferenceService.GetPreferences(); - _userInfo = await _storage.GetItemAsync("_xu"); - _paging.OrderBy = _preferences.CompanySort; - _paging.SearchColumn = _preferences.CompanySearch; - _paging.PageSize = Convert.ToInt32(_preferences.PageSize); - _paging.HasFolded = _includeFolded ? 1 : 0; - _paging.CountryCode = _userInfo.CountryCode; + Prefs = await PrefService.GetPreferences(); + UserInfo = await Storage.GetItemAsync("_xu"); + PageParams.OrderBy = Prefs.CompanySort; + PageParams.SearchColumn = Prefs.CompanySearch; + PageParams.PageSize = Convert.ToInt32(Prefs.PageSize); + PageParams.HasFolded = IncludeFolded ? 1 : 0; + PageParams.CountryCode = UserInfo.CountryCode; // load saved search - _savedSearch = _preferences.CompanyFilterPhrase; - _paging.SearchTerm = _savedSearch; + SavedSearch = string.IsNullOrWhiteSpace(Prefs.CompanyFilterPhrase) ? "" : Prefs.CompanyFilterPhrase; + PageParams.SearchTerm = SavedSearch; - _interceptor.RegisterEvent(); - _interceptor.RegisterBeforeSendEvent(); + Interceptor.RegisterEvent(); + Interceptor.RegisterBeforeSendEvent(); // get companies - await GetCompanies(); + await FetchCompanies(); + Working = false; } private async Task OnFoldedClick() { - _includeFolded = !_includeFolded; - _companyList = new List(); - _paging.PageNumber = 1; - _paging.HasFolded = _includeFolded ? 1 : 0; - await GetCompanies(); + IncludeFolded = !IncludeFolded; + Companies = new List(); + PageParams.PageNumber = 1; + PageParams.HasFolded = IncludeFolded ? 1 : 0; + await FetchCompanies(); } + private async Task SelectedPage(int page) { - _companyList = new List(); - _paging.PageNumber = page; - await GetCompanies(); + Companies = new List(); + PageParams.PageNumber = page; + await FetchCompanies(); } private async Task SetSearchCol(string searchColumn) { - _companyList = new List(); - _paging.SearchColumn = searchColumn; - _paging.PageNumber = 1; - await GetCompanies(); + Companies = new List(); + PageParams.SearchColumn = searchColumn; + PageParams.PageNumber = 1; + await FetchCompanies(); } private async Task SetPageSize(string pageSize) { - _companyList = new List(); - _paging.PageSize = Convert.ToInt32(pageSize); - _paging.PageNumber = 1; - await GetCompanies(); + Companies = new List(); + PageParams.PageSize = Convert.ToInt32(pageSize); + PageParams.PageNumber = 1; + await FetchCompanies(); } private async Task SetSearchPhrase(string searchTerm) { - // if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.Length < 3) return; - - _companyList = new List(); - _paging.PageNumber = 1; - _paging.SearchTerm = searchTerm; - await GetCompanies(); - if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.TrimEnd().Length > 2) - { - _savedSearch = searchTerm; - await _preferenceService.SetCompanyFilterPhrase(searchTerm.Trim()); - } + Companies = new List(); + PageParams.PageNumber = 1; + PageParams.SearchTerm = searchTerm; + await FetchCompanies(); } private async Task SetSortCol(string orderBy) { - _companyList = new List(); - _paging.OrderBy = orderBy; - await GetCompanies(); + Companies = new List(); + PageParams.OrderBy = orderBy; + await FetchCompanies(); } /// @@ -124,23 +119,31 @@ namespace Wonky.Client.Pages /// private async Task DeleteCompany(string companyId) { - _companyList = new List(); - await _companyRepo.DeleteCompany(companyId); - if (_paging.PageNumber > 1 && _companyList.Count == 1) - _paging.PageNumber--; - await GetCompanies(); + Companies = new List(); + await CompanyRepo.DeleteCompany(companyId); + if (PageParams.PageNumber > 1 && Companies.Count == 1) + PageParams.PageNumber--; + await FetchCompanies(); } - private async Task GetCompanies() + private async Task FetchCompanies() { Working = true; - var pagingResponse = await _companyRepo.GetCompanies(_paging); - _companyList = pagingResponse.Items; - _metaData = pagingResponse.MetaData; + var pagingResponse = await CompanyRepo.GetCompanies(PageParams); Working = false; + if (pagingResponse.Items.Any()) + { + Companies = pagingResponse.Items; + PageData = pagingResponse.MetaData; + } + else + { + Companies = new List(); + PageData = new MetaData(); + } } - public void Dispose() => _interceptor.DisposeEvent(); + public void Dispose() => Interceptor.DisposeEvent(); } } diff --git a/Wonky.Client/Pages/CrmCompanyNewPage.razor b/Wonky.Client/Pages/CrmCompanyNewPage.razor index 9ba01c67..38d66ffa 100644 --- a/Wonky.Client/Pages/CrmCompanyNewPage.razor +++ b/Wonky.Client/Pages/CrmCompanyNewPage.razor @@ -23,7 +23,10 @@

Opret kunde

- +@if (Working) +{ + +} diff --git a/Wonky.Client/Pages/CrmCompanyNewPage.razor.cs b/Wonky.Client/Pages/CrmCompanyNewPage.razor.cs index 85272ea0..b1ed425d 100644 --- a/Wonky.Client/Pages/CrmCompanyNewPage.razor.cs +++ b/Wonky.Client/Pages/CrmCompanyNewPage.razor.cs @@ -59,6 +59,7 @@ namespace Wonky.Client.Pages private DateTime NextVisit { get; set; } private bool Dk { get; set; } = true; private bool ShowInfos = true; + private bool Working { get; set; } protected override async Task OnInitializedAsync() { @@ -139,10 +140,8 @@ namespace Wonky.Client.Pages // this can be removed in favor of the new data returned from updating the VatNumber RegState = regInfo.States[0].State.ToLower() == "normal" ? "the-good" : "the-dead"; - if (regInfo.SyncAll) { - Company.Name = regInfo.Name; Company.Address1 = regInfo.Address; Company.Address2 = regInfo.CoName; @@ -168,6 +167,7 @@ namespace Wonky.Client.Pages } private async Task SubmitCompanyForm() { + Working = true; FormInvalid = true; Company.LastVisit = $"{LastVisit:yyyy-MM-dd}"; Company.NextVisit = $"{NextVisit:yyyy-MM-dd}"; @@ -184,6 +184,8 @@ namespace Wonky.Client.Pages Toaster.ShowWarning($"'{Company.Name}' IKKE oprettet."); FormInvalid = false; } + + Working = false; } private void HandleFieldChanged(object sender, FieldChangedEventArgs e) diff --git a/Wonky.Client/Pages/CrmCompanyViewPage.razor b/Wonky.Client/Pages/CrmCompanyViewPage.razor index 67ea78b8..294080d1 100644 --- a/Wonky.Client/Pages/CrmCompanyViewPage.razor +++ b/Wonky.Client/Pages/CrmCompanyViewPage.razor @@ -23,7 +23,7 @@ @if (Working) { - + } @if (!string.IsNullOrWhiteSpace(Company.Account)) { @@ -131,7 +131,7 @@ @* activity buttons *@
Tilbud diff --git a/Wonky.Client/Pages/CrmCompanyViewPage.razor.cs b/Wonky.Client/Pages/CrmCompanyViewPage.razor.cs index d65b4494..2a26da24 100644 --- a/Wonky.Client/Pages/CrmCompanyViewPage.razor.cs +++ b/Wonky.Client/Pages/CrmCompanyViewPage.razor.cs @@ -76,7 +76,7 @@ public partial class CrmCompanyViewPage : IDisposable Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); // fetch company from backend - await GetCompany(CompanyId); + await FetchCompany(CompanyId); // initialize default contact DefaultContact = new ContactDto { CompanyId = CompanyId, ContactId = "", FirstName = ""}; // setup form context @@ -87,7 +87,7 @@ public partial class CrmCompanyViewPage : IDisposable // call background task to sync backend with erp await SyncCompanyHistory(CompanyId, Company.HistorySync); // call background task to fetch contacts - await GetContacts(CompanyId); + await FetchContacts(CompanyId); // remove loading image Working = false; } @@ -96,7 +96,7 @@ public partial class CrmCompanyViewPage : IDisposable /// Get company by id ///
/// - private async Task GetCompany(string companyId) + private async Task FetchCompany(string companyId) { Company = await CompanyRepo.GetCompanyById(companyId); CurrentVat = Company.VatNumber; @@ -142,17 +142,20 @@ public partial class CrmCompanyViewPage : IDisposable // create search address from address if (CountryIsDk) CompanyVatAddress = PrepareVatAddress(Company); + Working = false; } /// /// Fetch contacts from backend /// /// - private async Task GetContacts(string companyId) + private async Task FetchContacts(string companyId) { + Working = true; // load contacts Contacts = await ContactRepo.GetContacts(companyId); Contacts = Contacts.OrderBy(x => x.FirstName).ToList(); + Working = false; } /// @@ -207,6 +210,7 @@ public partial class CrmCompanyViewPage : IDisposable /// private async Task WriteContactCallback(ContactDto contact) { + Working = true; // write contact to debug log Logger.LogDebug("CompanyView => SaveContactCallback <= {}", JsonSerializer.Serialize(contact)); if (string.IsNullOrWhiteSpace(contact.ContactId)) @@ -226,7 +230,8 @@ public partial class CrmCompanyViewPage : IDisposable // reset selected contact SelectedContact = new ContactDto(); // reload contacts from backend - await GetContacts(CompanyId); + await FetchContacts(CompanyId); + Working = false; } /// @@ -235,13 +240,15 @@ public partial class CrmCompanyViewPage : IDisposable /// private async Task DeleteContactCallback(string contactId) { + Working = true; Logger.LogDebug("delete {}", contactId); // send delete request to backend await ContactRepo.DeleteContact(CompanyId, contactId); // reset selected contact SelectedContact = new ContactDto(); // reload contacts from backend - await GetContacts(CompanyId); + await FetchContacts(CompanyId); + Working = false; } /// @@ -346,8 +353,10 @@ public partial class CrmCompanyViewPage : IDisposable /// private async Task SyncCompanyHistory(string companyId, string syncDate) { + Working = true; // send rpc request to backend await HistoryRepo.RpcSyncErpToCrm(companyId, syncDate); + Working = false; } /// diff --git a/Wonky.Client/Pages/CrmReportListPage.razor b/Wonky.Client/Pages/CrmReportListPage.razor index 54c6e138..3286a9f5 100644 --- a/Wonky.Client/Pages/CrmReportListPage.razor +++ b/Wonky.Client/Pages/CrmReportListPage.razor @@ -18,9 +18,13 @@ @using Wonky.Client.Components @page "/sales-reports" -
-
-

Rapport Arkiv

-
+@if (Working) +{ + +} +
+
+

Rapport Arkiv

- +
+ diff --git a/Wonky.Client/Pages/CrmReportListPage.razor.cs b/Wonky.Client/Pages/CrmReportListPage.razor.cs index 64aa4122..4fed94f5 100644 --- a/Wonky.Client/Pages/CrmReportListPage.razor.cs +++ b/Wonky.Client/Pages/CrmReportListPage.razor.cs @@ -25,20 +25,22 @@ namespace Wonky.Client.Pages; public partial class CrmReportListPage : IDisposable { [Inject] public ICrmReportHttpRepository CrmReportRepo { get; set; } - [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public HttpInterceptorService Interceptor { get; set; } - private List _reports { get; set; } + private List ReportList { get; set; } = new(); + private bool Working { get; set; } = true; protected override async Task OnInitializedAsync() { - _interceptor.RegisterEvent(); - _interceptor.RegisterBeforeSendEvent(); + Interceptor.RegisterEvent(); + Interceptor.RegisterBeforeSendEvent(); - _reports = await CrmReportRepo.GetReports(); + ReportList = await CrmReportRepo.GetReports(); + Working = false; } public void Dispose() { - _interceptor.DisposeEvent(); + Interceptor.DisposeEvent(); } } \ No newline at end of file diff --git a/Wonky.Client/Pages/CrmReportNewPage.razor b/Wonky.Client/Pages/CrmReportNewPage.razor index dee53828..9d557565 100644 --- a/Wonky.Client/Pages/CrmReportNewPage.razor +++ b/Wonky.Client/Pages/CrmReportNewPage.razor @@ -22,7 +22,7 @@ @if (Working) { - + } @* report header *@ @@ -76,7 +76,7 @@ } else { - Report.Figures.KmMorning = Preferences.KmMorning; + Report.Figures.KmMorning = UserPref.KmMorning;
diff --git a/Wonky.Client/Pages/CrmReportNewPage.razor.cs b/Wonky.Client/Pages/CrmReportNewPage.razor.cs index c933d292..7ff013d1 100644 --- a/Wonky.Client/Pages/CrmReportNewPage.razor.cs +++ b/Wonky.Client/Pages/CrmReportNewPage.razor.cs @@ -35,7 +35,7 @@ namespace Wonky.Client.Pages; public partial class CrmReportNewPage : IDisposable { [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public PreferenceService PreferenceService { get; set; } + [Inject] public UserPrefService UserPrefService { get; set; } [Inject] public ICrmActivityHttpRepository CrmActivityRepo { get; set; } [Inject] public ICrmReportHttpRepository CrmReportRepo { get; set; } [Inject] public NavigationManager Navigator { get; set; } @@ -45,7 +45,7 @@ public partial class CrmReportNewPage : IDisposable private ReportDto Report { get; set; } = new(); private List Activities { get; set; } = new(); private ReportFiguresDto InitialValues { get; set; } - private Preferences Preferences { get; set; } = new(); + private UserPref UserPref { get; set; } = new(); private bool FormInvalid { get; set; } = true; private bool NoFigures { get; set; } = true; private bool Working { get; set; } = true; @@ -68,12 +68,12 @@ public partial class CrmReportNewPage : IDisposable ReportContext.OnFieldChanged += HandleFieldChanged; ReportContext.OnValidationStateChanged += ValidationChanged; - Preferences = await PreferenceService.GetPreferences(); - if (!string.IsNullOrWhiteSpace(Preferences.WorkDate)) - _workDate = DateTime.Parse(Preferences.WorkDate); + UserPref = await UserPrefService.GetPreferences(); + if (!string.IsNullOrWhiteSpace(UserPref.WorkDate)) + _workDate = DateTime.Parse(UserPref.WorkDate); - if(await CrmReportRepo.ReportExist(Preferences.WorkDate)) - Navigator.NavigateTo($"/sales-reports/view/{Preferences.WorkDate}"); + if(await CrmReportRepo.ReportExist(UserPref.WorkDate)) + Navigator.NavigateTo($"/sales-reports/view/{UserPref.WorkDate}"); BeginLeave = _workDate; EndLeave = _workDate; @@ -84,6 +84,7 @@ public partial class CrmReportNewPage : IDisposable Report.Figures.Distance = 0; Report.Figures.DistancePrivateMonth = 0; await GetKeyFigures(); + Working = false; } /// @@ -127,7 +128,7 @@ public partial class CrmReportNewPage : IDisposable // reset km and date confirmation // await PreferenceService.SetKmMorning(0); // reset date confirmed - await PreferenceService.SetDateConfirmed(false); + await UserPrefService.SetDateConfirmed(false); Navigator.NavigateTo($"/sales-reports/view/{_workDate:yyyy-MM-dd}"); } /// @@ -235,7 +236,7 @@ public partial class CrmReportNewPage : IDisposable Activities = data.ReportItems; if(!Report.DayTypeEnum.ToLower().Contains("leave")) - Report.Figures.KmMorning = Preferences.KmMorning; + Report.Figures.KmMorning = UserPref.KmMorning; NoFigures = false; Working = false; diff --git a/Wonky.Client/Pages/CrmReportViewPage.razor b/Wonky.Client/Pages/CrmReportViewPage.razor index 991541b3..6129c0af 100644 --- a/Wonky.Client/Pages/CrmReportViewPage.razor +++ b/Wonky.Client/Pages/CrmReportViewPage.razor @@ -20,6 +20,10 @@ @page "/sales-reports/view/{ReportDate}" @attribute [Authorize(Roles = "Advisor,Admin,Supervisor")] +@if (Working) +{ + +}
@@ -45,7 +49,7 @@
- + } else diff --git a/Wonky.Client/Pages/CrmReportViewPage.razor.cs b/Wonky.Client/Pages/CrmReportViewPage.razor.cs index fb5816b5..8b0f29d9 100644 --- a/Wonky.Client/Pages/CrmReportViewPage.razor.cs +++ b/Wonky.Client/Pages/CrmReportViewPage.razor.cs @@ -28,6 +28,7 @@ public partial class CrmReportViewPage [Inject] public NavigationManager _navigator { get; set; } private ReportView _report { get; set; } = new(); private List _items { get; set; } = new (); + private bool Working { get; set; } = true; protected override async Task OnInitializedAsync() { @@ -35,10 +36,13 @@ public partial class CrmReportViewPage { await GetReport(ReportDate); } + + Working = false; } private async Task GetReport(string workDate) { + Working = true; _report = new ReportView(); _items = new List(); @@ -47,6 +51,6 @@ public partial class CrmReportViewPage _report = await CrmReportRepo.GetReport(workDate); _items = _report.ReportItems.Where(x => x.Lines.Any()).ToList(); - + Working = false; } } \ No newline at end of file diff --git a/Wonky.Client/Pages/CrmTaskItemListPage.razor b/Wonky.Client/Pages/CrmTaskItemListPage.razor index 6bfea92e..3e598aa4 100644 --- a/Wonky.Client/Pages/CrmTaskItemListPage.razor +++ b/Wonky.Client/Pages/CrmTaskItemListPage.razor @@ -20,6 +20,10 @@ @attribute [Authorize(Roles = "Advisor")] @page "/task-items" +@if (Working) +{ + +}
diff --git a/Wonky.Client/Pages/CrmTaskItemListPage.razor.cs b/Wonky.Client/Pages/CrmTaskItemListPage.razor.cs index ec1c1b1f..f492211b 100644 --- a/Wonky.Client/Pages/CrmTaskItemListPage.razor.cs +++ b/Wonky.Client/Pages/CrmTaskItemListPage.razor.cs @@ -27,35 +27,39 @@ namespace Wonky.Client.Pages; public partial class CrmTaskItemListPage : IDisposable { - [Inject] public PreferenceService PreferenceService { get; set; } + [Inject] public UserPrefService UserPrefService { get; set; } [Inject] public ILogger Logger { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } [Inject] public ICrmTaskItemHttpRepository TaskItemRepo { get; set; } [Inject] public IToastService Toaster { get; set; } - private Preferences Prefs { get; set; } = new(); + private UserPref Prefs { get; set; } = new(); private string WorkDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; private bool ReportExist = false; private List TaskItems { get; set; } = new(); + private bool Working { get; set; } = true; protected override async Task OnInitializedAsync() { - Prefs = await PreferenceService.GetPreferences(); + Prefs = await UserPrefService.GetPreferences(); if(!string.IsNullOrWhiteSpace(Prefs.WorkDate)) WorkDate = Prefs.WorkDate; Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); await GetTaskItems(WorkDate); + Working = false; } private async Task GetTaskItems(string workDate) { + Working = true; Toaster.ShowInfo("Vent nogle sekunder for data"); TaskItems = await TaskItemRepo.GetTaskList(workDate); Toaster.ClearAll(); - + Working = false; + } public void Dispose() { diff --git a/Wonky.Client/Pages/CrmTaskItemViewPage.razor b/Wonky.Client/Pages/CrmTaskItemViewPage.razor index ec763ce9..47b4304a 100644 --- a/Wonky.Client/Pages/CrmTaskItemViewPage.razor +++ b/Wonky.Client/Pages/CrmTaskItemViewPage.razor @@ -19,6 +19,10 @@ @attribute [Authorize(Roles = "Advisor")] @page "/tasks/{TaskItemId}" +@if (Working) +{ + +}

Opgave

diff --git a/Wonky.Client/Pages/CrmTaskItemViewPage.razor.cs b/Wonky.Client/Pages/CrmTaskItemViewPage.razor.cs index e221d2a6..3c40be45 100644 --- a/Wonky.Client/Pages/CrmTaskItemViewPage.razor.cs +++ b/Wonky.Client/Pages/CrmTaskItemViewPage.razor.cs @@ -31,6 +31,7 @@ public partial class CrmTaskItemViewPage : IDisposable [Inject] public ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; } private TaskItemDto _taskItem = new (); private EditContext _editContext { get; set; } + private bool Working { get; set; } = true; protected override async Task OnParametersSetAsync() @@ -40,6 +41,7 @@ public partial class CrmTaskItemViewPage : IDisposable _taskItem = await CrmTaskItemRepo.GetTaskItem(TaskItemId); Console.WriteLine(JsonSerializer.Serialize(_taskItem)); + Working = false; } protected override void OnInitialized() diff --git a/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor b/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor index 6c6017f0..65fd9c5f 100644 --- a/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor +++ b/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor @@ -20,4 +20,8 @@ @attribute [Authorize(Roles = "Admin,Warehouse,Office")] @page "/companies/{CompanyId}/workplaces/{WorkplaceId}/documents" -

Dokumenter

\ No newline at end of file +

Dokumenter

+@if (Working) +{ + +} \ No newline at end of file diff --git a/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor.cs b/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor.cs index 9bfc82fb..57b89bc1 100644 --- a/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor.cs +++ b/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor.cs @@ -28,9 +28,6 @@ public partial class CrmWorkplaceDocumentListPage [Inject] public HttpInterceptorService _interceptor { get; set; } [Inject] public ICrmWorkplaceHttpRepository CrmWorkplaceRepo { get; set; } + private bool Working { get; set; } = true; - protected override async Task OnParametersSetAsync() - { - - } } \ No newline at end of file diff --git a/Wonky.Client/Pages/CrmWorkplaceListPage.razor b/Wonky.Client/Pages/CrmWorkplaceListPage.razor index eb561490..6f7b70c4 100644 --- a/Wonky.Client/Pages/CrmWorkplaceListPage.razor +++ b/Wonky.Client/Pages/CrmWorkplaceListPage.razor @@ -25,6 +25,10 @@

@_company.Name

+@if (Working) +{ + +}
\ No newline at end of file diff --git a/Wonky.Client/Pages/CrmWorkplaceListPage.razor.cs b/Wonky.Client/Pages/CrmWorkplaceListPage.razor.cs index d775908d..720bae46 100644 --- a/Wonky.Client/Pages/CrmWorkplaceListPage.razor.cs +++ b/Wonky.Client/Pages/CrmWorkplaceListPage.razor.cs @@ -32,17 +32,21 @@ public partial class CrmWorkplaceListPage : IDisposable [Inject] public HttpInterceptorService _interceptor { get; set; } private List _workplaces { get; set; } = new(); private CompanyDto _company { get; set; } = new(); + private bool Working { get; set; } = true; protected override async Task OnParametersSetAsync() { _interceptor.RegisterEvent(); _interceptor.RegisterBeforeSendEvent(); _company = await _companyRepo.GetCompanyById(CompanyId); + Working = false; } protected override async Task OnInitializedAsync() { + Working = true; _workplaces = await CrmWorkplaceRepo.GetWorkplaces(CompanyId); + Working = false; } public void Dispose() diff --git a/Wonky.Client/Pages/CrmWorkplaceViewPage.razor b/Wonky.Client/Pages/CrmWorkplaceViewPage.razor index 8c08c76f..37610dfe 100644 --- a/Wonky.Client/Pages/CrmWorkplaceViewPage.razor +++ b/Wonky.Client/Pages/CrmWorkplaceViewPage.razor @@ -20,6 +20,10 @@ @attribute [Authorize(Roles = "Advisor")] @page "/companies/{CompanyId}/workplaces/{WorkplaceId}" +@if (Working) +{ + +}
diff --git a/Wonky.Client/Pages/CrmWorkplaceViewPage.razor.cs b/Wonky.Client/Pages/CrmWorkplaceViewPage.razor.cs index ef5d766b..2bc11932 100644 --- a/Wonky.Client/Pages/CrmWorkplaceViewPage.razor.cs +++ b/Wonky.Client/Pages/CrmWorkplaceViewPage.razor.cs @@ -35,12 +35,15 @@ public partial class CrmWorkplaceViewPage : IDisposable [Inject] public NavigationManager _navigator { get; set; } private WorkplaceDto _workplace { get; set; } = new(); private EditContext _editContext { get; set; } + private bool Working { get; set; } = true; protected override async Task OnParametersSetAsync() { _interceptor.RegisterEvent(); _interceptor.RegisterBeforeSendEvent(); + _workplace = await CrmWorkplaceRepo.GetWorkplace(CompanyId, WorkplaceId); + Working = false; } protected override void OnInitialized() @@ -50,11 +53,14 @@ public partial class CrmWorkplaceViewPage : IDisposable private async Task SubmitUpdate() { + Working = true; await CrmWorkplaceRepo.UpdateWorkplace(CompanyId, _workplace); + Working = false; } private async Task DeleteWorkplace() { + Working = true; await CrmWorkplaceRepo.DeleteWorkplace(CompanyId, _workplace.WorkplaceId); _navigator.NavigateTo($"/companies/{CompanyId}/workplaces"); } diff --git a/Wonky.Client/Pages/Login.razor b/Wonky.Client/Pages/Login.razor index a3948fc3..5be25076 100644 --- a/Wonky.Client/Pages/Login.razor +++ b/Wonky.Client/Pages/Login.razor @@ -67,7 +67,7 @@
@if (execLogin) { - + }
diff --git a/Wonky.Client/Pages/OfficeCustomerListPage.razor b/Wonky.Client/Pages/OfficeCustomerListPage.razor index 82f52132..0b59e722 100644 --- a/Wonky.Client/Pages/OfficeCustomerListPage.razor +++ b/Wonky.Client/Pages/OfficeCustomerListPage.razor @@ -53,4 +53,8 @@
- \ No newline at end of file +@if (Working) +{ + +} + \ No newline at end of file diff --git a/Wonky.Client/Pages/OfficeCustomerListPage.razor.cs b/Wonky.Client/Pages/OfficeCustomerListPage.razor.cs index 6a9a8347..ec6cf26c 100644 --- a/Wonky.Client/Pages/OfficeCustomerListPage.razor.cs +++ b/Wonky.Client/Pages/OfficeCustomerListPage.razor.cs @@ -30,13 +30,14 @@ public partial class OfficeCustomerListPage : IDisposable [Inject] public ILogger Logger { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public IOfficeCustomerHttpRepository CustomerRepo { get; set; } - [Inject] public PreferenceService PreferenceService { get; set; } + [Inject] public UserPrefService UserPrefService { get; set; } private List _companyList { get; set; } = new(); private MetaData _metaData { get; set; } = new(); private CompanyPagingParams _paging = new(); - private Preferences _preferences { get; set; } = new(); + private UserPref UserPref { get; set; } = new(); private string _savedSearch { get; set; } = ""; private bool _includeFolded { get; set; } + private bool Working { get; set; } = true; protected override async Task OnParametersSetAsync() { @@ -44,20 +45,21 @@ public partial class OfficeCustomerListPage : IDisposable Interceptor.RegisterBeforeSendEvent(); // set preferences - _preferences = await PreferenceService.GetPreferences(); + UserPref = await UserPrefService.GetPreferences(); _paging.CountryCode = CountryCode; - _paging.OrderBy = _preferences.CompanySort; - _paging.SearchColumn = _preferences.CompanySearch; - _paging.PageSize = Convert.ToInt32(_preferences.PageSize); + _paging.OrderBy = UserPref.CompanySort; + _paging.SearchColumn = UserPref.CompanySearch; + _paging.PageSize = Convert.ToInt32(UserPref.PageSize); _paging.HasFolded = _includeFolded ? 1 : 0; // load saved search - _savedSearch = _preferences.CompanyFilterPhrase; + _savedSearch = UserPref.CompanyFilterPhrase; _paging.SearchTerm = _savedSearch; - await GetCompanies(); + await FetchCompanies(); + Working = false; } private async Task OnFoldedClick() @@ -66,14 +68,14 @@ public partial class OfficeCustomerListPage : IDisposable _companyList = new List(); _paging.PageNumber = 1; _paging.HasFolded = _includeFolded ? 1 : 0; - await GetCompanies(); + await FetchCompanies(); } private async Task SelectedPage(int page) { _companyList = new List(); _paging.PageNumber = page; - await GetCompanies(); + await FetchCompanies(); } private async Task SetSearchCol(string searchColumn) @@ -81,14 +83,14 @@ public partial class OfficeCustomerListPage : IDisposable _companyList = new List(); _paging.SearchColumn = searchColumn; _paging.PageNumber = 1; - await GetCompanies(); + await FetchCompanies(); } private async Task SetPageSize(string pageSize) { _companyList = new List(); _paging.PageSize = Convert.ToInt32(pageSize); _paging.PageNumber = 1; - await GetCompanies(); + await FetchCompanies(); } private async Task SetSearchPhrase(string searchTerm) @@ -98,11 +100,11 @@ public partial class OfficeCustomerListPage : IDisposable _companyList = new List(); _paging.PageNumber = 1; _paging.SearchTerm = searchTerm; - await GetCompanies(); + await FetchCompanies(); if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.TrimEnd().Length > 2) { _savedSearch = searchTerm; - await PreferenceService.SetCompanyFilterPhrase(searchTerm.Trim()); + await UserPrefService.SetCompanyFilterPhrase(searchTerm.Trim()); } } @@ -110,14 +112,16 @@ public partial class OfficeCustomerListPage : IDisposable { _companyList = new List(); _paging.OrderBy = orderBy; - await GetCompanies(); + await FetchCompanies(); } - private async Task GetCompanies() + private async Task FetchCompanies() { + Working = true; var pagingResponse = await CustomerRepo.GetCompaniesPagedSalesRep(UserId, _paging); _companyList = pagingResponse.Items; _metaData = pagingResponse.MetaData; + Working = false; } public void Dispose() diff --git a/Wonky.Client/Pages/OfficeCustomerSalesRepListPage.razor b/Wonky.Client/Pages/OfficeCustomerSalesRepListPage.razor index 16e3561d..eea04402 100644 --- a/Wonky.Client/Pages/OfficeCustomerSalesRepListPage.razor +++ b/Wonky.Client/Pages/OfficeCustomerSalesRepListPage.razor @@ -52,5 +52,8 @@
- - \ No newline at end of file +@if (Working) +{ + +} + \ No newline at end of file diff --git a/Wonky.Client/Pages/OfficeCustomerSalesRepListPage.razor.cs b/Wonky.Client/Pages/OfficeCustomerSalesRepListPage.razor.cs index f75e633f..be61ceef 100644 --- a/Wonky.Client/Pages/OfficeCustomerSalesRepListPage.razor.cs +++ b/Wonky.Client/Pages/OfficeCustomerSalesRepListPage.razor.cs @@ -30,13 +30,14 @@ public partial class OfficeCustomerSalesRepListPage : IDisposable [Inject] public ILogger Logger { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public IOfficeCustomerHttpRepository CustomerRepo { get; set; } - [Inject] public PreferenceService PreferenceService { get; set; } + [Inject] public UserPrefService UserPrefService { get; set; } private List _companyList { get; set; } = new(); private MetaData _metaData { get; set; } = new(); private CompanyPagingParams _paging = new(); - private Preferences _preferences { get; set; } = new(); + private UserPref UserPref { get; set; } = new(); private string _savedSearch { get; set; } = ""; private bool _includeFolded { get; set; } + private bool Working { get; set; } = true; protected override async Task OnParametersSetAsync() { @@ -44,18 +45,19 @@ public partial class OfficeCustomerSalesRepListPage : IDisposable Interceptor.RegisterBeforeSendEvent(); // set preferences - _preferences = await PreferenceService.GetPreferences(); + UserPref = await UserPrefService.GetPreferences(); _paging.CountryCode = CountryCode; - _paging.OrderBy = _preferences.CompanySort; - _paging.SearchColumn = _preferences.CompanySearch; - _paging.PageSize = Convert.ToInt32(_preferences.PageSize); + _paging.OrderBy = UserPref.CompanySort; + _paging.SearchColumn = UserPref.CompanySearch; + _paging.PageSize = Convert.ToInt32(UserPref.PageSize); _paging.HasFolded = _includeFolded ? 1 : 0; // load saved search - _savedSearch = _preferences.CompanyFilterPhrase; + _savedSearch = UserPref.CompanyFilterPhrase; _paging.SearchTerm = _savedSearch; - await GetCompanies(); + await FetchCompanies(); + Working = false; } private async Task OnFoldedClick() @@ -64,14 +66,14 @@ public partial class OfficeCustomerSalesRepListPage : IDisposable _companyList = new List(); _paging.PageNumber = 1; _paging.HasFolded = _includeFolded ? 1 : 0; - await GetCompanies(); + await FetchCompanies(); } private async Task SelectedPage(int page) { _companyList = new List(); _paging.PageNumber = page; - await GetCompanies(); + await FetchCompanies(); } private async Task SetSearchCol(string searchColumn) @@ -79,7 +81,7 @@ public partial class OfficeCustomerSalesRepListPage : IDisposable _companyList = new List(); _paging.SearchColumn = searchColumn; _paging.PageNumber = 1; - await GetCompanies(); + await FetchCompanies(); } private async Task SetPageSize(string pageSize) @@ -87,7 +89,7 @@ public partial class OfficeCustomerSalesRepListPage : IDisposable _companyList = new List(); _paging.PageSize = Convert.ToInt32(pageSize); _paging.PageNumber = 1; - await GetCompanies(); + await FetchCompanies(); } private async Task SetSearchPhrase(string searchTerm) @@ -97,11 +99,11 @@ public partial class OfficeCustomerSalesRepListPage : IDisposable _companyList = new List(); _paging.PageNumber = 1; _paging.SearchTerm = searchTerm; - await GetCompanies(); + await FetchCompanies(); if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.TrimEnd().Length > 2) { _savedSearch = searchTerm; - await PreferenceService.SetCompanyFilterPhrase(searchTerm.Trim()); + await UserPrefService.SetCompanyFilterPhrase(searchTerm.Trim()); } } @@ -109,14 +111,16 @@ public partial class OfficeCustomerSalesRepListPage : IDisposable { _companyList = new List(); _paging.OrderBy = orderBy; - await GetCompanies(); + await FetchCompanies(); } - private async Task GetCompanies() + private async Task FetchCompanies() { + Working = true; var pagingResponse = await CustomerRepo.GetCompaniesPagedSalesRep(UserId, _paging); _companyList = pagingResponse.Items; _metaData = pagingResponse.MetaData; + Working = false; } public void Dispose() diff --git a/Wonky.Client/Pages/OfficeOrderNewPage.razor b/Wonky.Client/Pages/OfficeOrderNewPage.razor index a1b85305..7e2f10a4 100644 --- a/Wonky.Client/Pages/OfficeOrderNewPage.razor +++ b/Wonky.Client/Pages/OfficeOrderNewPage.razor @@ -20,6 +20,10 @@ @attribute [Authorize(Roles = "Admin,Office,Warehouse")] @page "/office/customers/{CompanyId}/orders/new" +@if (Working) +{ + +}
@@ -186,7 +190,7 @@