From dd91890b97cd17b9101479eabdd3fbcc873d4877 Mon Sep 17 00:00:00 2001 From: Frede Hundewadt Date: Sat, 31 Dec 2022 19:10:39 +0100 Subject: [PATCH] end-of-day refactor check components doesn't use repos --- ...nent.razor => ActivityListComponent.razor} | 0 ...azor.cs => ActivityListComponent.razor.cs} | 8 +- ...onent.razor => CatalogListComponent.razor} | 0 ...razor.cs => CatalogListComponent.razor.cs} | 6 +- ...nent.razor => CatalogPrintComponent.razor} | 0 ...azor.cs => CatalogPrintComponent.razor.cs} | 2 +- ...zor => CountryCustomerListComponent.razor} | 0 ... => CountryCustomerListComponent.razor.cs} | 2 +- ...t.razor => CountryUserListComponent.razor} | 0 ...r.cs => CountryUserListComponent.razor.cs} | 3 +- ...r => CustomerInventoryListComponent.razor} | 6 +- ...> CustomerInventoryListComponent.razor.cs} | 55 +++---- ...zor => CustomerInvoiceListComponent.razor} | 3 +- .../CustomerInvoiceListComponent.razor.cs | 17 +++ ...=> CustomerProductLineListComponent.razor} | 0 ...CustomerProductLineListComponent.razor.cs} | 2 +- .../Components/InvoiceTableComponent.razor.cs | 20 --- .../Components/LandingComponentAdmin.razor | 33 +++- .../Components/LandingComponentAdmin.razor.cs | 18 +-- .../Components/LandingComponentAdvisor.razor | 4 +- .../LandingComponentAdvisor.razor.cs | 54 +------ .../Components/QuoteListComponent.razor | 16 -- .../Components/QuoteListComponent.razor.cs | 22 +++ .../Components/ReportItemComponent.razor | 13 -- .../Components/ReportItemComponent.razor.cs | 16 ++ ...ponent.razor => ReportListComponent.razor} | 0 ....razor.cs => ReportListComponent.razor.cs} | 2 +- ....razor => ReportListOfficeComponent.razor} | 0 ....cs => ReportListOfficeComponent.razor.cs} | 2 +- .../WarehouseListComponent.razor.cs | 2 +- .../Components/WorkplaceListComponent.razor | 7 - .../WorkplaceListComponent.razor.cs | 11 ++ ...itory.cs => IAdvisorActivityRepository.cs} | 2 +- ...sitory.cs => IAdvisorCatalogRepository.cs} | 23 +-- ...sitory.cs => IAdvisorContactRepository.cs} | 2 +- ...itory.cs => IAdvisorCustomerRepository.cs} | 2 +- ...ository.cs => IAdvisorReportRepository.cs} | 17 +-- ...itory.cs => IAdvisorTaskItemRepository.cs} | 2 +- .../ICountryCatalogRepository.cs | 65 ++++++++ ...itory.cs => ICountryCustomerRepository.cs} | 11 +- ...ository.cs => ICountryReportRepository.cs} | 10 +- ...itory.cs => ICustomerHistoryRepository.cs} | 2 +- ...ilService.cs => ISystemSendMailService.cs} | 2 +- ...Repository.cs => ISystemUserRepository.cs} | 2 +- ...pRepository.cs => IWarehouseRepository.cs} | 2 +- ...pRepository.cs => IWorkplaceRepository.cs} | 2 +- ...sitory.cs => AdvisorActivityRepository.cs} | 8 +- ...ository.cs => AdvisorCatalogRepository.cs} | 28 ++-- ...ository.cs => AdvisorContactRepository.cs} | 8 +- ...sitory.cs => AdvisorCustomerRepository.cs} | 8 +- ...pository.cs => AdvisorReportRepository.cs} | 29 +--- ...sitory.cs => AdvisorTaskItemRepository.cs} | 8 +- .../CountryCatalogRepository.cs | 144 ++++++++++++++++++ ...sitory.cs => CountryCustomerRepository.cs} | 49 +++--- .../HttpRepository/CountryReportRepository.cs | 70 +++++++++ ...sitory.cs => CustomerHistoryRepository.cs} | 8 +- ...ailService.cs => SystemSendMailService.cs} | 6 +- ...pRepository.cs => SystemUserRepository.cs} | 6 +- ...tpRepository.cs => WarehouseRepository.cs} | 8 +- ...tpRepository.cs => WorkplaceRepository.cs} | 8 +- ...cePage.razor => AdminReportListPage.razor} | 2 +- ....razor.cs => AdminReportListPage.razor.cs} | 19 ++- ...cePage.razor => AdminReportViewPage.razor} | 0 ....razor.cs => AdminReportViewPage.razor.cs} | 6 +- ...Page.razor => AdminSalesRepListPage.razor} | 2 +- ...azor.cs => AdminSalesRepListPage.razor.cs} | 6 +- ...logPage.razor => AdvisorCatalogPage.razor} | 7 +- ...e.razor.cs => AdvisorCatalogPage.razor.cs} | 36 ++--- ....razor => AdvisorCreateActivityPage.razor} | 11 +- ....cs => AdvisorCreateActivityPage.razor.cs} | 22 +-- ....razor => AdvisorCreateCustomerPage.razor} | 0 ....cs => AdvisorCreateCustomerPage.razor.cs} | 6 +- ... => AdvisorCustomerActivityListPage.razor} | 2 +- ... AdvisorCustomerActivityListPage.razor.cs} | 8 +- ...=> AdvisorCustomerInventoryListPage.razor} | 5 +- ...AdvisorCustomerInventoryListPage.razor.cs} | 41 ++++- .../AdvisorCustomerInvoiceListPage.razor | 42 +++++ ...> AdvisorCustomerInvoiceListPage.razor.cs} | 17 ++- ...ge.razor => AdvisorCustomerListPage.razor} | 3 +- ...or.cs => AdvisorCustomerListPage.razor.cs} | 4 +- ...zor => AdvisorCustomerOrderViewPage.razor} | 2 +- ... => AdvisorCustomerOrderViewPage.razor.cs} | 16 +- ...=> AdvisorCustomerOrderViewPage.razor.css} | 0 ...ge.razor => AdvisorCustomerViewPage.razor} | 1 + ...or.cs => AdvisorCustomerViewPage.razor.cs} | 18 +-- ...mPage.razor => AdvisorQuoteListPage.razor} | 0 ...razor.cs => AdvisorQuoteListPage.razor.cs} | 12 +- ...ge.razor => AdvisorReportCreatePage.razor} | 0 ...or.cs => AdvisorReportCreatePage.razor.cs} | 12 +- ...Page.razor => AdvisorReportListPage.razor} | 4 +- ...azor.cs => AdvisorReportListPage.razor.cs} | 8 +- ...Page.razor => AdvisorReportViewPage.razor} | 0 ...azor.cs => AdvisorReportViewPage.razor.cs} | 8 +- ...razor => AdvisorTaskItemListCrmPage.razor} | 0 ...cs => AdvisorTaskItemListCrmPage.razor.cs} | 8 +- ...razor => AdvisorTaskItemViewCrmPage.razor} | 0 ...cs => AdvisorTaskItemViewCrmPage.razor.cs} | 6 +- ...zor => AdvisorTodayActivityListPage.razor} | 2 +- ... => AdvisorTodayActivityListPage.razor.cs} | 14 +- ...ge.razor => AdvisorViewActivityPage.razor} | 2 +- ...or.cs => AdvisorViewActivityPage.razor.cs} | 10 +- ...=> AdvisorWorkplaceDocumentListPage.razor} | 0 ...AdvisorWorkplaceDocumentListPage.razor.cs} | 4 +- ...e.razor => AdvisorWorkplaceListPage.razor} | 0 ...r.cs => AdvisorWorkplaceListPage.razor.cs} | 6 +- ...e.razor => AdvisorWorkplaceViewPage.razor} | 0 ...r.cs => AdvisorWorkplaceViewPage.razor.cs} | 6 +- ...zor => BackendAdminSalesRepViewPage.razor} | 4 +- ... => BackendAdminSalesRepViewPage.razor.cs} | 26 ++-- Wonky.Client/Pages/CountryCatalogPage.razor | 10 +- .../Pages/CountryCatalogPage.razor.cs | 45 +++--- .../Pages/CountryCustomerListPage.razor | 13 +- .../Pages/CountryCustomerListPage.razor.cs | 19 +-- Wonky.Client/Pages/CountryLandingPage.razor | 44 +++--- .../Pages/CountryLandingPage.razor.cs | 1 - .../Pages/CountryPrintCatalogPage.razor | 29 ++++ .../Pages/CountryPrintCatalogPage.razor.cs | 55 +++++++ .../CountrySalesRepCustomerListPage.razor | 4 +- .../CountrySalesRepCustomerListPage.razor.cs | 4 +- .../Pages/CustomerInvoiceListCrmPage.razor | 23 --- Wonky.Client/Pages/Index.razor | 6 +- .../Pages/KrvItemViewAdminPage.razor.cs | 2 +- ...ge.razor => SsystemPrintCatalogPage.razor} | 2 +- ...or.cs => SsystemPrintCatalogPage.razor.cs} | 4 +- ...tPage.razor => SystemPrintFrontPage.razor} | 0 ...razor.cs => SystemPrintFrontPage.razor.cs} | 4 +- ...rPage.razor => SystemPrintOrderPage.razor} | 0 ...razor.cs => SystemPrintOrderPage.razor.cs} | 4 +- .../Pages/WarehouseOrderViewPage.razor.cs | 2 +- Wonky.Client/Program.cs | 27 ++-- Wonky.Client/Shared/ContactModal.razor.cs | 2 +- .../Shared/InventoryReorderModal.razor.cs | 2 +- Wonky.Client/Shared/InvoiceViewModal.razor.cs | 2 +- Wonky.Client/Shared/PriceListModal.razor.cs | 4 +- .../Shared/ProductHistoryModal.razor.cs | 2 +- .../Shared/ProductPriceHistoryModal.razor.cs | 2 +- ...atalogPagingParams.cs => CatalogPaging.cs} | 2 +- 137 files changed, 931 insertions(+), 647 deletions(-) rename Wonky.Client/Components/{ActivityTableCrmComponent.razor => ActivityListComponent.razor} (100%) rename Wonky.Client/Components/{ActivityTableCrmComponent.razor.cs => ActivityListComponent.razor.cs} (82%) rename Wonky.Client/Components/{CatalogTableComponent.razor => CatalogListComponent.razor} (100%) rename Wonky.Client/Components/{CatalogTableComponent.razor.cs => CatalogListComponent.razor.cs} (88%) rename Wonky.Client/Components/{CatalogTablePrintComponent.razor => CatalogPrintComponent.razor} (100%) rename Wonky.Client/Components/{CatalogTablePrintComponent.razor.cs => CatalogPrintComponent.razor.cs} (95%) rename Wonky.Client/Components/{OfficeCustomerTableComponent.razor => CountryCustomerListComponent.razor} (100%) rename Wonky.Client/Components/{OfficeCustomerTableComponent.razor.cs => CountryCustomerListComponent.razor.cs} (95%) rename Wonky.Client/Components/{OfficeUserTableComponent.razor => CountryUserListComponent.razor} (100%) rename Wonky.Client/Components/{OfficeUserTableComponent.razor.cs => CountryUserListComponent.razor.cs} (93%) rename Wonky.Client/Components/{CustomerProductTableComponent.razor => CustomerInventoryListComponent.razor} (94%) rename Wonky.Client/Components/{CustomerProductTableComponent.razor.cs => CustomerInventoryListComponent.razor.cs} (54%) rename Wonky.Client/Components/{InvoiceTableComponent.razor => CustomerInvoiceListComponent.razor} (95%) create mode 100644 Wonky.Client/Components/CustomerInvoiceListComponent.razor.cs rename Wonky.Client/Components/{CustomerProductLineTableComponent.razor => CustomerProductLineListComponent.razor} (100%) rename Wonky.Client/Components/{CustomerProductLineTableComponent.razor.cs => CustomerProductLineListComponent.razor.cs} (94%) delete mode 100644 Wonky.Client/Components/InvoiceTableComponent.razor.cs create mode 100644 Wonky.Client/Components/QuoteListComponent.razor.cs create mode 100644 Wonky.Client/Components/ReportItemComponent.razor.cs rename Wonky.Client/Components/{ReportTableCrmComponent.razor => ReportListComponent.razor} (100%) rename Wonky.Client/Components/{ReportTableCrmComponent.razor.cs => ReportListComponent.razor.cs} (96%) rename Wonky.Client/Components/{ReportTableOfficeComponent.razor => ReportListOfficeComponent.razor} (100%) rename Wonky.Client/Components/{ReportTableOfficeComponent.razor.cs => ReportListOfficeComponent.razor.cs} (96%) create mode 100644 Wonky.Client/Components/WorkplaceListComponent.razor.cs rename Wonky.Client/HttpInterfaces/{IActivityCrmHttpRepository.cs => IAdvisorActivityRepository.cs} (98%) rename Wonky.Client/HttpInterfaces/{ICatalogHttpRepository.cs => IAdvisorCatalogRepository.cs} (76%) rename Wonky.Client/HttpInterfaces/{IContactCrmHttpRepository.cs => IAdvisorContactRepository.cs} (96%) rename Wonky.Client/HttpInterfaces/{ICustomerCrmHttpRepository.cs => IAdvisorCustomerRepository.cs} (98%) rename Wonky.Client/HttpInterfaces/{IReportHttpRepository.cs => IAdvisorReportRepository.cs} (78%) rename Wonky.Client/HttpInterfaces/{ITaskItemCrmHttpRepository.cs => IAdvisorTaskItemRepository.cs} (97%) create mode 100644 Wonky.Client/HttpInterfaces/ICountryCatalogRepository.cs rename Wonky.Client/HttpInterfaces/{ICustomerOfficeHttpRepository.cs => ICountryCustomerRepository.cs} (86%) rename Wonky.Client/HttpInterfaces/{IReportOfficeHttpRepository.cs => ICountryReportRepository.cs} (81%) rename Wonky.Client/HttpInterfaces/{ICustomerHistoryCrmHttpRepository.cs => ICustomerHistoryRepository.cs} (97%) rename Wonky.Client/HttpInterfaces/{ISendMailService.cs => ISystemSendMailService.cs} (90%) rename Wonky.Client/HttpInterfaces/{IUserHttpRepository.cs => ISystemUserRepository.cs} (98%) rename Wonky.Client/HttpInterfaces/{IWarehouseHttpRepository.cs => IWarehouseRepository.cs} (97%) rename Wonky.Client/HttpInterfaces/{IWorkplaceCrmHttpRepository.cs => IWorkplaceRepository.cs} (98%) rename Wonky.Client/HttpRepository/{ActivityCrmHttpRepository.cs => AdvisorActivityRepository.cs} (96%) rename Wonky.Client/HttpRepository/{CatalogHttpRepository.cs => AdvisorCatalogRepository.cs} (89%) rename Wonky.Client/HttpRepository/{ContactCrmHttpRepository.cs => AdvisorContactRepository.cs} (92%) rename Wonky.Client/HttpRepository/{CustomerCrmHttpRepository.cs => AdvisorCustomerRepository.cs} (96%) rename Wonky.Client/HttpRepository/{ReportHttpRepository.cs => AdvisorReportRepository.cs} (79%) rename Wonky.Client/HttpRepository/{TaskItemCrmHttpRepository.cs => AdvisorTaskItemRepository.cs} (93%) create mode 100644 Wonky.Client/HttpRepository/CountryCatalogRepository.cs rename Wonky.Client/HttpRepository/{CustomerOfficeHttpRepository.cs => CountryCustomerRepository.cs} (74%) create mode 100644 Wonky.Client/HttpRepository/CountryReportRepository.cs rename Wonky.Client/HttpRepository/{CustomerHistoryCrmHttpRepository.cs => CustomerHistoryRepository.cs} (95%) rename Wonky.Client/HttpRepository/{SendMailService.cs => SystemSendMailService.cs} (88%) rename Wonky.Client/HttpRepository/{UserHttpRepository.cs => SystemUserRepository.cs} (95%) rename Wonky.Client/HttpRepository/{WarehouseHttpRepository.cs => WarehouseRepository.cs} (93%) rename Wonky.Client/HttpRepository/{WorkplaceCrmHttpRepository.cs => WorkplaceRepository.cs} (94%) rename Wonky.Client/Pages/{ReportListOfficePage.razor => AdminReportListPage.razor} (88%) rename Wonky.Client/Pages/{ReportListOfficePage.razor.cs => AdminReportListPage.razor.cs} (84%) rename Wonky.Client/Pages/{ReportViewOfficePage.razor => AdminReportViewPage.razor} (100%) rename Wonky.Client/Pages/{ReportViewOfficePage.razor.cs => AdminReportViewPage.razor.cs} (96%) rename Wonky.Client/Pages/{CountrySalesRepListPage.razor => AdminSalesRepListPage.razor} (96%) rename Wonky.Client/Pages/{CountrySalesRepListPage.razor.cs => AdminSalesRepListPage.razor.cs} (82%) rename Wonky.Client/Pages/{CatalogPage.razor => AdvisorCatalogPage.razor} (94%) rename Wonky.Client/Pages/{CatalogPage.razor.cs => AdvisorCatalogPage.razor.cs} (78%) rename Wonky.Client/Pages/{ActivityCreateCrmPage.razor => AdvisorCreateActivityPage.razor} (98%) rename Wonky.Client/Pages/{ActivityCreateCrmPage.razor.cs => AdvisorCreateActivityPage.razor.cs} (95%) rename Wonky.Client/Pages/{CustomerCreateCrmPage.razor => AdvisorCreateCustomerPage.razor} (100%) rename Wonky.Client/Pages/{CustomerCreateCrmPage.razor.cs => AdvisorCreateCustomerPage.razor.cs} (97%) rename Wonky.Client/Pages/{ActivityListCustomerPage.razor => AdvisorCustomerActivityListPage.razor} (100%) rename Wonky.Client/Pages/{ActivityListCustomerPage.razor.cs => AdvisorCustomerActivityListPage.razor.cs} (86%) rename Wonky.Client/Pages/{CustomerProductListCrmPage.razor => AdvisorCustomerInventoryListPage.razor} (85%) rename Wonky.Client/Pages/{CustomerProductListCrmPage.razor.cs => AdvisorCustomerInventoryListPage.razor.cs} (73%) create mode 100644 Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor rename Wonky.Client/Pages/{CustomerInvoiceListCrmPage.razor.cs => AdvisorCustomerInvoiceListPage.razor.cs} (83%) rename Wonky.Client/Pages/{CustomerListCrmPage.razor => AdvisorCustomerListPage.razor} (99%) rename Wonky.Client/Pages/{CustomerListCrmPage.razor.cs => AdvisorCustomerListPage.razor.cs} (97%) rename Wonky.Client/Pages/{OfficeOrderViewPage.razor => AdvisorCustomerOrderViewPage.razor} (98%) rename Wonky.Client/Pages/{OfficeOrderViewPage.razor.cs => AdvisorCustomerOrderViewPage.razor.cs} (88%) rename Wonky.Client/Pages/{OfficeOrderViewPage.razor.css => AdvisorCustomerOrderViewPage.razor.css} (100%) rename Wonky.Client/Pages/{CustomerViewCrmPage.razor => AdvisorCustomerViewPage.razor} (99%) rename Wonky.Client/Pages/{CustomerViewCrmPage.razor.cs => AdvisorCustomerViewPage.razor.cs} (95%) rename Wonky.Client/Pages/{QuoteListCrmPage.razor => AdvisorQuoteListPage.razor} (100%) rename Wonky.Client/Pages/{QuoteListCrmPage.razor.cs => AdvisorQuoteListPage.razor.cs} (87%) rename Wonky.Client/Pages/{ReportCreateCrmPage.razor => AdvisorReportCreatePage.razor} (100%) rename Wonky.Client/Pages/{ReportCreateCrmPage.razor.cs => AdvisorReportCreatePage.razor.cs} (95%) rename Wonky.Client/Pages/{ReportListCrmPage.razor => AdvisorReportListPage.razor} (88%) rename Wonky.Client/Pages/{ReportListCrmPage.razor.cs => AdvisorReportListPage.razor.cs} (87%) rename Wonky.Client/Pages/{ReportViewCrmPage.razor => AdvisorReportViewPage.razor} (100%) rename Wonky.Client/Pages/{ReportViewCrmPage.razor.cs => AdvisorReportViewPage.razor.cs} (94%) rename Wonky.Client/Pages/{TaskItemListCrmPage.razor => AdvisorTaskItemListCrmPage.razor} (100%) rename Wonky.Client/Pages/{TaskItemListCrmPage.razor.cs => AdvisorTaskItemListCrmPage.razor.cs} (89%) rename Wonky.Client/Pages/{TaskItemViewCrmPage.razor => AdvisorTaskItemViewCrmPage.razor} (100%) rename Wonky.Client/Pages/{TaskItemViewCrmPage.razor.cs => AdvisorTaskItemViewCrmPage.razor.cs} (89%) rename Wonky.Client/Pages/{ActivityListTodayCrmPage.razor => AdvisorTodayActivityListPage.razor} (95%) rename Wonky.Client/Pages/{ActivityListTodayCrmPage.razor.cs => AdvisorTodayActivityListPage.razor.cs} (81%) rename Wonky.Client/Pages/{ActivityViewCrmPage.razor => AdvisorViewActivityPage.razor} (98%) rename Wonky.Client/Pages/{ActivityViewCrmPage.razor.cs => AdvisorViewActivityPage.razor.cs} (89%) rename Wonky.Client/Pages/{CustomerWorkplaceDocumentListPage.razor => AdvisorWorkplaceDocumentListPage.razor} (100%) rename Wonky.Client/Pages/{CustomerWorkplaceDocumentListPage.razor.cs => AdvisorWorkplaceDocumentListPage.razor.cs} (89%) rename Wonky.Client/Pages/{CustomerWorkplaceListPage.razor => AdvisorWorkplaceListPage.razor} (100%) rename Wonky.Client/Pages/{CustomerWorkplaceListPage.razor.cs => AdvisorWorkplaceListPage.razor.cs} (90%) rename Wonky.Client/Pages/{CustomerWorkplaceViewPage.razor => AdvisorWorkplaceViewPage.razor} (100%) rename Wonky.Client/Pages/{CustomerWorkplaceViewPage.razor.cs => AdvisorWorkplaceViewPage.razor.cs} (92%) rename Wonky.Client/Pages/{OfficeSalesRepViewPage.razor => BackendAdminSalesRepViewPage.razor} (98%) rename Wonky.Client/Pages/{OfficeSalesRepViewPage.razor.cs => BackendAdminSalesRepViewPage.razor.cs} (81%) create mode 100644 Wonky.Client/Pages/CountryPrintCatalogPage.razor create mode 100644 Wonky.Client/Pages/CountryPrintCatalogPage.razor.cs delete mode 100644 Wonky.Client/Pages/CustomerInvoiceListCrmPage.razor rename Wonky.Client/Pages/{PrintCatalogPage.razor => SsystemPrintCatalogPage.razor} (92%) rename Wonky.Client/Pages/{PrintCatalogPage.razor.cs => SsystemPrintCatalogPage.razor.cs} (93%) rename Wonky.Client/Pages/{PrintFrontPage.razor => SystemPrintFrontPage.razor} (100%) rename Wonky.Client/Pages/{PrintFrontPage.razor.cs => SystemPrintFrontPage.razor.cs} (95%) rename Wonky.Client/Pages/{PrintOrderPage.razor => SystemPrintOrderPage.razor} (100%) rename Wonky.Client/Pages/{PrintOrderPage.razor.cs => SystemPrintOrderPage.razor.cs} (95%) rename Wonky.Entity/Requests/{CatalogPagingParams.cs => CatalogPaging.cs} (98%) diff --git a/Wonky.Client/Components/ActivityTableCrmComponent.razor b/Wonky.Client/Components/ActivityListComponent.razor similarity index 100% rename from Wonky.Client/Components/ActivityTableCrmComponent.razor rename to Wonky.Client/Components/ActivityListComponent.razor diff --git a/Wonky.Client/Components/ActivityTableCrmComponent.razor.cs b/Wonky.Client/Components/ActivityListComponent.razor.cs similarity index 82% rename from Wonky.Client/Components/ActivityTableCrmComponent.razor.cs rename to Wonky.Client/Components/ActivityListComponent.razor.cs index 336fa790..37969a3b 100644 --- a/Wonky.Client/Components/ActivityTableCrmComponent.razor.cs +++ b/Wonky.Client/Components/ActivityListComponent.razor.cs @@ -18,13 +18,9 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; -public partial class ActivityTableCrmComponent +public partial class ActivityListComponent { [Parameter] public List ActivityList { get; set; } = new(); [Inject] public NavigationManager Navigator { get; set; } - - // private void ShowOrder(string companyId, string orderId) - // { - // Navigator.NavigateTo($"office/customers/{companyId}/orders/{orderId}"); - // } + } \ No newline at end of file diff --git a/Wonky.Client/Components/CatalogTableComponent.razor b/Wonky.Client/Components/CatalogListComponent.razor similarity index 100% rename from Wonky.Client/Components/CatalogTableComponent.razor rename to Wonky.Client/Components/CatalogListComponent.razor diff --git a/Wonky.Client/Components/CatalogTableComponent.razor.cs b/Wonky.Client/Components/CatalogListComponent.razor.cs similarity index 88% rename from Wonky.Client/Components/CatalogTableComponent.razor.cs rename to Wonky.Client/Components/CatalogListComponent.razor.cs index ec392daf..12927c43 100644 --- a/Wonky.Client/Components/CatalogTableComponent.razor.cs +++ b/Wonky.Client/Components/CatalogListComponent.razor.cs @@ -21,12 +21,8 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; -public partial class CatalogTableComponent +public partial class CatalogListComponent { [Parameter] public List ItemList { get; set; } = new(); [Inject] public IToastService ToastService { get; set; } - private void AddToDraft() - { - ToastService.ShowInfo("TODO: læg til ordre kladde"); - } } \ No newline at end of file diff --git a/Wonky.Client/Components/CatalogTablePrintComponent.razor b/Wonky.Client/Components/CatalogPrintComponent.razor similarity index 100% rename from Wonky.Client/Components/CatalogTablePrintComponent.razor rename to Wonky.Client/Components/CatalogPrintComponent.razor diff --git a/Wonky.Client/Components/CatalogTablePrintComponent.razor.cs b/Wonky.Client/Components/CatalogPrintComponent.razor.cs similarity index 95% rename from Wonky.Client/Components/CatalogTablePrintComponent.razor.cs rename to Wonky.Client/Components/CatalogPrintComponent.razor.cs index 450e2732..b92ff6e7 100644 --- a/Wonky.Client/Components/CatalogTablePrintComponent.razor.cs +++ b/Wonky.Client/Components/CatalogPrintComponent.razor.cs @@ -21,7 +21,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; -public partial class CatalogTablePrintComponent +public partial class CatalogPrintComponent { [Parameter] public List ItemList { get; set; } = new(); [Parameter] public string CountryName { get; set; } = ""; diff --git a/Wonky.Client/Components/OfficeCustomerTableComponent.razor b/Wonky.Client/Components/CountryCustomerListComponent.razor similarity index 100% rename from Wonky.Client/Components/OfficeCustomerTableComponent.razor rename to Wonky.Client/Components/CountryCustomerListComponent.razor diff --git a/Wonky.Client/Components/OfficeCustomerTableComponent.razor.cs b/Wonky.Client/Components/CountryCustomerListComponent.razor.cs similarity index 95% rename from Wonky.Client/Components/OfficeCustomerTableComponent.razor.cs rename to Wonky.Client/Components/CountryCustomerListComponent.razor.cs index c9ff351b..f5d4eb7b 100644 --- a/Wonky.Client/Components/OfficeCustomerTableComponent.razor.cs +++ b/Wonky.Client/Components/CountryCustomerListComponent.razor.cs @@ -24,7 +24,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components { - public partial class OfficeCustomerTableComponent + public partial class CountryCustomerListComponent { [Parameter] public List CompanyList { get; set; } = new(); diff --git a/Wonky.Client/Components/OfficeUserTableComponent.razor b/Wonky.Client/Components/CountryUserListComponent.razor similarity index 100% rename from Wonky.Client/Components/OfficeUserTableComponent.razor rename to Wonky.Client/Components/CountryUserListComponent.razor diff --git a/Wonky.Client/Components/OfficeUserTableComponent.razor.cs b/Wonky.Client/Components/CountryUserListComponent.razor.cs similarity index 93% rename from Wonky.Client/Components/OfficeUserTableComponent.razor.cs rename to Wonky.Client/Components/CountryUserListComponent.razor.cs index 8c3ff7ec..ad2b5be5 100644 --- a/Wonky.Client/Components/OfficeUserTableComponent.razor.cs +++ b/Wonky.Client/Components/CountryUserListComponent.razor.cs @@ -14,12 +14,11 @@ // using Microsoft.AspNetCore.Components; -using Wonky.Entity.DTO; using Wonky.Entity.Views; namespace Wonky.Client.Components; -public partial class OfficeUserTableComponent +public partial class CountryUserListComponent { [Parameter] public List UserList { get; set; } = new(); } \ No newline at end of file diff --git a/Wonky.Client/Components/CustomerProductTableComponent.razor b/Wonky.Client/Components/CustomerInventoryListComponent.razor similarity index 94% rename from Wonky.Client/Components/CustomerProductTableComponent.razor rename to Wonky.Client/Components/CustomerInventoryListComponent.razor index ab20dff0..bdad3472 100644 --- a/Wonky.Client/Components/CustomerProductTableComponent.razor +++ b/Wonky.Client/Components/CustomerInventoryListComponent.razor @@ -19,7 +19,7 @@
- @if (ProductList.Any()) + @if (Inventory.Any()) {
@@ -31,7 +31,7 @@
- @foreach (var product in ProductList) + @foreach (var product in Inventory) {
@@ -66,8 +66,6 @@
}
- - } else { diff --git a/Wonky.Client/Components/CustomerProductTableComponent.razor.cs b/Wonky.Client/Components/CustomerInventoryListComponent.razor.cs similarity index 54% rename from Wonky.Client/Components/CustomerProductTableComponent.razor.cs rename to Wonky.Client/Components/CustomerInventoryListComponent.razor.cs index b1ec58d4..7dae353c 100644 --- a/Wonky.Client/Components/CustomerProductTableComponent.razor.cs +++ b/Wonky.Client/Components/CustomerInventoryListComponent.razor.cs @@ -25,20 +25,15 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; -public partial class CustomerProductTableComponent +public partial class CustomerInventoryListComponent { - [CascadingParameter] public DraftStateProvider DraftStateProvider { get; set; } = new(); - [Parameter] public List ProductList { get; set; } = new(); - [Parameter] public string CompanyId { get; set; } = ""; - [Inject] public ICatalogCrmHttpRepository CatalogCrm { get; set; } [Inject] public ILocalStorageService Storage { get; set; } + // Parameters + [Parameter] public List Inventory { get; set; } = new(); + [Parameter] public string CompanyId { get; set; } = ""; + [Parameter] public EventCallback OnReorderSelected { get; set; } + // private variables - private SalesItemView SalesItem { get; set; } = new(); - private string Price { get; set; } = "0"; - private string Quantity { get; set; } = "1"; - private string Sku { get; set; } = ""; - private InventoryReorderModal ReorderModal { get; set; } = new(); - private SelectedSku Item { get; set; } = new(); private bool Descending { get; set; } private void SortProducts(PSort column) @@ -49,57 +44,47 @@ public partial class CustomerProductTableComponent case PSort.Desc: if (Descending) { - ProductList = ProductList.OrderByDescending(x => x.Description).ToList(); + Inventory = Inventory.OrderByDescending(x => x.Description).ToList(); break; } - ProductList = ProductList.OrderBy(x => x.Description).ToList(); + Inventory = Inventory.OrderBy(x => x.Description).ToList(); break; case PSort.Sku: if (Descending) { - ProductList = ProductList.OrderByDescending(x => x.Sku).ToList(); + Inventory = Inventory.OrderByDescending(x => x.Sku).ToList(); break; } - ProductList = ProductList.OrderBy(x => x.Sku).ToList(); + Inventory = Inventory.OrderBy(x => x.Sku).ToList(); break; case PSort.Qty: if (Descending) { - ProductList = ProductList.OrderByDescending(x => x.Quantity).ToList(); + Inventory = Inventory.OrderByDescending(x => x.Quantity).ToList(); break; } - ProductList = ProductList.OrderBy(x => x.Quantity).ToList(); + Inventory = Inventory.OrderBy(x => x.Quantity).ToList(); break; case PSort.None: break; case PSort.Abbr: break; default: - ProductList = ProductList.OrderByDescending(x => x.Quantity).ToList(); + Inventory = Inventory.OrderByDescending(x => x.Quantity).ToList(); break; } } - private async Task ProductCheck(string sku) - { - var x = ProductList.First(x => x.Sku == sku); - x.Check = !x.Check; - await Storage.SetItemAsync($"{CompanyId}-products", ProductList); - } private async Task CallShowReorderModal(string sku) { - // fetch item from http repo - SalesItem = await CatalogCrm.GetSalesItemSku(sku); - ReorderModal.Show(); + await ProductCheck(sku); + await OnReorderSelected.InvokeAsync(sku); } - - private async Task OnSelectedItem(DraftItem draftItem) + + private async Task ProductCheck(string sku) { - // add item to order draft - DraftStateProvider.Draft.DraftType = "order"; - DraftStateProvider.Draft.Items.Add(draftItem); - // set item checked - await ProductCheck(draftItem.Item.Sku); - await DraftStateProvider.SaveChangesAsync(); + var x = Inventory.First(x => x.Sku == sku); + x.Check = !x.Check; + await Storage.SetItemAsync($"{CompanyId}-products", Inventory); } } \ No newline at end of file diff --git a/Wonky.Client/Components/InvoiceTableComponent.razor b/Wonky.Client/Components/CustomerInvoiceListComponent.razor similarity index 95% rename from Wonky.Client/Components/InvoiceTableComponent.razor rename to Wonky.Client/Components/CustomerInvoiceListComponent.razor index 70da7b47..a734ceab 100644 --- a/Wonky.Client/Components/InvoiceTableComponent.razor +++ b/Wonky.Client/Components/CustomerInvoiceListComponent.razor @@ -48,5 +48,4 @@ else {
Ingen data
-} - \ No newline at end of file +} \ No newline at end of file diff --git a/Wonky.Client/Components/CustomerInvoiceListComponent.razor.cs b/Wonky.Client/Components/CustomerInvoiceListComponent.razor.cs new file mode 100644 index 00000000..844043b1 --- /dev/null +++ b/Wonky.Client/Components/CustomerInvoiceListComponent.razor.cs @@ -0,0 +1,17 @@ +using Microsoft.AspNetCore.Components; +using Wonky.Client.Shared; +using Wonky.Entity.Views; + +namespace Wonky.Client.Components; + +public partial class CustomerInvoiceListComponent +{ + [Parameter] public string CompanyId { get; set; } = ""; + [Parameter] public List InvoiceList { get; set; } = new(); + [Parameter] public EventCallback OnShowInvoice { get; set; } + + private async Task ShowInvoice(string invoiceId) + { + await OnShowInvoice.InvokeAsync(invoiceId); + } +} \ No newline at end of file diff --git a/Wonky.Client/Components/CustomerProductLineTableComponent.razor b/Wonky.Client/Components/CustomerProductLineListComponent.razor similarity index 100% rename from Wonky.Client/Components/CustomerProductLineTableComponent.razor rename to Wonky.Client/Components/CustomerProductLineListComponent.razor diff --git a/Wonky.Client/Components/CustomerProductLineTableComponent.razor.cs b/Wonky.Client/Components/CustomerProductLineListComponent.razor.cs similarity index 94% rename from Wonky.Client/Components/CustomerProductLineTableComponent.razor.cs rename to Wonky.Client/Components/CustomerProductLineListComponent.razor.cs index a846338e..8d7e8ebd 100644 --- a/Wonky.Client/Components/CustomerProductLineTableComponent.razor.cs +++ b/Wonky.Client/Components/CustomerProductLineListComponent.razor.cs @@ -19,7 +19,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; -public partial class CustomerProductLineTableComponent +public partial class CustomerProductLineListComponent { [Parameter] public List ProductHistory { get; set; } = new(); diff --git a/Wonky.Client/Components/InvoiceTableComponent.razor.cs b/Wonky.Client/Components/InvoiceTableComponent.razor.cs deleted file mode 100644 index 8bebb139..00000000 --- a/Wonky.Client/Components/InvoiceTableComponent.razor.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Microsoft.AspNetCore.Components; -using Wonky.Client.Shared; -using Wonky.Entity.Views; - -namespace Wonky.Client.Components; - -public partial class InvoiceTableComponent -{ - [Parameter] public string CompanyId { get; set; } = ""; - [Parameter] public List InvoiceList { get; set; } = new(); - private InvoiceViewModal InvoiceView { get; set; } = new(); - private string InvoiceId { get; set; } = ""; - private void ShowInvoice(string invoiceId) - { - Console.WriteLine($"invoiceId => {invoiceId}"); - Console.WriteLine($"companyId => {CompanyId}"); - InvoiceId = invoiceId; - InvoiceView.Show(); - } -} \ No newline at end of file diff --git a/Wonky.Client/Components/LandingComponentAdmin.razor b/Wonky.Client/Components/LandingComponentAdmin.razor index 698e787f..30227cab 100644 --- a/Wonky.Client/Components/LandingComponentAdmin.razor +++ b/Wonky.Client/Components/LandingComponentAdmin.razor @@ -18,12 +18,29 @@ @using Microsoft.AspNetCore.Authorization @using Wonky.Client.Components -Innotec Admin - -
-
-
-
-
-
+
+
+
+ Danmark +
+ Danmark +
+
+
+
+
+ Norge +
+ Norge +
+
+
+
+
+ Sverige +
+ Sverige +
+
+
\ No newline at end of file diff --git a/Wonky.Client/Components/LandingComponentAdmin.razor.cs b/Wonky.Client/Components/LandingComponentAdmin.razor.cs index bfa137f2..03b0c2d1 100644 --- a/Wonky.Client/Components/LandingComponentAdmin.razor.cs +++ b/Wonky.Client/Components/LandingComponentAdmin.razor.cs @@ -30,14 +30,9 @@ using Wonky.Entity.Models; using Wonky.Entity.Views; namespace Wonky.Client.Components; -public partial class LandingComponentAdmin : IDisposable +public partial class LandingComponentAdmin { [Inject] public UserProfileService ProfileService { get; set; } - [Inject] public ILogger Logger { get; set; } - [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public IToastService Toaster { get; set; } - [Inject] public ITaskItemCrmHttpRepository TaskRepo { get; set; } - [Inject] public NavigationManager Navigator { get; set; } private readonly JsonSerializerOptions _options = new JsonSerializerOptions { @@ -46,7 +41,7 @@ public partial class LandingComponentAdmin : IDisposable }; private UserPref Prefs { get; set; } = new(); - private string WordDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; + private string WorkDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; private string Today { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; @@ -54,15 +49,8 @@ public partial class LandingComponentAdmin : IDisposable { Prefs = await ProfileService.GetPreferences(); if(!string.IsNullOrWhiteSpace(Prefs.WorkDate)) - WordDate = Prefs.WorkDate; - - Interceptor.RegisterEvent(); - Interceptor.RegisterBeforeSendEvent(); + WorkDate = Prefs.WorkDate; } - public void Dispose() - { - Interceptor.DisposeEvent(); - } } diff --git a/Wonky.Client/Components/LandingComponentAdvisor.razor b/Wonky.Client/Components/LandingComponentAdvisor.razor index 5ddd8c37..0b238fc5 100644 --- a/Wonky.Client/Components/LandingComponentAdvisor.razor +++ b/Wonky.Client/Components/LandingComponentAdvisor.razor @@ -22,8 +22,6 @@
- +
-
\ No newline at end of file diff --git a/Wonky.Client/Components/LandingComponentAdvisor.razor.cs b/Wonky.Client/Components/LandingComponentAdvisor.razor.cs index c2351ea9..2282ccd3 100644 --- a/Wonky.Client/Components/LandingComponentAdvisor.razor.cs +++ b/Wonky.Client/Components/LandingComponentAdvisor.razor.cs @@ -30,14 +30,9 @@ using Wonky.Entity.Models; using Wonky.Entity.Views; namespace Wonky.Client.Components; -public partial class LandingComponentAdvisor : IDisposable +public partial class LandingComponentAdvisor { [Inject] public UserProfileService ProfileService { get; set; } - [Inject] public ILogger Logger { get; set; } - [Inject] public HttpInterceptorService Inteceptor { get; set; } - [Inject] public IToastService Toaster { get; set; } - [Inject] public ITaskItemCrmHttpRepository TaskRepo { get; set; } - [Inject] public NavigationManager Navigator { get; set; } private readonly JsonSerializerOptions JsonOptions = new JsonSerializerOptions { @@ -47,59 +42,12 @@ public partial class LandingComponentAdvisor : IDisposable private UserPref Prefs { get; set; } = new(); private DateTime SelectedDate { get; set; } - private List TaskItems { get; set; } = new(); protected override async Task OnInitializedAsync() { Prefs = await ProfileService.GetPreferences(); SelectedDate = string.IsNullOrWhiteSpace(Prefs.WorkDate) ? DateTime.Now : DateTime.Parse(Prefs.WorkDate); - Inteceptor.RegisterEvent(); - Inteceptor.RegisterBeforeSendEvent(); - - //await GetTaskItems(_workDate); - await GetAllTasks(); } - - private async Task GetAllTasks() - { - TaskItems = await TaskRepo.GetTaskList(); - } - - private async Task OnCompleteTask(string taskItemId) - { - await ProfileService.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 TaskRepo.GetTaskList($"{SelectedDate:yyyy-MM-dd}"); - } - - private async Task OnTaskCompleted(string taskItemId) - { - var item = TaskItems.Find(x => x.TaskItemId == taskItemId); - item.IsCompleted = true; - await TaskRepo.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 TaskRepo.DeleteTaskItem(taskItemId); - Toaster.ShowInfo("Opgaven er slettet."); - } - - public void Dispose() - { - Inteceptor.DisposeEvent(); - } } diff --git a/Wonky.Client/Components/QuoteListComponent.razor b/Wonky.Client/Components/QuoteListComponent.razor index fa1cf754..31c3ffc8 100644 --- a/Wonky.Client/Components/QuoteListComponent.razor +++ b/Wonky.Client/Components/QuoteListComponent.razor @@ -90,19 +90,3 @@ }
-@code { - - [Parameter] - public List Quotes { get; set; } = new(); - [Parameter] public EventCallback OnChangedCallback { get; set; } - - private async Task SetQuote(string eSalesNumber, QStatus status) - { - var args = new QuoteCallbackArgs() - { - ESalesNumber = eSalesNumber, - Status = status - }; - await OnChangedCallback.InvokeAsync(args); - } -} diff --git a/Wonky.Client/Components/QuoteListComponent.razor.cs b/Wonky.Client/Components/QuoteListComponent.razor.cs new file mode 100644 index 00000000..6df5a184 --- /dev/null +++ b/Wonky.Client/Components/QuoteListComponent.razor.cs @@ -0,0 +1,22 @@ +using Microsoft.AspNetCore.Components; +using Wonky.Client.Models; +using Wonky.Entity.Views; + +namespace Wonky.Client.Components; + +public partial class QuoteListComponent +{ + [Parameter] + public List Quotes { get; set; } = new(); + [Parameter] public EventCallback OnChangedCallback { get; set; } + + private async Task SetQuote(string eSalesNumber, QStatus status) + { + var args = new QuoteCallbackArgs() + { + ESalesNumber = eSalesNumber, + Status = status + }; + await OnChangedCallback.InvokeAsync(args); + } +} \ No newline at end of file diff --git a/Wonky.Client/Components/ReportItemComponent.razor b/Wonky.Client/Components/ReportItemComponent.razor index 264d686d..ea3dedab 100644 --- a/Wonky.Client/Components/ReportItemComponent.razor +++ b/Wonky.Client/Components/ReportItemComponent.razor @@ -141,16 +141,3 @@
} - -@code{ - - [Parameter] - public ReportItemView ReportItem { get; set; } = new(); - - protected override void OnParametersSet() - { - var lines = ReportItem.Lines.OrderBy(x => x.Location).ToList(); - ReportItem.Lines = lines; - } - -} \ No newline at end of file diff --git a/Wonky.Client/Components/ReportItemComponent.razor.cs b/Wonky.Client/Components/ReportItemComponent.razor.cs new file mode 100644 index 00000000..ff0ea6dc --- /dev/null +++ b/Wonky.Client/Components/ReportItemComponent.razor.cs @@ -0,0 +1,16 @@ +using Microsoft.AspNetCore.Components; +using Wonky.Entity.Views; + +namespace Wonky.Client.Components; + +public partial class ReportItemComponent +{ + [Parameter] + public ReportItemView ReportItem { get; set; } = new(); + + protected override void OnParametersSet() + { + var lines = ReportItem.Lines.OrderBy(x => x.Location).ToList(); + ReportItem.Lines = lines; + } +} \ No newline at end of file diff --git a/Wonky.Client/Components/ReportTableCrmComponent.razor b/Wonky.Client/Components/ReportListComponent.razor similarity index 100% rename from Wonky.Client/Components/ReportTableCrmComponent.razor rename to Wonky.Client/Components/ReportListComponent.razor diff --git a/Wonky.Client/Components/ReportTableCrmComponent.razor.cs b/Wonky.Client/Components/ReportListComponent.razor.cs similarity index 96% rename from Wonky.Client/Components/ReportTableCrmComponent.razor.cs rename to Wonky.Client/Components/ReportListComponent.razor.cs index fef1e042..d8ad3799 100644 --- a/Wonky.Client/Components/ReportTableCrmComponent.razor.cs +++ b/Wonky.Client/Components/ReportListComponent.razor.cs @@ -19,7 +19,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; -public partial class ReportTableCrmComponent +public partial class ReportListComponent { [Parameter] public List ReportList { get; set; } = new(); [Parameter] public EventCallback OnShowReport { get; set; } diff --git a/Wonky.Client/Components/ReportTableOfficeComponent.razor b/Wonky.Client/Components/ReportListOfficeComponent.razor similarity index 100% rename from Wonky.Client/Components/ReportTableOfficeComponent.razor rename to Wonky.Client/Components/ReportListOfficeComponent.razor diff --git a/Wonky.Client/Components/ReportTableOfficeComponent.razor.cs b/Wonky.Client/Components/ReportListOfficeComponent.razor.cs similarity index 96% rename from Wonky.Client/Components/ReportTableOfficeComponent.razor.cs rename to Wonky.Client/Components/ReportListOfficeComponent.razor.cs index 0b29645a..61cb0c30 100644 --- a/Wonky.Client/Components/ReportTableOfficeComponent.razor.cs +++ b/Wonky.Client/Components/ReportListOfficeComponent.razor.cs @@ -18,7 +18,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; -public partial class ReportTableOfficeComponent +public partial class ReportListOfficeComponent { [Parameter] public List ReportList { get; set; } = new(); [Parameter] public string UserId { get; set; } = ""; diff --git a/Wonky.Client/Components/WarehouseListComponent.razor.cs b/Wonky.Client/Components/WarehouseListComponent.razor.cs index 90da7c3a..8c42e1fd 100644 --- a/Wonky.Client/Components/WarehouseListComponent.razor.cs +++ b/Wonky.Client/Components/WarehouseListComponent.razor.cs @@ -28,7 +28,7 @@ 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 IWarehouseRepository WarehouseRepo { get; set; } [Inject] public IToastService Toaster { get; set; } private string ItemList { get; set; } = ""; diff --git a/Wonky.Client/Components/WorkplaceListComponent.razor b/Wonky.Client/Components/WorkplaceListComponent.razor index 50175aa8..8d0acc90 100644 --- a/Wonky.Client/Components/WorkplaceListComponent.razor +++ b/Wonky.Client/Components/WorkplaceListComponent.razor @@ -31,10 +31,3 @@ else {
Ingen data
} - -@code { - - [Parameter] public List Workplaces { get; set; } = new(); - - [Parameter] public string CompanyId { get; set; } = ""; -} \ No newline at end of file diff --git a/Wonky.Client/Components/WorkplaceListComponent.razor.cs b/Wonky.Client/Components/WorkplaceListComponent.razor.cs new file mode 100644 index 00000000..43dae261 --- /dev/null +++ b/Wonky.Client/Components/WorkplaceListComponent.razor.cs @@ -0,0 +1,11 @@ +using Microsoft.AspNetCore.Components; +using Wonky.Entity.Views; + +namespace Wonky.Client.Components; + +public partial class WorkplaceListComponent +{ + [Parameter] public List Workplaces { get; set; } = new(); + + [Parameter] public string CompanyId { get; set; } = ""; +} \ No newline at end of file diff --git a/Wonky.Client/HttpInterfaces/IActivityCrmHttpRepository.cs b/Wonky.Client/HttpInterfaces/IAdvisorActivityRepository.cs similarity index 98% rename from Wonky.Client/HttpInterfaces/IActivityCrmHttpRepository.cs rename to Wonky.Client/HttpInterfaces/IAdvisorActivityRepository.cs index 4dcd1fc4..1a6ff1bc 100644 --- a/Wonky.Client/HttpInterfaces/IActivityCrmHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/IAdvisorActivityRepository.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.HttpInterfaces; /// /// Interface Activity CRM Http repository /// -public interface IActivityCrmHttpRepository +public interface IAdvisorActivityRepository { /// /// Get a list of open quotes diff --git a/Wonky.Client/HttpInterfaces/ICatalogHttpRepository.cs b/Wonky.Client/HttpInterfaces/IAdvisorCatalogRepository.cs similarity index 76% rename from Wonky.Client/HttpInterfaces/ICatalogHttpRepository.cs rename to Wonky.Client/HttpInterfaces/IAdvisorCatalogRepository.cs index 68770aa9..ad55f29b 100644 --- a/Wonky.Client/HttpInterfaces/ICatalogHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/IAdvisorCatalogRepository.cs @@ -22,23 +22,15 @@ namespace Wonky.Client.HttpInterfaces; /// /// Interface Catalog Http repository /// -public interface ICatalogCrmHttpRepository +public interface IAdvisorCatalogRepository { /// /// Get a paged sales item list /// /// /// - Task> GetSalesItemsPaged(CatalogPagingParams pagingParameters); - - /// - /// Get a paged sales item list for country - /// - /// - /// - /// - Task> GetSalesItemsPaged(CatalogPagingParams pagingParameters, string countryCode); - + Task> GetSalesItemsPaged(CatalogPaging pagingParameters); + /// /// Get sales item by id /// @@ -46,20 +38,13 @@ public interface ICatalogCrmHttpRepository /// Task GetSalesItemId(string salesItemId); - /// - /// Get sales item by sku - /// - /// - /// - Task GetSalesItemSku(string sku); - /// /// Overload Get sales item by sku and country code /// /// /// /// - Task GetSalesItemSku(string sku, string countryCode); + Task GetSalesItemSku(string countryCode, string sku); /// /// Get sales item by variant id diff --git a/Wonky.Client/HttpInterfaces/IContactCrmHttpRepository.cs b/Wonky.Client/HttpInterfaces/IAdvisorContactRepository.cs similarity index 96% rename from Wonky.Client/HttpInterfaces/IContactCrmHttpRepository.cs rename to Wonky.Client/HttpInterfaces/IAdvisorContactRepository.cs index 633723fa..178358f7 100644 --- a/Wonky.Client/HttpInterfaces/IContactCrmHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/IAdvisorContactRepository.cs @@ -6,7 +6,7 @@ namespace Wonky.Client.HttpInterfaces; /// Interface for Contacts CRM Http repository /// /// -public interface IContactCrmHttpRepository +public interface IAdvisorContactRepository { /// /// Create Contact diff --git a/Wonky.Client/HttpInterfaces/ICustomerCrmHttpRepository.cs b/Wonky.Client/HttpInterfaces/IAdvisorCustomerRepository.cs similarity index 98% rename from Wonky.Client/HttpInterfaces/ICustomerCrmHttpRepository.cs rename to Wonky.Client/HttpInterfaces/IAdvisorCustomerRepository.cs index e5bd56b7..7c16359a 100644 --- a/Wonky.Client/HttpInterfaces/ICustomerCrmHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/IAdvisorCustomerRepository.cs @@ -22,7 +22,7 @@ namespace Wonky.Client.HttpInterfaces; /// /// Interface Customer CRM Http repository /// -public interface ICustomerCrmHttpRepository +public interface IAdvisorCustomerRepository { /// /// Get a list of CRM customers (SalesRep) diff --git a/Wonky.Client/HttpInterfaces/IReportHttpRepository.cs b/Wonky.Client/HttpInterfaces/IAdvisorReportRepository.cs similarity index 78% rename from Wonky.Client/HttpInterfaces/IReportHttpRepository.cs rename to Wonky.Client/HttpInterfaces/IAdvisorReportRepository.cs index f6cfa923..9827598a 100644 --- a/Wonky.Client/HttpInterfaces/IReportHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/IAdvisorReportRepository.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.HttpInterfaces; /// /// Interface Report Http repository /// -public interface IReportHttpRepository +public interface IAdvisorReportRepository { /// /// Report Exist for given data (SalesRep) @@ -57,19 +57,4 @@ public interface IReportHttpRepository /// /// Task CreateReport(string workDate, ReportDto reportDto); - - /// - /// Get Reports for given userId (Office) - /// - /// - /// - Task> GetCountryReports(string userId); - - /// - /// Get Report for given userId and workDate (Office) - /// - /// - /// - /// - Task GetCountryReport(string userId, string workDate); } \ No newline at end of file diff --git a/Wonky.Client/HttpInterfaces/ITaskItemCrmHttpRepository.cs b/Wonky.Client/HttpInterfaces/IAdvisorTaskItemRepository.cs similarity index 97% rename from Wonky.Client/HttpInterfaces/ITaskItemCrmHttpRepository.cs rename to Wonky.Client/HttpInterfaces/IAdvisorTaskItemRepository.cs index d881f124..29d17a31 100644 --- a/Wonky.Client/HttpInterfaces/ITaskItemCrmHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/IAdvisorTaskItemRepository.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.HttpInterfaces; /// /// Interface for handling CRM Tasks http repository /// -public interface ITaskItemCrmHttpRepository +public interface IAdvisorTaskItemRepository { /// /// Get Task List (SalesRep) diff --git a/Wonky.Client/HttpInterfaces/ICountryCatalogRepository.cs b/Wonky.Client/HttpInterfaces/ICountryCatalogRepository.cs new file mode 100644 index 00000000..599f493d --- /dev/null +++ b/Wonky.Client/HttpInterfaces/ICountryCatalogRepository.cs @@ -0,0 +1,65 @@ +// 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 Wonky.Client.Features; +using Wonky.Entity.Requests; +using Wonky.Entity.Views; + +namespace Wonky.Client.HttpInterfaces; + +/// +/// Interface Catalog Http repository +/// +public interface ICountryCatalogRepository +{ + /// + /// Get a paged sales item list + /// + /// + /// + /// + Task> GetSalesItemsPaged(string countryCode, CatalogPaging paging); + + /// + /// Get sales item by id + /// + /// + /// + /// + Task GetSalesItemId(string countryCode, string salesItemId); + + /// + /// Overload Get sales item by sku and country code + /// + /// + /// + /// + Task GetSalesItemSku(string countryCode, string sku); + + /// + /// Get sales item by variant id + /// + /// + /// + /// + Task GetSalesVariantId(string countryCode, string variantId); + + /// + /// Complete catalog for print country + /// + /// + /// + Task> GetPriceList(string countryCode); +} \ No newline at end of file diff --git a/Wonky.Client/HttpInterfaces/ICustomerOfficeHttpRepository.cs b/Wonky.Client/HttpInterfaces/ICountryCustomerRepository.cs similarity index 86% rename from Wonky.Client/HttpInterfaces/ICustomerOfficeHttpRepository.cs rename to Wonky.Client/HttpInterfaces/ICountryCustomerRepository.cs index c5cffab2..e8d0811e 100644 --- a/Wonky.Client/HttpInterfaces/ICustomerOfficeHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/ICountryCustomerRepository.cs @@ -22,23 +22,22 @@ namespace Wonky.Client.HttpInterfaces; /// /// Interface for Customer Office Http repository /// -public interface ICustomerOfficeHttpRepository +public interface ICountryCustomerRepository { /// /// Get customers paged for given country /// - /// - /// + /// /// - Task> GetCompaniesPaged(CustomerPaging pagingParameters, string countryCode); + Task> GetCompaniesPaged(CustomerPaging paging); /// /// Get customers paged for given sales rep /// /// - /// + /// /// - Task> GetCompaniesPagedSalesRep(string salesRepId, CustomerPaging pagingParameters); + Task> GetCompaniesPagedSalesRep(string salesRepId, CustomerPaging paging); /// /// Get customer by Id diff --git a/Wonky.Client/HttpInterfaces/IReportOfficeHttpRepository.cs b/Wonky.Client/HttpInterfaces/ICountryReportRepository.cs similarity index 81% rename from Wonky.Client/HttpInterfaces/IReportOfficeHttpRepository.cs rename to Wonky.Client/HttpInterfaces/ICountryReportRepository.cs index a70d909e..00d4b74e 100644 --- a/Wonky.Client/HttpInterfaces/IReportOfficeHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/ICountryReportRepository.cs @@ -22,20 +22,20 @@ namespace Wonky.Client.HttpInterfaces; /// Interface for Report http repository /// /// Possibly duplicated in IReportHttpRepository -public interface IReportOfficeHttpRepository +public interface ICountryReportRepository { /// - /// Get reports for given userId + /// Get Reports for given userId (Office) /// /// /// - Task> GetReports(string userId); + Task> GetCountryReports(string userId); /// - /// Get report for given userId and workDate + /// Get Report for given userId and workDate (Office) /// /// /// /// - Task GetReport(string userId, string workDate); + Task GetCountryReport(string userId, string workDate); } \ No newline at end of file diff --git a/Wonky.Client/HttpInterfaces/ICustomerHistoryCrmHttpRepository.cs b/Wonky.Client/HttpInterfaces/ICustomerHistoryRepository.cs similarity index 97% rename from Wonky.Client/HttpInterfaces/ICustomerHistoryCrmHttpRepository.cs rename to Wonky.Client/HttpInterfaces/ICustomerHistoryRepository.cs index 360812d2..ffd59fd5 100644 --- a/Wonky.Client/HttpInterfaces/ICustomerHistoryCrmHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/ICustomerHistoryRepository.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.HttpInterfaces; /// /// Interface Customer History CRM Http repository /// -public interface ICustomerHistoryCrmHttpRepository +public interface ICustomerHistoryRepository { /// /// Fetch Invoice LIst diff --git a/Wonky.Client/HttpInterfaces/ISendMailService.cs b/Wonky.Client/HttpInterfaces/ISystemSendMailService.cs similarity index 90% rename from Wonky.Client/HttpInterfaces/ISendMailService.cs rename to Wonky.Client/HttpInterfaces/ISystemSendMailService.cs index 719f150a..2dd82936 100644 --- a/Wonky.Client/HttpInterfaces/ISendMailService.cs +++ b/Wonky.Client/HttpInterfaces/ISystemSendMailService.cs @@ -6,7 +6,7 @@ namespace Wonky.Client.HttpInterfaces; /// /// Interface for sending emai /// -public interface ISendMailService +public interface ISystemSendMailService { /// /// Send Mail diff --git a/Wonky.Client/HttpInterfaces/IUserHttpRepository.cs b/Wonky.Client/HttpInterfaces/ISystemUserRepository.cs similarity index 98% rename from Wonky.Client/HttpInterfaces/IUserHttpRepository.cs rename to Wonky.Client/HttpInterfaces/ISystemUserRepository.cs index fcb5223d..f6e3ecf8 100644 --- a/Wonky.Client/HttpInterfaces/IUserHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/ISystemUserRepository.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.HttpInterfaces; /// /// Interface for User handling over http /// -public interface IUserHttpRepository +public interface ISystemUserRepository { /// /// Get Advisors (Office) diff --git a/Wonky.Client/HttpInterfaces/IWarehouseHttpRepository.cs b/Wonky.Client/HttpInterfaces/IWarehouseRepository.cs similarity index 97% rename from Wonky.Client/HttpInterfaces/IWarehouseHttpRepository.cs rename to Wonky.Client/HttpInterfaces/IWarehouseRepository.cs index d03b9255..7d5eeefd 100644 --- a/Wonky.Client/HttpInterfaces/IWarehouseHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/IWarehouseRepository.cs @@ -20,7 +20,7 @@ namespace Wonky.Client.HttpInterfaces; /// /// Interface for processing orders in warehouse /// -public interface IWarehouseHttpRepository +public interface IWarehouseRepository { /// /// Get warehouse order list by date diff --git a/Wonky.Client/HttpInterfaces/IWorkplaceCrmHttpRepository.cs b/Wonky.Client/HttpInterfaces/IWorkplaceRepository.cs similarity index 98% rename from Wonky.Client/HttpInterfaces/IWorkplaceCrmHttpRepository.cs rename to Wonky.Client/HttpInterfaces/IWorkplaceRepository.cs index 21de0e06..1b290d2f 100644 --- a/Wonky.Client/HttpInterfaces/IWorkplaceCrmHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/IWorkplaceRepository.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.HttpInterfaces; /// /// Interface for handling Customer Workplaces (chemical document service) /// -public interface IWorkplaceCrmHttpRepository +public interface IWorkplaceRepository { /// /// Get Workplaces for given customer id diff --git a/Wonky.Client/HttpRepository/ActivityCrmHttpRepository.cs b/Wonky.Client/HttpRepository/AdvisorActivityRepository.cs similarity index 96% rename from Wonky.Client/HttpRepository/ActivityCrmHttpRepository.cs rename to Wonky.Client/HttpRepository/AdvisorActivityRepository.cs index 4e167378..32ffa493 100644 --- a/Wonky.Client/HttpRepository/ActivityCrmHttpRepository.cs +++ b/Wonky.Client/HttpRepository/AdvisorActivityRepository.cs @@ -28,7 +28,7 @@ namespace Wonky.Client.HttpRepository; /// /// Implementing Interface Activity CRM Http repository /// -public class ActivityCrmHttpRepository : IActivityCrmHttpRepository +public class AdvisorActivityRepository : IAdvisorActivityRepository { private readonly JsonSerializerOptions? _options = new JsonSerializerOptions { @@ -36,12 +36,12 @@ public class ActivityCrmHttpRepository : IActivityCrmHttpRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _api; - public ActivityCrmHttpRepository(HttpClient client, - ILogger logger, + public AdvisorActivityRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions configuration) { _client = client; diff --git a/Wonky.Client/HttpRepository/CatalogHttpRepository.cs b/Wonky.Client/HttpRepository/AdvisorCatalogRepository.cs similarity index 89% rename from Wonky.Client/HttpRepository/CatalogHttpRepository.cs rename to Wonky.Client/HttpRepository/AdvisorCatalogRepository.cs index 5c476c28..1b82dadb 100644 --- a/Wonky.Client/HttpRepository/CatalogHttpRepository.cs +++ b/Wonky.Client/HttpRepository/AdvisorCatalogRepository.cs @@ -31,7 +31,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class CatalogCrmHttpRepository : ICatalogCrmHttpRepository +public class AdvisorCatalogRepository : IAdvisorCatalogRepository { private readonly JsonSerializerOptions _options = new JsonSerializerOptions { @@ -39,12 +39,12 @@ public class CatalogCrmHttpRepository : ICatalogCrmHttpRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _apiConfig; - public CatalogCrmHttpRepository(HttpClient client, - ILogger logger, + public AdvisorCatalogRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions configuration) { _client = client; @@ -58,7 +58,7 @@ public class CatalogCrmHttpRepository : ICatalogCrmHttpRepository /// /// /// - public async Task> GetSalesItemsPaged(CatalogPagingParams pagingParameters) + public async Task> GetSalesItemsPaged(CatalogPaging pagingParameters) { var queryString = new Dictionary { @@ -68,6 +68,7 @@ public class CatalogCrmHttpRepository : ICatalogCrmHttpRepository ["searchColumn"] = pagingParameters.SearchColumn, ["searchTerm"] = pagingParameters.SearchTerm, ["selectGroup"] = pagingParameters.SelectGroup == "0" ? "" : pagingParameters.SelectGroup, + ["countryCode"] = pagingParameters.CountryCode }; var response = await _client .GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.Catalog}/page", queryString)); @@ -97,7 +98,7 @@ public class CatalogCrmHttpRepository : ICatalogCrmHttpRepository /// /// /// - public async Task> GetSalesItemsPaged(CatalogPagingParams pagingParameters, string countryCode) + public async Task> GetSalesItemsPaged(CatalogPaging pagingParameters, string countryCode) { var queryString = new Dictionary { @@ -107,6 +108,7 @@ public class CatalogCrmHttpRepository : ICatalogCrmHttpRepository ["searchColumn"] = pagingParameters.SearchColumn, ["searchTerm"] = pagingParameters.SearchTerm, ["selectGroup"] = pagingParameters.SelectGroup == "0" ? "" : pagingParameters.SelectGroup, + ["countryCode"] = pagingParameters.CountryCode }; var response = await _client .GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.Catalog}/{countryCode}/page", queryString)); @@ -142,24 +144,13 @@ public class CatalogCrmHttpRepository : ICatalogCrmHttpRepository return salesItem ?? new SalesItemView(); } - /// - /// Get sales item by sku - /// - /// - /// - public async Task GetSalesItemSku(string sku) - { - var salesItem = await _client.GetFromJsonAsync($"{_apiConfig.Catalog}/sku/{sku}"); - return salesItem ?? new SalesItemView(); - } - /// /// Overload Get sales item by sku and country code /// /// /// /// - public async Task GetSalesItemSku(string sku, string countryCode) + public async Task GetSalesItemSku(string countryCode, string sku) { var salesItem = await _client.GetFromJsonAsync($"{_apiConfig.Catalog}/{countryCode}/sku/{sku}"); return salesItem ?? new SalesItemView(); @@ -195,5 +186,4 @@ public class CatalogCrmHttpRepository : ICatalogCrmHttpRepository { return await _client.GetFromJsonAsync>($"{_apiConfig.Catalog}/{countryCode}", _options); } - } \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/ContactCrmHttpRepository.cs b/Wonky.Client/HttpRepository/AdvisorContactRepository.cs similarity index 92% rename from Wonky.Client/HttpRepository/ContactCrmHttpRepository.cs rename to Wonky.Client/HttpRepository/AdvisorContactRepository.cs index 285c6c1c..59f962ed 100644 --- a/Wonky.Client/HttpRepository/ContactCrmHttpRepository.cs +++ b/Wonky.Client/HttpRepository/AdvisorContactRepository.cs @@ -8,7 +8,7 @@ using Wonky.Entity.DTO; namespace Wonky.Client.HttpRepository; -public class ContactCrmHttpRepository : IContactCrmHttpRepository +public class AdvisorContactRepository : IAdvisorContactRepository { private readonly JsonSerializerOptions _options = new () { @@ -16,12 +16,12 @@ public class ContactCrmHttpRepository : IContactCrmHttpRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _conf; - public ContactCrmHttpRepository(HttpClient client, - ILogger logger, + public AdvisorContactRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions apiConfig) { diff --git a/Wonky.Client/HttpRepository/CustomerCrmHttpRepository.cs b/Wonky.Client/HttpRepository/AdvisorCustomerRepository.cs similarity index 96% rename from Wonky.Client/HttpRepository/CustomerCrmHttpRepository.cs rename to Wonky.Client/HttpRepository/AdvisorCustomerRepository.cs index 9161989c..63ba1bcd 100644 --- a/Wonky.Client/HttpRepository/CustomerCrmHttpRepository.cs +++ b/Wonky.Client/HttpRepository/AdvisorCustomerRepository.cs @@ -34,7 +34,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class CustomerCrmCrmHttpRepository : ICustomerCrmHttpRepository +public class AdvisorCustomerRepository : IAdvisorCustomerRepository { private readonly JsonSerializerOptions _options = new () { @@ -42,12 +42,12 @@ public class CustomerCrmCrmHttpRepository : ICustomerCrmHttpRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _conf; - public CustomerCrmCrmHttpRepository(HttpClient client, - ILogger logger, + public AdvisorCustomerRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions apiConfig) { diff --git a/Wonky.Client/HttpRepository/ReportHttpRepository.cs b/Wonky.Client/HttpRepository/AdvisorReportRepository.cs similarity index 79% rename from Wonky.Client/HttpRepository/ReportHttpRepository.cs rename to Wonky.Client/HttpRepository/AdvisorReportRepository.cs index c9f4f551..eae15ed2 100644 --- a/Wonky.Client/HttpRepository/ReportHttpRepository.cs +++ b/Wonky.Client/HttpRepository/AdvisorReportRepository.cs @@ -25,7 +25,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class ReportHttpRepository : IReportHttpRepository +public class AdvisorReportRepository : IAdvisorReportRepository { private readonly JsonSerializerOptions _options = new JsonSerializerOptions { @@ -33,12 +33,12 @@ public class ReportHttpRepository : IReportHttpRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _apiConfig; - public ReportHttpRepository(HttpClient client, - ILogger logger, + public AdvisorReportRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions configuration) { _client = client; @@ -111,25 +111,4 @@ public class ReportHttpRepository : IReportHttpRepository IsSuccess = result.IsSuccess }; } - - /// - /// Get Reports for given userId (Office) - /// - /// - /// - public async Task> GetCountryReports(string userId) - { - return await _client.GetFromJsonAsync>($"{_apiConfig.OfficeReports}/{userId}"); - } - - /// - /// Get Report for given userId and workDate (Office) - /// - /// - /// - /// - public async Task GetCountryReport(string userId, string workDate) - { - return await _client.GetFromJsonAsync($"{_apiConfig.OfficeReports}/{userId}/{workDate}"); - } } \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/TaskItemCrmHttpRepository.cs b/Wonky.Client/HttpRepository/AdvisorTaskItemRepository.cs similarity index 93% rename from Wonky.Client/HttpRepository/TaskItemCrmHttpRepository.cs rename to Wonky.Client/HttpRepository/AdvisorTaskItemRepository.cs index 655eb177..09a5005b 100644 --- a/Wonky.Client/HttpRepository/TaskItemCrmHttpRepository.cs +++ b/Wonky.Client/HttpRepository/AdvisorTaskItemRepository.cs @@ -26,7 +26,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class TaskItemCrmHttpRepository : ITaskItemCrmHttpRepository +public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository { private readonly JsonSerializerOptions _options = new JsonSerializerOptions { @@ -35,12 +35,12 @@ public class TaskItemCrmHttpRepository : ITaskItemCrmHttpRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _apiConfig; - public TaskItemCrmHttpRepository(HttpClient client, - ILogger logger, + public AdvisorTaskItemRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions configuration) { _client = client; diff --git a/Wonky.Client/HttpRepository/CountryCatalogRepository.cs b/Wonky.Client/HttpRepository/CountryCatalogRepository.cs new file mode 100644 index 00000000..ff573a2c --- /dev/null +++ b/Wonky.Client/HttpRepository/CountryCatalogRepository.cs @@ -0,0 +1,144 @@ +// 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.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Net.Http.Json; +using System.Text.Json; +using System.Threading.Tasks; +using Wonky.Client.Features; +using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.WebUtilities; +using Microsoft.Extensions.Options; +using Wonky.Client.HttpInterfaces; +using Wonky.Entity.Configuration; +using Wonky.Entity.DTO; +using Wonky.Entity.Requests; +using Wonky.Entity.Views; + +namespace Wonky.Client.HttpRepository; + +public class CountryCatalogRepository : ICountryCatalogRepository +{ + private readonly JsonSerializerOptions _options = new JsonSerializerOptions + { + PropertyNameCaseInsensitive = true + }; + + private readonly NavigationManager _navigation; + private ILogger _logger; + private readonly HttpClient _client; + private readonly ApiConfig _apiConfig; + + public CountryCatalogRepository(HttpClient client, + ILogger logger, + NavigationManager navigation, IOptions configuration) + { + _client = client; + _logger = logger; + _navigation = navigation; + _apiConfig = configuration.Value; + } + + /// + /// Get a paged sales item list + /// + /// + /// + /// + public async Task> GetSalesItemsPaged(string countryCode, CatalogPaging paging) + { + var queryString = new Dictionary + { + ["pageNumber"] = paging.PageNumber.ToString(), + ["pageSize"] = paging.PageSize.ToString(), + ["orderBy"] = paging.OrderBy, + ["searchColumn"] = paging.SearchColumn, + ["searchTerm"] = paging.SearchTerm, + ["selectGroup"] = paging.SelectGroup == "0" ? "" : paging.SelectGroup, + ["countryCode"] = countryCode + }; + var response = await _client + .GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.Catalog}/country/{countryCode}/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), + MetaData = JsonSerializer.Deserialize( + response.Headers.GetValues("X-Pagination").First(), _options) + }; + return pagingResponse; + } + + + /// + /// Get sales item by id + /// + /// + /// + /// + public async Task GetSalesItemId(string countryCode, string salesItemId) + { + var salesItem = await _client + .GetFromJsonAsync($"{_apiConfig.Catalog}/country/{countryCode}/{salesItemId}"); + return salesItem ?? new SalesItemView(); + } + + /// + /// Overload Get sales item by sku and country code + /// + /// + /// + /// + public async Task GetSalesItemSku(string countryCode, string sku) + { + var salesItem = await _client.GetFromJsonAsync($"{_apiConfig.Catalog}/country/{countryCode}/sku/{sku}"); + return salesItem ?? new SalesItemView(); + } + + /// + /// Get sales item by variant id + /// + /// + /// + /// + public async Task GetSalesVariantId(string countryCode, string variantId) + { + var salesItem = await _client + .GetFromJsonAsync($"{_apiConfig.Catalog}/country/{countryCode}/variant/{variantId}"); + return salesItem ?? new SalesItemView(); + } + + /// + /// Complete catalog for print country + /// + /// + /// + public async Task> GetPriceList(string countryCode) + { + return await _client.GetFromJsonAsync>($"{_apiConfig.Catalog}/country/{countryCode}", _options); + } +} \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/CustomerOfficeHttpRepository.cs b/Wonky.Client/HttpRepository/CountryCustomerRepository.cs similarity index 74% rename from Wonky.Client/HttpRepository/CustomerOfficeHttpRepository.cs rename to Wonky.Client/HttpRepository/CountryCustomerRepository.cs index f2787c0a..c677e978 100644 --- a/Wonky.Client/HttpRepository/CustomerOfficeHttpRepository.cs +++ b/Wonky.Client/HttpRepository/CountryCustomerRepository.cs @@ -34,7 +34,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class CustomerOfficeHttpRepository : ICustomerOfficeHttpRepository +public class CountryCustomerRepository : ICountryCustomerRepository { private readonly JsonSerializerOptions _options = new () { @@ -42,12 +42,12 @@ public class CustomerOfficeHttpRepository : ICustomerOfficeHttpRepository }; private readonly NavigationManager _navigator; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _api; - public CustomerOfficeHttpRepository(HttpClient client, - ILogger logger, + public CountryCustomerRepository(HttpClient client, + ILogger logger, NavigationManager navigator, IOptions apiConfig) { @@ -60,21 +60,20 @@ public class CustomerOfficeHttpRepository : ICustomerOfficeHttpRepository /// /// Get customers paged for given sales rep /// - /// - /// + /// /// - public async Task> GetCompaniesPaged(CustomerPaging pagingParameters, string countryCode) + public async Task> GetCompaniesPaged(CustomerPaging paging) { var queryString = new Dictionary { - ["pageNumber"] = pagingParameters.PageNumber.ToString(), - ["pageSize"] = pagingParameters.PageSize.ToString(), - ["searchTerm"] = pagingParameters.SearchTerm, - ["searchColumn"] = pagingParameters.SearchColumn, - ["orderBy"] = pagingParameters.OrderBy, - ["isHidden"] = pagingParameters.IsHidden.ToString(), - ["hasFolded"] = pagingParameters.HasFolded.ToString(), - ["countryCode"] = pagingParameters.CountryCode + ["pageNumber"] = paging.PageNumber.ToString(), + ["pageSize"] = paging.PageSize.ToString(), + ["searchTerm"] = paging.SearchTerm, + ["searchColumn"] = paging.SearchColumn, + ["orderBy"] = paging.OrderBy, + ["isHidden"] = paging.IsHidden.ToString(), + ["hasFolded"] = paging.HasFolded.ToString(), + ["countryCode"] = paging.CountryCode }; var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_api.OfficeCustomers}", queryString)); @@ -92,20 +91,20 @@ public class CustomerOfficeHttpRepository : ICustomerOfficeHttpRepository /// Get customers paged for given sales rep /// /// - /// + /// /// - public async Task> GetCompaniesPagedSalesRep(string salesRepId, CustomerPaging pagingParameters) + public async Task> GetCompaniesPagedSalesRep(string salesRepId, CustomerPaging paging) { var queryString = new Dictionary { - ["pageNumber"] = pagingParameters.PageNumber.ToString(), - ["pageSize"] = pagingParameters.PageSize.ToString(), - ["searchTerm"] = pagingParameters.SearchTerm, - ["searchColumn"] = pagingParameters.SearchColumn, - ["orderBy"] = pagingParameters.OrderBy, - ["isHidden"] = pagingParameters.IsHidden.ToString(), - ["hasFolded"] = pagingParameters.HasFolded.ToString(), - ["countryCode"] = pagingParameters.CountryCode + ["pageNumber"] = paging.PageNumber.ToString(), + ["pageSize"] = paging.PageSize.ToString(), + ["searchTerm"] = paging.SearchTerm, + ["searchColumn"] = paging.SearchColumn, + ["orderBy"] = paging.OrderBy, + ["isHidden"] = paging.IsHidden.ToString(), + ["hasFolded"] = paging.HasFolded.ToString(), + ["countryCode"] = paging.CountryCode }; var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_api.OfficeCustomers}/salesRep/{salesRepId}/", queryString)); diff --git a/Wonky.Client/HttpRepository/CountryReportRepository.cs b/Wonky.Client/HttpRepository/CountryReportRepository.cs new file mode 100644 index 00000000..84abc430 --- /dev/null +++ b/Wonky.Client/HttpRepository/CountryReportRepository.cs @@ -0,0 +1,70 @@ +// 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.Net.Http.Json; +using System.Text.Json; +using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Options; +using Wonky.Client.HttpInterfaces; +using Wonky.Entity.Configuration; +using Wonky.Entity.DTO; +using Wonky.Entity.Views; + +namespace Wonky.Client.HttpRepository; + +public class CountryReportRepository : ICountryReportRepository +{ + private readonly JsonSerializerOptions _options = new JsonSerializerOptions + { + PropertyNameCaseInsensitive = true + }; + + private readonly NavigationManager _navigation; + private ILogger _logger; + private readonly HttpClient _client; + private readonly ApiConfig _apiConfig; + + public CountryReportRepository(HttpClient client, + ILogger logger, + NavigationManager navigation, IOptions configuration) + { + _client = client; + _logger = logger; + _navigation = navigation; + _apiConfig = configuration.Value; + } + + /// + /// Get Reports for given userId (Office) + /// + /// + /// + public async Task> GetCountryReports(string userId) + { + return await _client.GetFromJsonAsync>($"{_apiConfig.OfficeReports}/{userId}"); + } + + /// + /// Get Report for given userId and workDate (Office) + /// + /// + /// + /// + public async Task GetCountryReport(string userId, string workDate) + { + return await _client.GetFromJsonAsync($"{_apiConfig.OfficeReports}/{userId}/{workDate}"); + } +} \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/CustomerHistoryCrmHttpRepository.cs b/Wonky.Client/HttpRepository/CustomerHistoryRepository.cs similarity index 95% rename from Wonky.Client/HttpRepository/CustomerHistoryCrmHttpRepository.cs rename to Wonky.Client/HttpRepository/CustomerHistoryRepository.cs index 25fa1eaa..57887031 100644 --- a/Wonky.Client/HttpRepository/CustomerHistoryCrmHttpRepository.cs +++ b/Wonky.Client/HttpRepository/CustomerHistoryRepository.cs @@ -25,7 +25,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class CustomerHistoryCrmHttpRepository : ICustomerHistoryCrmHttpRepository +public class CustomerHistoryRepository : ICustomerHistoryRepository { private readonly JsonSerializerOptions _options = new JsonSerializerOptions { @@ -33,12 +33,12 @@ public class CustomerHistoryCrmHttpRepository : ICustomerHistoryCrmHttpRepositor }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _api; - public CustomerHistoryCrmHttpRepository( - HttpClient client, ILogger logger, + public CustomerHistoryRepository( + HttpClient client, ILogger logger, NavigationManager navigation, IOptions configuration) { _client = client; diff --git a/Wonky.Client/HttpRepository/SendMailService.cs b/Wonky.Client/HttpRepository/SystemSendMailService.cs similarity index 88% rename from Wonky.Client/HttpRepository/SendMailService.cs rename to Wonky.Client/HttpRepository/SystemSendMailService.cs index 2a6e4177..bdbb0aa5 100644 --- a/Wonky.Client/HttpRepository/SendMailService.cs +++ b/Wonky.Client/HttpRepository/SystemSendMailService.cs @@ -10,7 +10,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class SendMailService : ISendMailService +public class SystemSendMailService : ISystemSendMailService { private readonly JsonSerializerOptions? _options = new JsonSerializerOptions { @@ -18,11 +18,11 @@ public class SendMailService : ISendMailService }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _api; - public SendMailService(HttpClient client, ILogger logger, + public SystemSendMailService(HttpClient client, ILogger logger, NavigationManager navigation, IOptions configuration) { _client = client; diff --git a/Wonky.Client/HttpRepository/UserHttpRepository.cs b/Wonky.Client/HttpRepository/SystemUserRepository.cs similarity index 95% rename from Wonky.Client/HttpRepository/UserHttpRepository.cs rename to Wonky.Client/HttpRepository/SystemUserRepository.cs index 8597ba03..d2eadf3c 100644 --- a/Wonky.Client/HttpRepository/UserHttpRepository.cs +++ b/Wonky.Client/HttpRepository/SystemUserRepository.cs @@ -25,7 +25,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class UserHttpRepository : IUserHttpRepository +public class SystemUserRepository : ISystemUserRepository { private readonly JsonSerializerOptions? _options = new JsonSerializerOptions { @@ -33,11 +33,11 @@ public class UserHttpRepository : IUserHttpRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _api; - public UserHttpRepository(HttpClient client, ILogger logger, + public SystemUserRepository(HttpClient client, ILogger logger, NavigationManager navigation, IOptions configuration) { _client = client; diff --git a/Wonky.Client/HttpRepository/WarehouseHttpRepository.cs b/Wonky.Client/HttpRepository/WarehouseRepository.cs similarity index 93% rename from Wonky.Client/HttpRepository/WarehouseHttpRepository.cs rename to Wonky.Client/HttpRepository/WarehouseRepository.cs index b0af0c0d..d5e8df73 100644 --- a/Wonky.Client/HttpRepository/WarehouseHttpRepository.cs +++ b/Wonky.Client/HttpRepository/WarehouseRepository.cs @@ -23,7 +23,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class WarehouseHttpRepository : IWarehouseHttpRepository +public class WarehouseRepository : IWarehouseRepository { private readonly JsonSerializerOptions? _options = new JsonSerializerOptions { @@ -31,12 +31,12 @@ public class WarehouseHttpRepository : IWarehouseHttpRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _api; - public WarehouseHttpRepository(HttpClient client, - ILogger logger, + public WarehouseRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions configuration) { diff --git a/Wonky.Client/HttpRepository/WorkplaceCrmHttpRepository.cs b/Wonky.Client/HttpRepository/WorkplaceRepository.cs similarity index 94% rename from Wonky.Client/HttpRepository/WorkplaceCrmHttpRepository.cs rename to Wonky.Client/HttpRepository/WorkplaceRepository.cs index 06d42e08..5bd5b54d 100644 --- a/Wonky.Client/HttpRepository/WorkplaceCrmHttpRepository.cs +++ b/Wonky.Client/HttpRepository/WorkplaceRepository.cs @@ -24,7 +24,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.HttpRepository; -public class WorkplaceCrmHttpRepository : IWorkplaceCrmHttpRepository +public class WorkplaceRepository : IWorkplaceRepository { private readonly JsonSerializerOptions? _options = new JsonSerializerOptions { @@ -32,12 +32,12 @@ public class WorkplaceCrmHttpRepository : IWorkplaceCrmHttpRepository }; private readonly NavigationManager _navigation; - private ILogger _logger; + private ILogger _logger; private readonly HttpClient _client; private readonly ApiConfig _api; - public WorkplaceCrmHttpRepository(HttpClient client, - ILogger logger, + public WorkplaceRepository(HttpClient client, + ILogger logger, NavigationManager navigation, IOptions configuration) { diff --git a/Wonky.Client/Pages/ReportListOfficePage.razor b/Wonky.Client/Pages/AdminReportListPage.razor similarity index 88% rename from Wonky.Client/Pages/ReportListOfficePage.razor rename to Wonky.Client/Pages/AdminReportListPage.razor index 17b8a5c5..ae1bda17 100644 --- a/Wonky.Client/Pages/ReportListOfficePage.razor +++ b/Wonky.Client/Pages/AdminReportListPage.razor @@ -24,7 +24,7 @@

Rapport Arkiv - @UserInfo.FirstName @UserInfo.LastName

- + diff --git a/Wonky.Client/Pages/ReportListOfficePage.razor.cs b/Wonky.Client/Pages/AdminReportListPage.razor.cs similarity index 84% rename from Wonky.Client/Pages/ReportListOfficePage.razor.cs rename to Wonky.Client/Pages/AdminReportListPage.razor.cs index ac62b848..fe7abf87 100644 --- a/Wonky.Client/Pages/ReportListOfficePage.razor.cs +++ b/Wonky.Client/Pages/AdminReportListPage.razor.cs @@ -23,13 +23,13 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class ReportListOfficePage : IDisposable +public partial class AdminReportListPage : IDisposable { [Parameter] public string UserId { get; set; } = ""; [Parameter] public string CountryCode { get; set; } = ""; - [Inject] public IReportHttpRepository ReportRepo { get; set; } + [Inject] public ICountryReportRepository ReportRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public IUserHttpRepository UserRepo { get; set; } + [Inject] public ISystemUserRepository SystemUserRepo { get; set; } [Inject] public NavigationManager Navigator { get; set; } private List ActivityReports { get; set; } = new(); private bool Working { get; set; } = true; @@ -43,15 +43,22 @@ public partial class ReportListOfficePage : IDisposable Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); - UserInfo = await UserRepo.GetAdvisorInfo(UserId); + UserInfo = await SystemUserRepo.GetAdvisorInfo(UserId); + while (string.IsNullOrWhiteSpace(UserInfo.UserId)) + { + await Task.Delay(500); + } var reports = await ReportRepo.GetCountryReports(UserId); if (reports.Any()) ActivityReports = reports.OrderByDescending(x => x.ReportDate).ToList(); - - Working = false; } + protected override void OnInitialized() + { + Working = false; + } + /// /// Callback to shoe the report /// diff --git a/Wonky.Client/Pages/ReportViewOfficePage.razor b/Wonky.Client/Pages/AdminReportViewPage.razor similarity index 100% rename from Wonky.Client/Pages/ReportViewOfficePage.razor rename to Wonky.Client/Pages/AdminReportViewPage.razor diff --git a/Wonky.Client/Pages/ReportViewOfficePage.razor.cs b/Wonky.Client/Pages/AdminReportViewPage.razor.cs similarity index 96% rename from Wonky.Client/Pages/ReportViewOfficePage.razor.cs rename to Wonky.Client/Pages/AdminReportViewPage.razor.cs index fb76eb78..4c429c78 100644 --- a/Wonky.Client/Pages/ReportViewOfficePage.razor.cs +++ b/Wonky.Client/Pages/AdminReportViewPage.razor.cs @@ -23,7 +23,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class ReportViewOfficePage : IDisposable +public partial class AdminReportViewPage : IDisposable { /// /// Country code from url parameter @@ -53,7 +53,7 @@ public partial class ReportViewOfficePage : IDisposable /// Injected administrative report http repo /// [Inject] - public IReportHttpRepository ReportRepo { get; set; } + public ICountryReportRepository ReportRepo { get; set; } /// /// Navigation Manager @@ -65,7 +65,7 @@ public partial class ReportViewOfficePage : IDisposable /// Logger service /// [Inject] - public ILogger Logger { get; set; } + public ILogger Logger { get; set; } /// /// Storage service diff --git a/Wonky.Client/Pages/CountrySalesRepListPage.razor b/Wonky.Client/Pages/AdminSalesRepListPage.razor similarity index 96% rename from Wonky.Client/Pages/CountrySalesRepListPage.razor rename to Wonky.Client/Pages/AdminSalesRepListPage.razor index da79c783..cc9ae0f3 100644 --- a/Wonky.Client/Pages/CountrySalesRepListPage.razor +++ b/Wonky.Client/Pages/AdminSalesRepListPage.razor @@ -17,7 +17,7 @@ @using Wonky.Client.Components @using Microsoft.AspNetCore.Authorization -@attribute [Authorize(Roles = "Admin,Office")] +@attribute [Authorize(Roles = "Admin")] @page "/office/users/advisors/{CountryCode}"
diff --git a/Wonky.Client/Pages/CountrySalesRepListPage.razor.cs b/Wonky.Client/Pages/AdminSalesRepListPage.razor.cs similarity index 82% rename from Wonky.Client/Pages/CountrySalesRepListPage.razor.cs rename to Wonky.Client/Pages/AdminSalesRepListPage.razor.cs index adb1d571..7a56e6ec 100644 --- a/Wonky.Client/Pages/CountrySalesRepListPage.razor.cs +++ b/Wonky.Client/Pages/AdminSalesRepListPage.razor.cs @@ -5,10 +5,10 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class CountrySalesRepListPage +public partial class AdminSalesRepListPage { [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public IUserHttpRepository UserRepo { get; set; } + [Inject] public ISystemUserRepository SystemUserRepo { get; set; } [Parameter] public string CountryCode { get; set; } = ""; private List SalesReps { get; set; } = new(); private bool Working { get; set; } = true; @@ -17,7 +17,7 @@ public partial class CountrySalesRepListPage { Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); - var AdvisorList = await UserRepo.GetAdvisors(); + var AdvisorList = await SystemUserRepo.GetAdvisors(); SalesReps = AdvisorList .Where(x => x.CountryCode.ToLower() == CountryCode && Convert.ToInt32(x.SalesRep) < 100) .ToList(); diff --git a/Wonky.Client/Pages/CatalogPage.razor b/Wonky.Client/Pages/AdvisorCatalogPage.razor similarity index 94% rename from Wonky.Client/Pages/CatalogPage.razor rename to Wonky.Client/Pages/AdvisorCatalogPage.razor index 6f941ed9..6bd639cc 100644 --- a/Wonky.Client/Pages/CatalogPage.razor +++ b/Wonky.Client/Pages/AdvisorCatalogPage.razor @@ -15,11 +15,10 @@ // *@ -@page "/price-catalog" @using Wonky.Client.Components @using Microsoft.AspNetCore.Authorization - -@attribute [Authorize(Roles = "Advisor,Admin,Office")] +@attribute [Authorize(Roles = "Advisor")] +@page "/price-catalog"
@@ -46,7 +45,7 @@
- + @if (Working) { diff --git a/Wonky.Client/Pages/CatalogPage.razor.cs b/Wonky.Client/Pages/AdvisorCatalogPage.razor.cs similarity index 78% rename from Wonky.Client/Pages/CatalogPage.razor.cs rename to Wonky.Client/Pages/AdvisorCatalogPage.razor.cs index 6694e238..8361f462 100644 --- a/Wonky.Client/Pages/CatalogPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCatalogPage.razor.cs @@ -29,15 +29,15 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class CatalogPage : IDisposable +public partial class AdvisorCatalogPage : IDisposable { [Inject] public ILocalStorageService Storage { get; set; } - [Inject] public ICatalogCrmHttpRepository ItemRepo { get; set; } + [Inject] public IAdvisorCatalogRepository ItemRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public UserProfileService ProfileService { get; set; } private List Items { get; set; } = new(); private MetaData MetaInfo { get; set; } = new(); - private CatalogPagingParams PageParams = new(); + private CatalogPaging _page = new(); private UserPref Prefs = new(); private UserInfoView UserInfo { get; set; } = new(); private bool Working { get; set; } = true; @@ -47,11 +47,11 @@ public partial class CatalogPage : IDisposable Prefs = await ProfileService.GetPreferences(); UserInfo = await Storage.GetItemAsync("_xu"); - PageParams.CountryCode = UserInfo.CountryCode; + _page.CountryCode = UserInfo.CountryCode; - PageParams.OrderBy = Prefs.ItemSort; - PageParams.SearchColumn = Prefs.ItemSearch; - PageParams.PageSize = Convert.ToInt32(Prefs.PageSize); + _page.OrderBy = Prefs.ItemSort; + _page.SearchColumn = Prefs.ItemSearch; + _page.PageSize = Convert.ToInt32(Prefs.PageSize); Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); @@ -62,53 +62,53 @@ public partial class CatalogPage : IDisposable private async Task SetSearchPhrase(string searchTerm) { Items = new List(); - PageParams.PageNumber = 1; - PageParams.SearchTerm = searchTerm; + _page.PageNumber = 1; + _page.SearchTerm = searchTerm; await FetchSalesItems(); } private async Task SetPageSize(string pageSize) { Items = new List(); - PageParams.PageSize = Convert.ToInt32(pageSize); - PageParams.PageNumber = 1; + _page.PageSize = Convert.ToInt32(pageSize); + _page.PageNumber = 1; await FetchSalesItems(); } private async Task SetSearchCol(string columnName) { Items = new List(); - PageParams.PageNumber = 1; - PageParams.SearchColumn = columnName; + _page.PageNumber = 1; + _page.SearchColumn = columnName; await FetchSalesItems(); } private async Task SetSortCol(string orderBy) { Items = new List(); - PageParams.OrderBy = orderBy; + _page.OrderBy = orderBy; await FetchSalesItems(); } private async Task SetSelectedPage(int page) { Items = new List(); - PageParams.PageNumber = page; + _page.PageNumber = page; await FetchSalesItems(); } private async Task SetGroupCol(string groupFilter) { Items = new List(); - PageParams.PageNumber = 1; - PageParams.SelectGroup = groupFilter; + _page.PageNumber = 1; + _page.SelectGroup = groupFilter; await FetchSalesItems(); } private async Task FetchSalesItems() { Working = true; - var pagingResponse = await ItemRepo.GetSalesItemsPaged(PageParams); + var pagingResponse = await ItemRepo.GetSalesItemsPaged(_page); Working = false; Items = pagingResponse.Items!; MetaInfo = pagingResponse.MetaData; diff --git a/Wonky.Client/Pages/ActivityCreateCrmPage.razor b/Wonky.Client/Pages/AdvisorCreateActivityPage.razor similarity index 98% rename from Wonky.Client/Pages/ActivityCreateCrmPage.razor rename to Wonky.Client/Pages/AdvisorCreateActivityPage.razor index 7c5d3665..3bf9a1ac 100644 --- a/Wonky.Client/Pages/ActivityCreateCrmPage.razor +++ b/Wonky.Client/Pages/AdvisorCreateActivityPage.razor @@ -15,10 +15,10 @@ // *@ -@page "/companies/{CompanyId}/activities/new" @using Microsoft.AspNetCore.Authorization -@attribute [Authorize(Roles = "Advisor")] @using Wonky.Client.Components +@attribute [Authorize(Roles = "Advisor")] +@page "/companies/{CompanyId}/activities/new"
@@ -40,7 +40,12 @@ @if (ReportClosed) { -
Der kan ikke oprettes besøg når der findes rapport for @SelectedDate.ToShortDateString()
+
+
+

Der kan ikke oprettes besøg når der findes rapport for @SelectedDate.ToShortDateString()

+
+
+ } else { diff --git a/Wonky.Client/Pages/ActivityCreateCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorCreateActivityPage.razor.cs similarity index 95% rename from Wonky.Client/Pages/ActivityCreateCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorCreateActivityPage.razor.cs index 4b280514..c2fb4325 100644 --- a/Wonky.Client/Pages/ActivityCreateCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCreateActivityPage.razor.cs @@ -31,23 +31,23 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class ActivityCreateCrmPage : IDisposable +public partial class AdvisorCreateActivityPage : IDisposable { // Parameters [CascadingParameter] DraftStateProvider DraftProvider { get; set; } [Parameter] public string CompanyId { get; set; } // Services - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public UserProfileService Profiles { get; set; } [Inject] public IToastService Toast { get; set; } [Inject] public NavigationManager Navigator { get; set; } [Inject] public ILocalStorageService Storage { get; set; } - [Inject] public ICatalogCrmHttpRepository CatalogCrm { get; set; } - [Inject] public ICustomerCrmHttpRepository CompanyRepo { get; set; } - [Inject] public IActivityCrmHttpRepository ActivityRepo { get; set; } - [Inject] public IReportHttpRepository ReportRepo { get; set; } - [Inject] public ICustomerHistoryCrmHttpRepository HistoryRepo { get; set; } + [Inject] public IAdvisorCatalogRepository AdvisorCatalogCrm { get; set; } + [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } + [Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; } + [Inject] public IAdvisorReportRepository AdvisorReportRepo { get; set; } + [Inject] public ICustomerHistoryRepository HistoryRepo { get; set; } // variables private readonly JsonSerializerOptions? _options = new() {PropertyNameCaseInsensitive = true}; private SalesItemView SelectedItem { get; set; } = new(); @@ -136,7 +136,7 @@ public partial class ActivityCreateCrmPage : IDisposable // Initialize date variable SelectedDate = string.IsNullOrWhiteSpace(UserPrefs.WorkDate) ? DateTime.Now : DateTime.Parse(UserPrefs.WorkDate); // raise flag if report is closed - ReportClosed = await ReportRepo.ReportExist($"{SelectedDate:yyyy-MM-dd}"); + ReportClosed = await AdvisorReportRepo.ReportExist($"{SelectedDate:yyyy-MM-dd}"); // Ask for confirmation of date Logger.LogDebug("Preferences.DateConfirmed => {}", UserPrefs.DateConfirmed); if (!UserPrefs.DateConfirmed) @@ -236,7 +236,7 @@ public partial class ActivityCreateCrmPage : IDisposable /// private async Task WorkDateComponentCallback(string workDate) { - ReportClosed = await ReportRepo.ReportExist(workDate); + ReportClosed = await AdvisorReportRepo.ReportExist(workDate); SelectedDate = DateTime.Parse(workDate); Activity.ActivityDate = workDate; } @@ -258,7 +258,7 @@ public partial class ActivityCreateCrmPage : IDisposable // get selected item if (string.IsNullOrWhiteSpace(sku.ItemId)) return; - SelectedItem = await CatalogCrm.GetSalesItemId(sku.ItemId); + SelectedItem = await AdvisorCatalogCrm.GetSalesItemId(sku.ItemId); ShowItem = true; Price = sku.Rate; Quantity = sku.Quantity; @@ -361,7 +361,7 @@ public partial class ActivityCreateCrmPage : IDisposable // debug logging Logger.LogDebug("CrmNewActivityPage => \n {}", JsonSerializer.Serialize(Activity)); // post to api - var result = await ActivityRepo.CreateActivity(Activity); + var result = await AdvisorActivityRepo.CreateActivity(Activity); // debug logging Logger.LogDebug("ApiResponseView => \n {}", JsonSerializer.Serialize(result)); // show result message diff --git a/Wonky.Client/Pages/CustomerCreateCrmPage.razor b/Wonky.Client/Pages/AdvisorCreateCustomerPage.razor similarity index 100% rename from Wonky.Client/Pages/CustomerCreateCrmPage.razor rename to Wonky.Client/Pages/AdvisorCreateCustomerPage.razor diff --git a/Wonky.Client/Pages/CustomerCreateCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorCreateCustomerPage.razor.cs similarity index 97% rename from Wonky.Client/Pages/CustomerCreateCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorCreateCustomerPage.razor.cs index cf9b3553..de11e42d 100644 --- a/Wonky.Client/Pages/CustomerCreateCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCreateCustomerPage.razor.cs @@ -37,13 +37,13 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages { - public partial class CustomerCreateCrmPage : IDisposable + public partial class AdvisorCreateCustomerPage : IDisposable { [Inject] public IToastService Toaster { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public ILocalStorageService Storage { get; set; } [Inject] public NavigationManager Navigator { get; set; } - [Inject] public ICustomerCrmHttpRepository CompanyRepo { get; set; } + [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public VatInfoLookupService VatService { get; set; } private EditContext CompanyContext { get; set; } diff --git a/Wonky.Client/Pages/ActivityListCustomerPage.razor b/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor similarity index 100% rename from Wonky.Client/Pages/ActivityListCustomerPage.razor rename to Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor index b103eb59..582f0365 100644 --- a/Wonky.Client/Pages/ActivityListCustomerPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor @@ -17,8 +17,8 @@ @using Wonky.Client.Components @using Microsoft.AspNetCore.Authorization -@page "/companies/{CompanyId}/activities" @attribute [Authorize(Roles = "Advisor")] +@page "/companies/{CompanyId}/activities" @if (!string.IsNullOrWhiteSpace(Company.Name)) { diff --git a/Wonky.Client/Pages/ActivityListCustomerPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor.cs similarity index 86% rename from Wonky.Client/Pages/ActivityListCustomerPage.razor.cs rename to Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor.cs index c848db43..b0571288 100644 --- a/Wonky.Client/Pages/ActivityListCustomerPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor.cs @@ -25,12 +25,12 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class ActivityListCustomerPage : IDisposable +public partial class AdvisorCustomerActivityListPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; [Inject] public HttpInterceptorService _interceptor { get; set; } - [Inject] public IActivityCrmHttpRepository ActivityRepo { get; set; } - [Inject] public ICustomerCrmHttpRepository CompanyRepo { get; set; } + [Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; } + [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } private List Activities { get; set; } = new(); private CompanyDto Company { get; set; } = new(); private bool Working { get; set; } = true; @@ -48,7 +48,7 @@ public partial class ActivityListCustomerPage : IDisposable private async Task GetActivities() { Working = true; - Activities = await ActivityRepo.GetCustomerActivities(CompanyId); + Activities = await AdvisorActivityRepo.GetCustomerActivities(CompanyId); if(Activities.Any()) Activities = Activities.OrderByDescending(x => x.OrderDate).ToList(); Working = false; diff --git a/Wonky.Client/Pages/CustomerProductListCrmPage.razor b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor similarity index 85% rename from Wonky.Client/Pages/CustomerProductListCrmPage.razor rename to Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor index f4899d73..0af0d3bf 100644 --- a/Wonky.Client/Pages/CustomerProductListCrmPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor @@ -19,6 +19,7 @@ @using Microsoft.AspNetCore.Authorization @page "/companies/{CompanyId}/h/i" @attribute [Authorize(Roles = "Advisor")] +

@Company.Name

@@ -30,8 +31,10 @@ Nyt Besøg
- + + + @if (Working) { diff --git a/Wonky.Client/Pages/CustomerProductListCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor.cs similarity index 73% rename from Wonky.Client/Pages/CustomerProductListCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor.cs index af1042cf..9dc2a3ed 100644 --- a/Wonky.Client/Pages/CustomerProductListCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor.cs @@ -22,25 +22,38 @@ using Microsoft.AspNetCore.Components; using Wonky.Client.HttpInterceptors; using Wonky.Client.HttpInterfaces; using Wonky.Client.HttpRepository; +using Wonky.Client.Models; +using Wonky.Client.Shared; using Wonky.Entity.DTO; using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class CustomerProductListCrmPage : IDisposable +public partial class AdvisorCustomerInventoryListPage : IDisposable { - [Parameter] public string CompanyId { get; set; } = ""; - [Inject] public ICustomerHistoryCrmHttpRepository HistoryRepo { get; set; } - [Inject] public ICustomerCrmHttpRepository CompanyRepo { get; set; } + [Inject] public ICustomerHistoryRepository HistoryRepo { get; set; } + [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public IToastService Toaster { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public ILocalStorageService Storage { get; set; } + [Inject] public IAdvisorCatalogRepository AdvisorCatalogRepo { get; set; } + + [CascadingParameter] public DraftStateProvider DraftStateProvider { get; set; } = new(); + [Parameter] public string CompanyId { get; set; } = ""; + private JsonSerializerOptions _options = new JsonSerializerOptions(JsonSerializerDefaults.Web); private CompanyDto Company { get; set; } = new(); private List Inventory { get; set; } = new(); private bool Working { get; set; } = true; + private SalesItemView SalesItem { get; set; } = new(); + private string Price { get; set; } = "0"; + private string Quantity { get; set; } = "1"; + private string Sku { get; set; } = ""; + private InventoryReorderModal ReorderModal { get; set; } = new(); + private SelectedSku Item { get; set; } = new(); + protected override async Task OnInitializedAsync() { Interceptor.RegisterEvent(); @@ -50,7 +63,7 @@ public partial class CustomerProductListCrmPage : IDisposable while (string.IsNullOrWhiteSpace(Company.HistorySync)) { - await Task.Delay(1000); + await Task.Delay(500); } var pDate = await Storage.GetItemAsStringAsync($"{Company.CompanyId}-pDate"); @@ -68,6 +81,22 @@ public partial class CustomerProductListCrmPage : IDisposable Logger.LogDebug("CustomerProductListCrmPage => Inventory <= {}", JsonSerializer.Serialize(Inventory, _options)); Working = false; } + + private async Task OnReorderCallback(string sku) + { + // fetch item from http repo + SalesItem = await AdvisorCatalogRepo.GetSalesItemSku(Company.CountryCode.ToLower(), sku); + ReorderModal.Show(); + } + + private async Task OnSelectedItem(DraftItem draftItem) + { + // add item to order draft + DraftStateProvider.Draft.DraftType = "order"; + DraftStateProvider.Draft.Items.Add(draftItem); + // set item checked + await DraftStateProvider.SaveChangesAsync(); + } private async Task> FetchProductInventory() { diff --git a/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor b/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor new file mode 100644 index 00000000..6f8ef55a --- /dev/null +++ b/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor @@ -0,0 +1,42 @@ +@* +// 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 Wonky.Client.Components +@using Microsoft.AspNetCore.Authorization +@page "/companies/{CompanyId}/invoices" +@attribute [Authorize(Roles = "Advisor")] + +@if (!string.IsNullOrWhiteSpace(Company.Name)) +{ +
+
+

@Company.Name

+
+ +
+ Besøg +
+
+ + +} + +@if (Working) +{ + +} diff --git a/Wonky.Client/Pages/CustomerInvoiceListCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor.cs similarity index 83% rename from Wonky.Client/Pages/CustomerInvoiceListCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor.cs index d3ad746b..fe7da5ad 100644 --- a/Wonky.Client/Pages/CustomerInvoiceListCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerInvoiceListPage.razor.cs @@ -6,23 +6,26 @@ using Blazored.Toast.Services; using Microsoft.AspNetCore.Components; using Wonky.Client.HttpInterceptors; using Wonky.Client.HttpInterfaces; +using Wonky.Client.Shared; using Wonky.Entity.DTO; using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class CustomerInvoiceListCrmPage : IDisposable +public partial class AdvisorCustomerInvoiceListPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; - [Inject] public ICustomerCrmHttpRepository CompanyRepo { get; set; } + [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public ICustomerHistoryCrmHttpRepository HistoryRepo { get; set; } + [Inject] public ICustomerHistoryRepository HistoryRepo { get; set; } [Inject] public IToastService Toaster { get; set; } [Inject] public ILocalStorageService Storage { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } private InvoiceListView CompanyInvoices { get; set; } = new(); private CompanyDto Company { get; set; } = new(); private bool Working { get; set; } = true; + private InvoiceViewModal InvoiceView { get; set; } = new(); + private string InvoiceId { get; set; } = ""; protected override async Task OnInitializedAsync() { @@ -52,6 +55,12 @@ public partial class CustomerInvoiceListCrmPage : IDisposable Working = false; } + private void CallInvoiceModal(string invoiceId) + { + InvoiceId = invoiceId; + InvoiceView.Show(); + } + private async Task FetchCompanyInvoices() { var storage = await Storage.GetItemAsStringAsync($"{Company.CompanyId}-invoices"); diff --git a/Wonky.Client/Pages/CustomerListCrmPage.razor b/Wonky.Client/Pages/AdvisorCustomerListPage.razor similarity index 99% rename from Wonky.Client/Pages/CustomerListCrmPage.razor rename to Wonky.Client/Pages/AdvisorCustomerListPage.razor index c9144a45..7c8153f0 100644 --- a/Wonky.Client/Pages/CustomerListCrmPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerListPage.razor @@ -15,10 +15,9 @@ // *@ -@page "/companies" @using Wonky.Client.Components @using Microsoft.AspNetCore.Authorization - +@page "/companies" @attribute [Authorize(Roles = "Advisor")]
diff --git a/Wonky.Client/Pages/CustomerListCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerListPage.razor.cs similarity index 97% rename from Wonky.Client/Pages/CustomerListCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorCustomerListPage.razor.cs index 3ec296f0..233d55a1 100644 --- a/Wonky.Client/Pages/CustomerListCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerListPage.razor.cs @@ -28,11 +28,11 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages { - public partial class CustomerListCrmPage : IDisposable + public partial class AdvisorCustomerListPage : IDisposable { [Inject] public ILocalStorageService Storage { get; set; } [Inject] public UserProfileService ProfileService { get; set; } - [Inject] public ICustomerCrmHttpRepository CompanyRepo { get; set; } + [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } private List Companies { get; set; } = new(); diff --git a/Wonky.Client/Pages/OfficeOrderViewPage.razor b/Wonky.Client/Pages/AdvisorCustomerOrderViewPage.razor similarity index 98% rename from Wonky.Client/Pages/OfficeOrderViewPage.razor rename to Wonky.Client/Pages/AdvisorCustomerOrderViewPage.razor index c19d9f44..3a96a0d4 100644 --- a/Wonky.Client/Pages/OfficeOrderViewPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerOrderViewPage.razor @@ -17,7 +17,7 @@ @using Microsoft.AspNetCore.Authorization @using Wonky.Client.Components -@attribute [Authorize(Roles = "Admin,Advisor,Office,Warehouse")] +@attribute [Authorize(Roles = "Admin,Advisor,Warehouse")] @page "/office/customers/{CompanyId}/orders/{OrderId}" diff --git a/Wonky.Client/Pages/OfficeOrderViewPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerOrderViewPage.razor.cs similarity index 88% rename from Wonky.Client/Pages/OfficeOrderViewPage.razor.cs rename to Wonky.Client/Pages/AdvisorCustomerOrderViewPage.razor.cs index 8dd6173a..f8ee5031 100644 --- a/Wonky.Client/Pages/OfficeOrderViewPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerOrderViewPage.razor.cs @@ -30,16 +30,16 @@ using Wonky.Client.Services; namespace Wonky.Client.Pages; -public partial class OfficeOrderViewPage : IDisposable +public partial class AdvisorCustomerOrderViewPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string OrderId { get; set; } = ""; [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public IActivityCrmHttpRepository ActivityRepo { get; set; } - [Inject] public ISendMailService MailService { get; set; } + [Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; } + [Inject] public ISystemSendMailService MailService { get; set; } [Inject] public ILocalStorageService Storage { get; set; } - [Inject] public IUserHttpRepository UserRepo { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ISystemUserRepository SystemUserRepo { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public IToastService Toast { get; set; } private ReportItemView _reportItem { get; set; } = new(); private bool _isNotified { get; set; } @@ -55,7 +55,7 @@ public partial class OfficeOrderViewPage : IDisposable Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); // fetch order from backend - _reportItem = await ActivityRepo.GetReportItem(OrderId); + _reportItem = await AdvisorActivityRepo.GetReportItem(OrderId); Logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(_reportItem, _options)); Working = false; } @@ -71,12 +71,12 @@ public partial class OfficeOrderViewPage : IDisposable Working = true; Logger.LogDebug("GetExpressState => {}", JsonSerializer.Serialize(_reportItem, _options)); // send request to backend - var responseView = await ActivityRepo.GetExpressState(_reportItem.ActivityId); + var responseView = await AdvisorActivityRepo.GetExpressState(_reportItem.ActivityId); Logger.LogDebug("SetExpressState => responseView <= {} ", JsonSerializer.Serialize(responseView)); // get user info from storage var user = await Storage.GetItemAsync("_xu"); // fetch sales rep from response - var salesRep = await UserRepo.GetAdvisorInfo(responseView.Id); + var salesRep = await SystemUserRepo.GetAdvisorInfo(responseView.Id); Logger.LogDebug("SetExpressState => salesRep => {}", JsonSerializer.Serialize(salesRep)); // create email notification body var body = new StringBuilder(); diff --git a/Wonky.Client/Pages/OfficeOrderViewPage.razor.css b/Wonky.Client/Pages/AdvisorCustomerOrderViewPage.razor.css similarity index 100% rename from Wonky.Client/Pages/OfficeOrderViewPage.razor.css rename to Wonky.Client/Pages/AdvisorCustomerOrderViewPage.razor.css diff --git a/Wonky.Client/Pages/CustomerViewCrmPage.razor b/Wonky.Client/Pages/AdvisorCustomerViewPage.razor similarity index 99% rename from Wonky.Client/Pages/CustomerViewCrmPage.razor rename to Wonky.Client/Pages/AdvisorCustomerViewPage.razor index 6dc7870f..fb9a987a 100644 --- a/Wonky.Client/Pages/CustomerViewCrmPage.razor +++ b/Wonky.Client/Pages/AdvisorCustomerViewPage.razor @@ -21,6 +21,7 @@ @attribute [Authorize(Roles = "Advisor")] @page "/companies/{CompanyId}" + @if (!string.IsNullOrWhiteSpace(Company.Account)) { @if (!string.IsNullOrWhiteSpace(Company.Blocked)) diff --git a/Wonky.Client/Pages/CustomerViewCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerViewPage.razor.cs similarity index 95% rename from Wonky.Client/Pages/CustomerViewCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorCustomerViewPage.razor.cs index 7b2b1a6a..b1376910 100644 --- a/Wonky.Client/Pages/CustomerViewCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorCustomerViewPage.razor.cs @@ -31,15 +31,15 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class CustomerViewCrmPage : IDisposable +public partial class AdvisorCustomerViewPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; [Inject] public IToastService Toaster { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public NavigationManager Navigator { get; set; } - [Inject] public ICustomerCrmHttpRepository CompanyRepo { get; set; } - [Inject] public ICustomerHistoryCrmHttpRepository HistoryRepo { get; set; } - [Inject] public IContactCrmHttpRepository ContactRepo { get; set; } + [Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; } + [Inject] public ICustomerHistoryRepository HistoryRepo { get; set; } + [Inject] public IAdvisorContactRepository AdvisorContactRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public VatInfoLookupService VatService { get; set; } [Inject] public ILocalStorageService Storage { get; set; } @@ -150,7 +150,7 @@ public partial class CustomerViewCrmPage : IDisposable private async Task FetchContacts(string companyId) { // load contacts - Contacts = await ContactRepo.GetContacts(companyId); + Contacts = await AdvisorContactRepo.GetContacts(companyId); if(Contacts.Any() && Contacts.Count > 1) Contacts = Contacts.OrderBy(x => x.FirstName).ToList(); } @@ -216,14 +216,14 @@ public partial class CustomerViewCrmPage : IDisposable // new contact created Logger.LogDebug("create => {}", jsonContact); // send post request to backend - await ContactRepo.CreateContact(contact); + await AdvisorContactRepo.CreateContact(contact); } else { // contact modified Logger.LogDebug("update => {}", jsonContact); // send put request to backend - await ContactRepo.UpdateContact(contact); + await AdvisorContactRepo.UpdateContact(contact); } // reset selected contact SelectedContact = new ContactDto(); @@ -241,7 +241,7 @@ public partial class CustomerViewCrmPage : IDisposable Working = true; Logger.LogDebug("delete {}", contactId); // send delete request to backend - await ContactRepo.DeleteContact(CompanyId, contactId); + await AdvisorContactRepo.DeleteContact(CompanyId, contactId); // reset selected contact SelectedContact = new ContactDto(); // reload contacts from backend diff --git a/Wonky.Client/Pages/QuoteListCrmPage.razor b/Wonky.Client/Pages/AdvisorQuoteListPage.razor similarity index 100% rename from Wonky.Client/Pages/QuoteListCrmPage.razor rename to Wonky.Client/Pages/AdvisorQuoteListPage.razor diff --git a/Wonky.Client/Pages/QuoteListCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorQuoteListPage.razor.cs similarity index 87% rename from Wonky.Client/Pages/QuoteListCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorQuoteListPage.razor.cs index 0a52cbae..4340b4de 100644 --- a/Wonky.Client/Pages/QuoteListCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorQuoteListPage.razor.cs @@ -13,11 +13,11 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class QuoteListCrmPage : IDisposable +public partial class AdvisorQuoteListPage : IDisposable { - [Inject] public IActivityCrmHttpRepository ActivityRepo { get; set; } + [Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public IToastService Toaster { get; set; } [Inject] public ILocalStorageService Storage { get; set; } private List Quotes { get; set; } = new(); @@ -29,7 +29,7 @@ public partial class QuoteListCrmPage : IDisposable { Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); - Quotes = await ActivityRepo.GetQuotes(); + Quotes = await AdvisorActivityRepo.GetQuotes(); await Storage.SetItemAsync("quotes", Quotes.OrderBy(x => x.Company.Name)); if (Quotes.Any()) await FilterQuotes(QFilter); @@ -57,12 +57,12 @@ public partial class QuoteListCrmPage : IDisposable if (args.Status == QStatus.Win) quote.OrderDate = $"{DateTime.Now:yyyy-MM-dd}"; quote.QuoteStatusEnum = Utils.EnumToString(args.Status); - var response = await ActivityRepo.UpdateQuoteStatus(quote); + var response = await AdvisorActivityRepo.UpdateQuoteStatus(quote); Toaster.ShowInfo($"{response.Message}", $"HTTP STATUS {response.Code}"); Quotes = new List(); await Storage.RemoveItemAsync("quotes"); - Quotes = await ActivityRepo.GetQuotes(); + Quotes = await AdvisorActivityRepo.GetQuotes(); while (!Quotes.Any()) await Task.Delay(1000); diff --git a/Wonky.Client/Pages/ReportCreateCrmPage.razor b/Wonky.Client/Pages/AdvisorReportCreatePage.razor similarity index 100% rename from Wonky.Client/Pages/ReportCreateCrmPage.razor rename to Wonky.Client/Pages/AdvisorReportCreatePage.razor diff --git a/Wonky.Client/Pages/ReportCreateCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorReportCreatePage.razor.cs similarity index 95% rename from Wonky.Client/Pages/ReportCreateCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorReportCreatePage.razor.cs index 384c3ea4..f0849828 100644 --- a/Wonky.Client/Pages/ReportCreateCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorReportCreatePage.razor.cs @@ -27,14 +27,14 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class ReportCreateCrmPage : IDisposable +public partial class AdvisorReportCreatePage : IDisposable { [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public UserProfileService ProfileService { get; set; } - [Inject] public IActivityCrmHttpRepository ActivityRepo { get; set; } - [Inject] public IReportHttpRepository ReportRepo { get; set; } + [Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; } + [Inject] public IAdvisorReportRepository AdvisorReportRepo { get; set; } [Inject] public NavigationManager Navigator { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public IToastService Toaster { get; set; } private EditContext ReportContext { get; set; } private ReportDto Report { get; set; } = new(); @@ -130,7 +130,7 @@ public partial class ReportCreateCrmPage : IDisposable return; Working = true; - var result = await ReportRepo.CreateReport($"{_workDate:yyyy-MM-dd}", Report); + var result = await AdvisorReportRepo.CreateReport($"{_workDate:yyyy-MM-dd}", Report); Toaster.ShowInfo($"{result.Message}", $"HTTP Status"); // reset km and date confirmation @@ -250,7 +250,7 @@ public partial class ReportCreateCrmPage : IDisposable InitialValues = new ReportFiguresDto(); Activities = new List(); - var data = await ReportRepo.InitializeReportData($"{_workDate:yyyy-MM-dd}"); + var data = await AdvisorReportRepo.InitializeReportData($"{_workDate:yyyy-MM-dd}"); if(data.ReportClosed) Navigator.NavigateTo($"/sales-reports/view/{_workDate:yyyy-MM-dd}"); diff --git a/Wonky.Client/Pages/ReportListCrmPage.razor b/Wonky.Client/Pages/AdvisorReportListPage.razor similarity index 88% rename from Wonky.Client/Pages/ReportListCrmPage.razor rename to Wonky.Client/Pages/AdvisorReportListPage.razor index 55b709b5..4dcf398a 100644 --- a/Wonky.Client/Pages/ReportListCrmPage.razor +++ b/Wonky.Client/Pages/AdvisorReportListPage.razor @@ -21,10 +21,10 @@ @page "/sales-reports"
-
+

Rapport Arkiv

- +
diff --git a/Wonky.Client/Pages/ReportListCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorReportListPage.razor.cs similarity index 87% rename from Wonky.Client/Pages/ReportListCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorReportListPage.razor.cs index c2ffe20b..40e882c6 100644 --- a/Wonky.Client/Pages/ReportListCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorReportListPage.razor.cs @@ -22,12 +22,12 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class ReportListCrmPage : IDisposable +public partial class AdvisorReportListPage : IDisposable { - [Inject] public IReportHttpRepository ReportRepo { get; set; } + [Inject] public IAdvisorReportRepository AdvisorReportRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } private List ReportList { get; set; } = new(); private bool Working { get; set; } = true; @@ -37,7 +37,7 @@ public partial class ReportListCrmPage : IDisposable Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); - ReportList = await ReportRepo.GetReports(); + ReportList = await AdvisorReportRepo.GetReports(); if (ReportList.Any()) ReportList = ReportList.OrderByDescending(x => x.ReportDate).ToList(); diff --git a/Wonky.Client/Pages/ReportViewCrmPage.razor b/Wonky.Client/Pages/AdvisorReportViewPage.razor similarity index 100% rename from Wonky.Client/Pages/ReportViewCrmPage.razor rename to Wonky.Client/Pages/AdvisorReportViewPage.razor diff --git a/Wonky.Client/Pages/ReportViewCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorReportViewPage.razor.cs similarity index 94% rename from Wonky.Client/Pages/ReportViewCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorReportViewPage.razor.cs index 647d2979..b1e91957 100644 --- a/Wonky.Client/Pages/ReportViewCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorReportViewPage.razor.cs @@ -23,14 +23,14 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class ReportViewCrmPage : IDisposable +public partial class AdvisorReportViewPage : IDisposable { [Parameter] public string ReportDate { get; set; } - [Inject] public IReportHttpRepository ReportRepo { get; set; } + [Inject] public IAdvisorReportRepository AdvisorReportRepo { get; set; } [Inject] public NavigationManager Navigator { get; set; } [Inject] public ILocalStorageService Storage { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public UserProfileService ProfileService { get; set; } private UserPref Prefs { get; set; } = new(); @@ -101,7 +101,7 @@ public partial class ReportViewCrmPage : IDisposable Working = true; // fetch report - Report = await ReportRepo.GetReport(workDate); + Report = await AdvisorReportRepo.GetReport(workDate); // extract activities Activities = Report.ReportItems.Where(x => x.Lines.Any()).ToList(); diff --git a/Wonky.Client/Pages/TaskItemListCrmPage.razor b/Wonky.Client/Pages/AdvisorTaskItemListCrmPage.razor similarity index 100% rename from Wonky.Client/Pages/TaskItemListCrmPage.razor rename to Wonky.Client/Pages/AdvisorTaskItemListCrmPage.razor diff --git a/Wonky.Client/Pages/TaskItemListCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorTaskItemListCrmPage.razor.cs similarity index 89% rename from Wonky.Client/Pages/TaskItemListCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorTaskItemListCrmPage.razor.cs index 72de9476..be336254 100644 --- a/Wonky.Client/Pages/TaskItemListCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorTaskItemListCrmPage.razor.cs @@ -25,13 +25,13 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class TaskItemListCrmPage : IDisposable +public partial class AdvisorTaskItemListCrmPage : IDisposable { [Inject] public UserProfileService UserProfileService { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } - [Inject] public ITaskItemCrmHttpRepository TaskRepo { get; set; } + [Inject] public IAdvisorTaskItemRepository AdvisorTaskRepo { get; set; } [Inject] public IToastService Toaster { get; set; } private UserPref Prefs { get; set; } = new(); private string WorkDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; @@ -55,7 +55,7 @@ public partial class TaskItemListCrmPage : IDisposable { Working = true; Toaster.ShowInfo("Vent nogle sekunder for data"); - TaskItems = await TaskRepo.GetTaskList(workDate); + TaskItems = await AdvisorTaskRepo.GetTaskList(workDate); Toaster.ClearAll(); Working = false; diff --git a/Wonky.Client/Pages/TaskItemViewCrmPage.razor b/Wonky.Client/Pages/AdvisorTaskItemViewCrmPage.razor similarity index 100% rename from Wonky.Client/Pages/TaskItemViewCrmPage.razor rename to Wonky.Client/Pages/AdvisorTaskItemViewCrmPage.razor diff --git a/Wonky.Client/Pages/TaskItemViewCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorTaskItemViewCrmPage.razor.cs similarity index 89% rename from Wonky.Client/Pages/TaskItemViewCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorTaskItemViewCrmPage.razor.cs index a8800e6b..e418bb54 100644 --- a/Wonky.Client/Pages/TaskItemViewCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorTaskItemViewCrmPage.razor.cs @@ -24,11 +24,11 @@ using Wonky.Entity.DTO; namespace Wonky.Client.Pages; -public partial class TaskItemViewCrmPage : IDisposable +public partial class AdvisorTaskItemViewCrmPage : IDisposable { [Parameter] public string TaskItemId { get; set; } [Inject] public HttpInterceptorService _interceptor { get; set; } - [Inject] public ITaskItemCrmHttpRepository TaskRepo { get; set; } + [Inject] public IAdvisorTaskItemRepository AdvisorTaskRepo { get; set; } private TaskItemDto _taskItem = new (); private EditContext _editContext { get; set; } private bool Working { get; set; } = true; @@ -39,7 +39,7 @@ public partial class TaskItemViewCrmPage : IDisposable _interceptor.RegisterEvent(); _interceptor.RegisterBeforeSendEvent(); - _taskItem = await TaskRepo.GetTaskItem(TaskItemId); + _taskItem = await AdvisorTaskRepo.GetTaskItem(TaskItemId); Console.WriteLine(JsonSerializer.Serialize(_taskItem)); Working = false; } diff --git a/Wonky.Client/Pages/ActivityListTodayCrmPage.razor b/Wonky.Client/Pages/AdvisorTodayActivityListPage.razor similarity index 95% rename from Wonky.Client/Pages/ActivityListTodayCrmPage.razor rename to Wonky.Client/Pages/AdvisorTodayActivityListPage.razor index 68ee182a..c7eb3057 100644 --- a/Wonky.Client/Pages/ActivityListTodayCrmPage.razor +++ b/Wonky.Client/Pages/AdvisorTodayActivityListPage.razor @@ -40,7 +40,7 @@
@if (ReportStatusView.ReportItems.Any()) { - + } @if (Working) { diff --git a/Wonky.Client/Pages/ActivityListTodayCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorTodayActivityListPage.razor.cs similarity index 81% rename from Wonky.Client/Pages/ActivityListTodayCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorTodayActivityListPage.razor.cs index 0e1dd073..7005d5b8 100644 --- a/Wonky.Client/Pages/ActivityListTodayCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorTodayActivityListPage.razor.cs @@ -25,14 +25,14 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class ActivityListTodayCrmPage : IDisposable +public partial class AdvisorTodayActivityListPage : IDisposable { [Inject] public UserProfileService UserProfileService { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } - [Inject] public IActivityCrmHttpRepository ActivityRepo { get; set; } - [Inject] public IReportHttpRepository ReportRepo { get; set; } + [Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; } + [Inject] public IAdvisorReportRepository AdvisorReportRepo { get; set; } [Inject] public IToastService Toaster { get; set; } private ReportStatusView? ReportStatusView { get; set; } = new(); private UserPref UserPref { get; set; } = new(); @@ -46,7 +46,7 @@ public partial class ActivityListTodayCrmPage : IDisposable Interceptor.RegisterBeforeSendEvent(); UserPref = await UserProfileService.GetPreferences(); SelectedDate = string.IsNullOrWhiteSpace(UserPref.WorkDate) ? DateTime.Now : DateTime.Parse(UserPref.WorkDate); - ReportExist = await ReportRepo.ReportExist($"{SelectedDate:yyyy-MM-dd}"); + ReportExist = await AdvisorReportRepo.ReportExist($"{SelectedDate:yyyy-MM-dd}"); await GetActivities($"{SelectedDate:yyyy-MM-dd}"); Working = false; } @@ -57,8 +57,8 @@ public partial class ActivityListTodayCrmPage : IDisposable Toaster.ShowInfo("Vent nogle sekunder for data", "HENTER DATA"); SelectedDate = DateTime.Parse(workDate); ReportStatusView = new ReportStatusView(); - ReportExist = await ReportRepo.ReportExist($"{SelectedDate:yyyy-MM-dd}"); - ReportStatusView = await ActivityRepo.GetActivities($"{SelectedDate:yyyy-MM-dd}"); + ReportExist = await AdvisorReportRepo.ReportExist($"{SelectedDate:yyyy-MM-dd}"); + ReportStatusView = await AdvisorActivityRepo.GetActivities($"{SelectedDate:yyyy-MM-dd}"); Logger.LogDebug("Activities => {}", JsonSerializer.Serialize(ReportStatusView)); Working = false; Toaster.ClearAll(); diff --git a/Wonky.Client/Pages/ActivityViewCrmPage.razor b/Wonky.Client/Pages/AdvisorViewActivityPage.razor similarity index 98% rename from Wonky.Client/Pages/ActivityViewCrmPage.razor rename to Wonky.Client/Pages/AdvisorViewActivityPage.razor index 39a03caa..17b3a784 100644 --- a/Wonky.Client/Pages/ActivityViewCrmPage.razor +++ b/Wonky.Client/Pages/AdvisorViewActivityPage.razor @@ -18,7 +18,7 @@ @using Microsoft.AspNetCore.Authorization @using Wonky.Client.Components -@attribute [Authorize(Roles = "Admin,Office,Warehouse,Advisor")] +@attribute [Authorize(Roles = "Admin,Advisor,Warehouse")] @page "/companies/{CompanyId}/orders/{OrderId}" @page "/companies/{CompanyId}/quotes/{OrderId}" diff --git a/Wonky.Client/Pages/ActivityViewCrmPage.razor.cs b/Wonky.Client/Pages/AdvisorViewActivityPage.razor.cs similarity index 89% rename from Wonky.Client/Pages/ActivityViewCrmPage.razor.cs rename to Wonky.Client/Pages/AdvisorViewActivityPage.razor.cs index 681a8529..369db7df 100644 --- a/Wonky.Client/Pages/ActivityViewCrmPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorViewActivityPage.razor.cs @@ -29,13 +29,13 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class ActivityViewCrmPage : IDisposable +public partial class AdvisorViewActivityPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string OrderId { get; set; } = ""; [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public IActivityCrmHttpRepository ActivityRepo { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; } + [Inject] public ILogger Logger { get; set; } [Inject] public IToastService Toaster { get; set; } [Inject] public NavigationManager Navigator { get; set; } private ReportItemView ReportItem { get; set; } = new(); @@ -51,7 +51,7 @@ public partial class ActivityViewCrmPage : IDisposable Interceptor.RegisterBeforeSendEvent(); NoteContext = new EditContext(Note); NoteContext.OnFieldChanged += HandleFieldChanged; - ReportItem = await ActivityRepo.GetReportItem(OrderId); + ReportItem = await AdvisorActivityRepo.GetReportItem(OrderId); Note.ActivityId = ReportItem.ActivityId; Note.OfficeNote = ReportItem.OfficeNote; Logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(ReportItem)); @@ -68,7 +68,7 @@ public partial class ActivityViewCrmPage : IDisposable Working = true; Disabled = true; Logger.LogDebug("OfficeNote => \n {}", JsonSerializer.Serialize(Note)); - await ActivityRepo.UpdateOfficeNote(Note); + await AdvisorActivityRepo.UpdateOfficeNote(Note); Toaster.ShowInfo($"{ReportItem.ESalesNumber} - notat opdateret"); Navigator.NavigateTo("/activity-today"); } diff --git a/Wonky.Client/Pages/CustomerWorkplaceDocumentListPage.razor b/Wonky.Client/Pages/AdvisorWorkplaceDocumentListPage.razor similarity index 100% rename from Wonky.Client/Pages/CustomerWorkplaceDocumentListPage.razor rename to Wonky.Client/Pages/AdvisorWorkplaceDocumentListPage.razor diff --git a/Wonky.Client/Pages/CustomerWorkplaceDocumentListPage.razor.cs b/Wonky.Client/Pages/AdvisorWorkplaceDocumentListPage.razor.cs similarity index 89% rename from Wonky.Client/Pages/CustomerWorkplaceDocumentListPage.razor.cs rename to Wonky.Client/Pages/AdvisorWorkplaceDocumentListPage.razor.cs index b1a93b14..2a6985d6 100644 --- a/Wonky.Client/Pages/CustomerWorkplaceDocumentListPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorWorkplaceDocumentListPage.razor.cs @@ -21,13 +21,13 @@ using Wonky.Client.HttpRepository; namespace Wonky.Client.Pages; -public partial class CustomerWorkplaceDocumentListPage +public partial class AdvisorWorkplaceDocumentListPage { [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string WorkplaceId { get; set; } = ""; [Inject] public HttpInterceptorService _interceptor { get; set; } - [Inject] public IWorkplaceCrmHttpRepository WorkplaceCrmRepo { get; set; } + [Inject] public IWorkplaceRepository WorkplaceCrmRepo { get; set; } private bool Working { get; set; } = true; } \ No newline at end of file diff --git a/Wonky.Client/Pages/CustomerWorkplaceListPage.razor b/Wonky.Client/Pages/AdvisorWorkplaceListPage.razor similarity index 100% rename from Wonky.Client/Pages/CustomerWorkplaceListPage.razor rename to Wonky.Client/Pages/AdvisorWorkplaceListPage.razor diff --git a/Wonky.Client/Pages/CustomerWorkplaceListPage.razor.cs b/Wonky.Client/Pages/AdvisorWorkplaceListPage.razor.cs similarity index 90% rename from Wonky.Client/Pages/CustomerWorkplaceListPage.razor.cs rename to Wonky.Client/Pages/AdvisorWorkplaceListPage.razor.cs index b66ac3b9..0c8e3bd7 100644 --- a/Wonky.Client/Pages/CustomerWorkplaceListPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorWorkplaceListPage.razor.cs @@ -24,11 +24,11 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class CustomerWorkplaceListPage : IDisposable +public partial class AdvisorWorkplaceListPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; - [Inject] public IWorkplaceCrmHttpRepository WorkplaceCrmRepo { get; set; } - [Inject] public ICustomerCrmHttpRepository _companyRepo { get; set; } + [Inject] public IWorkplaceRepository WorkplaceCrmRepo { get; set; } + [Inject] public IAdvisorCustomerRepository _companyRepo { get; set; } [Inject] public HttpInterceptorService _interceptor { get; set; } private List _workplaces { get; set; } = new(); private CompanyDto _company { get; set; } = new(); diff --git a/Wonky.Client/Pages/CustomerWorkplaceViewPage.razor b/Wonky.Client/Pages/AdvisorWorkplaceViewPage.razor similarity index 100% rename from Wonky.Client/Pages/CustomerWorkplaceViewPage.razor rename to Wonky.Client/Pages/AdvisorWorkplaceViewPage.razor diff --git a/Wonky.Client/Pages/CustomerWorkplaceViewPage.razor.cs b/Wonky.Client/Pages/AdvisorWorkplaceViewPage.razor.cs similarity index 92% rename from Wonky.Client/Pages/CustomerWorkplaceViewPage.razor.cs rename to Wonky.Client/Pages/AdvisorWorkplaceViewPage.razor.cs index c6724959..75962c0b 100644 --- a/Wonky.Client/Pages/CustomerWorkplaceViewPage.razor.cs +++ b/Wonky.Client/Pages/AdvisorWorkplaceViewPage.razor.cs @@ -25,12 +25,12 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class CustomerWorkplaceViewPage : IDisposable +public partial class AdvisorWorkplaceViewPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string WorkplaceId { get; set; } = ""; - [Inject] public IWorkplaceCrmHttpRepository WorkplaceCrmRepo { get; set; } - [Inject] public ICustomerCrmHttpRepository _companyRepo { get; set; } + [Inject] public IWorkplaceRepository WorkplaceCrmRepo { get; set; } + [Inject] public IAdvisorCustomerRepository _companyRepo { get; set; } [Inject] public HttpInterceptorService _interceptor { get; set; } [Inject] public NavigationManager _navigator { get; set; } private WorkplaceDto _workplace { get; set; } = new(); diff --git a/Wonky.Client/Pages/OfficeSalesRepViewPage.razor b/Wonky.Client/Pages/BackendAdminSalesRepViewPage.razor similarity index 98% rename from Wonky.Client/Pages/OfficeSalesRepViewPage.razor rename to Wonky.Client/Pages/BackendAdminSalesRepViewPage.razor index 012451f3..4326eb50 100644 --- a/Wonky.Client/Pages/OfficeSalesRepViewPage.razor +++ b/Wonky.Client/Pages/BackendAdminSalesRepViewPage.razor @@ -25,7 +25,7 @@

Bruger info

- @if (_userInfo != null) + @if (!string.IsNullOrWhiteSpace(UserInfo.UserId)) { @@ -70,7 +70,7 @@ Sælgernr.
- @_userInfo.Advisor + @UserInfo.Advisor Landekode diff --git a/Wonky.Client/Pages/OfficeSalesRepViewPage.razor.cs b/Wonky.Client/Pages/BackendAdminSalesRepViewPage.razor.cs similarity index 81% rename from Wonky.Client/Pages/OfficeSalesRepViewPage.razor.cs rename to Wonky.Client/Pages/BackendAdminSalesRepViewPage.razor.cs index 55cd69b4..bd2c117d 100644 --- a/Wonky.Client/Pages/OfficeSalesRepViewPage.razor.cs +++ b/Wonky.Client/Pages/BackendAdminSalesRepViewPage.razor.cs @@ -26,16 +26,16 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class OfficeSalesRepViewPage : IDisposable +public partial class BackendAdminSalesRepViewPage : IDisposable { [Parameter] public string UserId { get; set; } = ""; [Parameter] public string CountryCode { get; set; } = ""; [Inject] public HttpInterceptorService _interceptor { get; set; } - [Inject] public IUserHttpRepository UserRepo { get; set; } - [Inject] public ILogger _logger { get; set; } + [Inject] public ISystemUserRepository SystemUserRepo { get; set; } + [Inject] public ILogger _logger { get; set; } [Inject] public NavigationManager _navigator { get; set; } [Inject] public IToastService _toast { get; set; } - private WebUserInfoView _userInfo { get; set; } = new(); + private WebUserInfoView UserInfo { get; set; } = new(); private EditContext _editContext { get; set; } private UserUpdateDto _updateInfo { get; set; } = new(); private AdminResetPasswordDto _passwords { get; set; } = new(); @@ -56,14 +56,14 @@ public partial class OfficeSalesRepViewPage : IDisposable _interceptor.RegisterEvent(); _interceptor.RegisterBeforeSendEvent(); - _userInfo = await UserRepo.GetAdvisorInfo(UserId); + UserInfo = await SystemUserRepo.GetAdvisorInfo(UserId); - _updateInfo.Email = _userInfo.Email; - _updateInfo.CountryCode = _userInfo.CountryCode; - _updateInfo.FirstName = _userInfo.FirstName; - _updateInfo.LastName = _userInfo.LastName; - _updateInfo.PhoneNumber = _userInfo.PhoneNumber; - _updateInfo.LockoutEnabled = _userInfo.LockoutEnabled; + _updateInfo.Email = UserInfo.Email; + _updateInfo.CountryCode = UserInfo.CountryCode; + _updateInfo.FirstName = UserInfo.FirstName; + _updateInfo.LastName = UserInfo.LastName; + _updateInfo.PhoneNumber = UserInfo.PhoneNumber; + _updateInfo.LockoutEnabled = UserInfo.LockoutEnabled; _passwdContext.OnFieldChanged += PwHandleFieldChanged; _passwdContext.OnValidationStateChanged += PwValidationChanged; @@ -75,7 +75,7 @@ public partial class OfficeSalesRepViewPage : IDisposable { Working = true; _toast.ShowInfo("Sender data til server ..."); - await UserRepo.UpdateAdvisor(UserId, _updateInfo); + await SystemUserRepo.UpdateAdvisor(UserId, _updateInfo); Working = false; } @@ -103,7 +103,7 @@ public partial class OfficeSalesRepViewPage : IDisposable if (Working) return; Working = true; - await UserRepo.ResetUserPassword(UserId, _passwords.NewPassword, _passwords.ConfirmPassword); + await SystemUserRepo.ResetUserPassword(UserId, _passwords.NewPassword, _passwords.ConfirmPassword); _toast.ShowInfo("Password er nulstillet."); _passwords.NewPassword = ""; _passwords.ConfirmPassword = ""; diff --git a/Wonky.Client/Pages/CountryCatalogPage.razor b/Wonky.Client/Pages/CountryCatalogPage.razor index 930ffc16..4ae355d8 100644 --- a/Wonky.Client/Pages/CountryCatalogPage.razor +++ b/Wonky.Client/Pages/CountryCatalogPage.razor @@ -15,11 +15,11 @@ // *@ -@page "/price-catalog/{CountryCode}" @using Wonky.Client.Components @using Microsoft.AspNetCore.Authorization +@attribute [Authorize(Roles = "Admin,Warehouse")] +@page "/price-catalog/{CountryCode}" -@attribute [Authorize(Roles = "Admin,Office,Warehouse")]
@@ -42,11 +42,13 @@
- + + + @if (Working) { diff --git a/Wonky.Client/Pages/CountryCatalogPage.razor.cs b/Wonky.Client/Pages/CountryCatalogPage.razor.cs index 91c96104..ccc5a01c 100644 --- a/Wonky.Client/Pages/CountryCatalogPage.razor.cs +++ b/Wonky.Client/Pages/CountryCatalogPage.razor.cs @@ -13,17 +13,11 @@ // 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; @@ -31,14 +25,16 @@ namespace Wonky.Client.Pages; public partial class CountryCatalogPage : IDisposable { - [Parameter] public string CountryCode { get; set; } = ""; [Inject] public ILocalStorageService Storage { get; set; } - [Inject] public ICatalogCrmHttpRepository ItemRepo { get; set; } + [Inject] public IAdvisorCatalogRepository ItemRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public UserProfileService ProfileService { get; set; } + + [Parameter] public string CountryCode { get; set; } = ""; + private List Items { get; set; } = new(); private MetaData MetaInfo { get; set; } = new(); - private CatalogPagingParams PageParams = new(); + private CatalogPaging Paging = new(); private UserPref Prefs = new(); private UserInfoView UserInfo { get; set; } = new(); private bool Working { get; set; } = true; @@ -48,11 +44,12 @@ public partial class CountryCatalogPage : IDisposable Prefs = await ProfileService.GetPreferences(); UserInfo = await Storage.GetItemAsync("_xu"); - PageParams.CountryCode = UserInfo.CountryCode; + Paging.CountryCode = UserInfo.CountryCode; - PageParams.OrderBy = Prefs.ItemSort; - PageParams.SearchColumn = Prefs.ItemSearch; - PageParams.PageSize = Convert.ToInt32(Prefs.PageSize); + Paging.OrderBy = Prefs.ItemSort; + Paging.SearchColumn = Prefs.ItemSearch; + Paging.PageSize = Convert.ToInt32(Prefs.PageSize); + Paging.CountryCode = CountryCode.ToLower(); Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); @@ -63,53 +60,53 @@ public partial class CountryCatalogPage : IDisposable private async Task SetSearchPhrase(string searchTerm) { Items = new List(); - PageParams.PageNumber = 1; - PageParams.SearchTerm = searchTerm; + Paging.PageNumber = 1; + Paging.SearchTerm = searchTerm; await FetchSalesItems(); } private async Task SetPageSize(string pageSize) { Items = new List(); - PageParams.PageSize = Convert.ToInt32(pageSize); - PageParams.PageNumber = 1; + Paging.PageSize = Convert.ToInt32(pageSize); + Paging.PageNumber = 1; await FetchSalesItems(); } private async Task SetSearchCol(string columnName) { Items = new List(); - PageParams.PageNumber = 1; - PageParams.SearchColumn = columnName; + Paging.PageNumber = 1; + Paging.SearchColumn = columnName; await FetchSalesItems(); } private async Task SetSortCol(string orderBy) { Items = new List(); - PageParams.OrderBy = orderBy; + Paging.OrderBy = orderBy; await FetchSalesItems(); } private async Task SetSelectedPage(int page) { Items = new List(); - PageParams.PageNumber = page; + Paging.PageNumber = page; await FetchSalesItems(); } private async Task SetGroupCol(string groupFilter) { Items = new List(); - PageParams.PageNumber = 1; - PageParams.SelectGroup = groupFilter; + Paging.PageNumber = 1; + Paging.SelectGroup = groupFilter; await FetchSalesItems(); } private async Task FetchSalesItems() { Working = true; - var pagingResponse = await ItemRepo.GetSalesItemsPaged(PageParams, CountryCode); + var pagingResponse = await ItemRepo.GetSalesItemsPaged(Paging); Working = false; Items = pagingResponse.Items!; MetaInfo = pagingResponse.MetaData; diff --git a/Wonky.Client/Pages/CountryCustomerListPage.razor b/Wonky.Client/Pages/CountryCustomerListPage.razor index f24f3c8e..f5a5cd4a 100644 --- a/Wonky.Client/Pages/CountryCustomerListPage.razor +++ b/Wonky.Client/Pages/CountryCustomerListPage.razor @@ -15,11 +15,12 @@ // *@ -@page "/office/{countryCode}/customers" @using Wonky.Client.Components @using Microsoft.AspNetCore.Authorization +@attribute [Authorize(Roles = "Admin,Warehouse")] +@page "/office/{countryCode}/customers" + -@attribute [Authorize(Roles = "Admin,Office")]
@@ -37,21 +38,17 @@
- +
- +
- - @if (Working) { diff --git a/Wonky.Client/Pages/CountryCustomerListPage.razor.cs b/Wonky.Client/Pages/CountryCustomerListPage.razor.cs index 39c269e5..bec7d63d 100644 --- a/Wonky.Client/Pages/CountryCustomerListPage.razor.cs +++ b/Wonky.Client/Pages/CountryCustomerListPage.razor.cs @@ -33,7 +33,7 @@ namespace Wonky.Client.Pages [Parameter] public string CountryCode { get; set; } = ""; [Inject] public ILocalStorageService Storage { get; set; } [Inject] public UserProfileService ProfileService { get; set; } - [Inject] public ICustomerCrmHttpRepository CompanyRepo { get; set; } + [Inject] public ICountryCustomerRepository CompanyRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public NavigationManager Navigator { get; set; } private List Companies { get; set; } = new(); @@ -56,7 +56,7 @@ namespace Wonky.Client.Pages Paging.SearchColumn = Prefs.CompanySearch; Paging.PageSize = Convert.ToInt32(Prefs.PageSize); Paging.HasFolded = IncludeFolded ? 1 : 0; - Paging.CountryCode = UserInfo.CountryCode; + Paging.CountryCode = CountryCode.ToLower(); // load saved search SavedSearch = string.IsNullOrWhiteSpace(Prefs.CompanyFilterPhrase) ? "" : Prefs.CompanyFilterPhrase; @@ -113,24 +113,11 @@ namespace Wonky.Client.Pages Paging.OrderBy = orderBy; await FetchCustomers(); } - - /// - /// Removes a company from CRM - /// - /// - private async Task DeleteCompany(string companyId) - { - Companies = new List(); - await CompanyRepo.DeleteCompany(companyId); - if (Paging.PageNumber > 1 && Companies.Count == 1) - Paging.PageNumber--; - await FetchCustomers(); - } private async Task FetchCustomers() { Working = true; - var pageRes = await CompanyRepo.GetCompanies(Paging); + var pageRes = await CompanyRepo.GetCompaniesPaged(Paging); Working = false; if (pageRes.Items.Any()) { diff --git a/Wonky.Client/Pages/CountryLandingPage.razor b/Wonky.Client/Pages/CountryLandingPage.razor index 235d2108..1b15878e 100644 --- a/Wonky.Client/Pages/CountryLandingPage.razor +++ b/Wonky.Client/Pages/CountryLandingPage.razor @@ -16,20 +16,35 @@ *@ @using Microsoft.AspNetCore.Authorization -@attribute [Authorize(Roles = "Admin,Office,Warehouse")] +@attribute [Authorize(Roles = "Admin,Warehouse")] @page "/office/{CountryCode}" -
+
+ +
+
+
+

+ @CountryCode.ToUpper() Sælgere +

+

+ Sælger kundeliste, Rapporter, Stamdata +

+ Sælgere +
+
+
+

@CountryCode.ToUpper() Kunder

-
+

Filtrer og søg kunder -

- Kundeliste +

+ Kundeliste
@@ -39,26 +54,11 @@

@CountryCode.ToUpper() Priskatalog

-
+

Produkter og priser -

+

Priskatalog
- -
-
-
-

- @CountryCode.ToUpper() Sælgere -

-

- Filtreret kundeliste, se/udskriv rapporter, rediger stamdata -

- Sælgere -
-
-
-
\ No newline at end of file diff --git a/Wonky.Client/Pages/CountryLandingPage.razor.cs b/Wonky.Client/Pages/CountryLandingPage.razor.cs index 34d4e000..393bc45c 100644 --- a/Wonky.Client/Pages/CountryLandingPage.razor.cs +++ b/Wonky.Client/Pages/CountryLandingPage.razor.cs @@ -7,5 +7,4 @@ namespace Wonky.Client.Pages; public partial class CountryLandingPage { [Parameter] public string CountryCode { get; set; } = ""; - [Inject] private ILocalStorageService Storage { get; set; } } \ No newline at end of file diff --git a/Wonky.Client/Pages/CountryPrintCatalogPage.razor b/Wonky.Client/Pages/CountryPrintCatalogPage.razor new file mode 100644 index 00000000..3210d3d4 --- /dev/null +++ b/Wonky.Client/Pages/CountryPrintCatalogPage.razor @@ -0,0 +1,29 @@ +@* +// 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 Wonky.Client.Components +@using Microsoft.AspNetCore.Authorization +@attribute [Authorize(Roles = "Admin,Warehouse")] +@page "/print/catalog/{CountryCode}" + + + +@if (Working) +{ + +} + diff --git a/Wonky.Client/Pages/CountryPrintCatalogPage.razor.cs b/Wonky.Client/Pages/CountryPrintCatalogPage.razor.cs new file mode 100644 index 00000000..82216fa7 --- /dev/null +++ b/Wonky.Client/Pages/CountryPrintCatalogPage.razor.cs @@ -0,0 +1,55 @@ +// 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 CountryPrintCatalogPage : IDisposable +{ + [Inject] public ILocalStorageService Storage { get; set; } + [Inject] public ICountryCatalogRepository Catalog { get; set; } + [Inject] public HttpInterceptorService Interceptor { get; set; } + [Parameter] public string CountryCode { get; set; } = ""; + private List Items { get; set; } = new(); + private UserInfoView UserInfo { get; set; } = new(); + private bool Working { get; set; } = true; + + protected override async Task OnParametersSetAsync() + { + Interceptor.RegisterEvent(); + Interceptor.RegisterBeforeSendEvent(); + UserInfo = await Storage.GetItemAsync("_xu"); + + Items = await Catalog.GetPriceList(CountryCode); + + Working = false; + } + + public void Dispose() => Interceptor.DisposeEvent(); + +} \ No newline at end of file diff --git a/Wonky.Client/Pages/CountrySalesRepCustomerListPage.razor b/Wonky.Client/Pages/CountrySalesRepCustomerListPage.razor index 62076ef7..7e7abe74 100644 --- a/Wonky.Client/Pages/CountrySalesRepCustomerListPage.razor +++ b/Wonky.Client/Pages/CountrySalesRepCustomerListPage.razor @@ -17,7 +17,7 @@ @using Wonky.Client.Components @using Microsoft.AspNetCore.Authorization -@attribute [Authorize(Roles = "Admin,Office,Warehouse")] +@attribute [Authorize(Roles = "Admin,Warehouse")] @page "/office/users/advisors/{CountryCode}/{UserId}/customers"
@@ -52,7 +52,7 @@
- + @if (Working) diff --git a/Wonky.Client/Pages/CountrySalesRepCustomerListPage.razor.cs b/Wonky.Client/Pages/CountrySalesRepCustomerListPage.razor.cs index 4d095a49..1f0dc396 100644 --- a/Wonky.Client/Pages/CountrySalesRepCustomerListPage.razor.cs +++ b/Wonky.Client/Pages/CountrySalesRepCustomerListPage.razor.cs @@ -29,7 +29,7 @@ public partial class CountrySalesRepCustomerListPage : IDisposable [Inject] public ILogger Logger { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public ICustomerOfficeHttpRepository CustomerRepo { get; set; } + [Inject] public ICountryCustomerRepository CustomerRepo { get; set; } [Inject] public UserProfileService UserProfileService { get; set; } private List _companyList { get; set; } = new(); private MetaData _metaData { get; set; } = new(); @@ -46,7 +46,7 @@ public partial class CountrySalesRepCustomerListPage : IDisposable // set preferences UserPref = await UserProfileService.GetPreferences(); - _paging.CountryCode = CountryCode; + _paging.CountryCode = CountryCode.ToLower(); _paging.OrderBy = UserPref.CompanySort; _paging.SearchColumn = UserPref.CompanySearch; _paging.PageSize = Convert.ToInt32(UserPref.PageSize); diff --git a/Wonky.Client/Pages/CustomerInvoiceListCrmPage.razor b/Wonky.Client/Pages/CustomerInvoiceListCrmPage.razor deleted file mode 100644 index 16a620c4..00000000 --- a/Wonky.Client/Pages/CustomerInvoiceListCrmPage.razor +++ /dev/null @@ -1,23 +0,0 @@ -@page "/companies/{CompanyId}/invoices" -@using Wonky.Client.Components - -@if (!string.IsNullOrWhiteSpace(Company.Name)) -{ -
-
-

@Company.Name

-
- -
- Besøg -
-
- -} - -@if (Working) -{ - -} diff --git a/Wonky.Client/Pages/Index.razor b/Wonky.Client/Pages/Index.razor index 2f522616..81ff821d 100644 --- a/Wonky.Client/Pages/Index.razor +++ b/Wonky.Client/Pages/Index.razor @@ -26,13 +26,9 @@ - + - - - - @code{ } diff --git a/Wonky.Client/Pages/KrvItemViewAdminPage.razor.cs b/Wonky.Client/Pages/KrvItemViewAdminPage.razor.cs index bada60d5..9bcea523 100644 --- a/Wonky.Client/Pages/KrvItemViewAdminPage.razor.cs +++ b/Wonky.Client/Pages/KrvItemViewAdminPage.razor.cs @@ -28,7 +28,7 @@ public partial class KrvItemViewAdminPage : IDisposable { [Parameter] public string SalesItemId { get; set; } = ""; private SalesItemView _item { get; set; } = new (); - [Inject] public ICatalogCrmHttpRepository _itemRepo { get; set; } + [Inject] public IAdvisorCatalogRepository _itemRepo { get; set; } [Inject] public HttpInterceptorService _interceptor { get; set; } diff --git a/Wonky.Client/Pages/PrintCatalogPage.razor b/Wonky.Client/Pages/SsystemPrintCatalogPage.razor similarity index 92% rename from Wonky.Client/Pages/PrintCatalogPage.razor rename to Wonky.Client/Pages/SsystemPrintCatalogPage.razor index 51ca3a5f..90b3cc8b 100644 --- a/Wonky.Client/Pages/PrintCatalogPage.razor +++ b/Wonky.Client/Pages/SsystemPrintCatalogPage.razor @@ -20,7 +20,7 @@ @attribute [Authorize(Roles = "Admin,Advisor,Office,Warehouse")] @page "/print/catalog" - + @if (Working) { diff --git a/Wonky.Client/Pages/PrintCatalogPage.razor.cs b/Wonky.Client/Pages/SsystemPrintCatalogPage.razor.cs similarity index 93% rename from Wonky.Client/Pages/PrintCatalogPage.razor.cs rename to Wonky.Client/Pages/SsystemPrintCatalogPage.razor.cs index 05e994ad..0207d8d5 100644 --- a/Wonky.Client/Pages/PrintCatalogPage.razor.cs +++ b/Wonky.Client/Pages/SsystemPrintCatalogPage.razor.cs @@ -29,10 +29,10 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class PrintCatalogPage : IDisposable +public partial class SsystemPrintCatalogPage : IDisposable { [Inject] public ILocalStorageService Storage { get; set; } - [Inject] public ICatalogCrmHttpRepository ItemRepo { get; set; } + [Inject] public IAdvisorCatalogRepository ItemRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } private List Items { get; set; } = new(); private UserInfoView UserInfo { get; set; } = new(); diff --git a/Wonky.Client/Pages/PrintFrontPage.razor b/Wonky.Client/Pages/SystemPrintFrontPage.razor similarity index 100% rename from Wonky.Client/Pages/PrintFrontPage.razor rename to Wonky.Client/Pages/SystemPrintFrontPage.razor diff --git a/Wonky.Client/Pages/PrintFrontPage.razor.cs b/Wonky.Client/Pages/SystemPrintFrontPage.razor.cs similarity index 95% rename from Wonky.Client/Pages/PrintFrontPage.razor.cs rename to Wonky.Client/Pages/SystemPrintFrontPage.razor.cs index 11ccbd1a..c98974e9 100644 --- a/Wonky.Client/Pages/PrintFrontPage.razor.cs +++ b/Wonky.Client/Pages/SystemPrintFrontPage.razor.cs @@ -22,7 +22,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class PrintFrontPage +public partial class SystemPrintFrontPage { [Parameter] public string CountryCode { get; set; } = ""; [Parameter] public string UserId { get; set; } = ""; @@ -30,7 +30,7 @@ public partial class PrintFrontPage [Inject] public ILocalStorageService Storage { get; set; } [Inject] public NavigationManager Navigator { get; set; } [Inject] private IJSRuntime JSRuntime { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } private ReportView Report { get; set; } = new(); private IJSObjectReference JsModule { get; set; } private string ReturnUrl { get; set; } = ""; diff --git a/Wonky.Client/Pages/PrintOrderPage.razor b/Wonky.Client/Pages/SystemPrintOrderPage.razor similarity index 100% rename from Wonky.Client/Pages/PrintOrderPage.razor rename to Wonky.Client/Pages/SystemPrintOrderPage.razor diff --git a/Wonky.Client/Pages/PrintOrderPage.razor.cs b/Wonky.Client/Pages/SystemPrintOrderPage.razor.cs similarity index 95% rename from Wonky.Client/Pages/PrintOrderPage.razor.cs rename to Wonky.Client/Pages/SystemPrintOrderPage.razor.cs index f42ceb12..d45bcff7 100644 --- a/Wonky.Client/Pages/PrintOrderPage.razor.cs +++ b/Wonky.Client/Pages/SystemPrintOrderPage.razor.cs @@ -21,7 +21,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class PrintOrderPage +public partial class SystemPrintOrderPage { [Parameter] public string CountryCode { get; set; } = ""; [Parameter] public string UserId { get; set; } = ""; @@ -29,7 +29,7 @@ public partial class PrintOrderPage [Inject] public ILocalStorageService Storage { get; set; } [Inject] public NavigationManager Navigator { get; set; } [Inject] private IJSRuntime JSRuntime { get; set; } - [Inject] public ILogger Logger { get; set; } + [Inject] public ILogger Logger { get; set; } private ReportView Report { get; set; } = new(); private List Items { get; set; } = new(); private IJSObjectReference JsModule { get; set; } diff --git a/Wonky.Client/Pages/WarehouseOrderViewPage.razor.cs b/Wonky.Client/Pages/WarehouseOrderViewPage.razor.cs index c91753e9..6f6d811f 100644 --- a/Wonky.Client/Pages/WarehouseOrderViewPage.razor.cs +++ b/Wonky.Client/Pages/WarehouseOrderViewPage.razor.cs @@ -29,7 +29,7 @@ public partial class WarehouseOrderViewPage : IDisposable { [Parameter] public string OrderId { get; set; } = ""; [Inject] public HttpInterceptorService _interceptor { get; set; } - [Inject] public IWarehouseHttpRepository _warehouseRepo { get; set; } + [Inject] public IWarehouseRepository _warehouseRepo { get; set; } [Inject] public NavigationManager _navigator { get; set; } [Inject] public IToastService _toast { get; set; } [Inject] public ILogger _logger { get; set; } diff --git a/Wonky.Client/Program.cs b/Wonky.Client/Program.cs index c0f9c1b5..16946f72 100644 --- a/Wonky.Client/Program.cs +++ b/Wonky.Client/Program.cs @@ -54,22 +54,23 @@ builder.Services.Configure(builder.Configuration.GetSection("ApiConfi // app info object builder.Services.Configure(builder.Configuration.GetSection("AppInfo")); // crm repositories -builder.Services.AddScoped(); -builder.Services.AddScoped(); -builder.Services.AddScoped(); -builder.Services.AddScoped(); -builder.Services.AddScoped(); -builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); // administrative repositories -builder.Services.AddScoped(); -builder.Services.AddScoped(); -builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); // warehouse repository -builder.Services.AddScoped(); -// catalog repository -builder.Services.AddScoped(); +builder.Services.AddScoped(); // mail service -builder.Services.AddScoped(); +builder.Services.AddScoped(); // interceptor builder.Services.AddScoped(); // storage diff --git a/Wonky.Client/Shared/ContactModal.razor.cs b/Wonky.Client/Shared/ContactModal.razor.cs index 5c5b685c..e4bbc884 100644 --- a/Wonky.Client/Shared/ContactModal.razor.cs +++ b/Wonky.Client/Shared/ContactModal.razor.cs @@ -31,7 +31,7 @@ public partial class ContactModal { [Parameter] public ContactDto ParamContact { get; set; } = new(); [Parameter] public string CompanyName { get; set; } = ""; - [Parameter] public IContactCrmHttpRepository ContactRepo { get; set; } + [Parameter] public IAdvisorContactRepository AdvisorContactRepo { get; set; } [Parameter] public HttpInterceptorService Interceptor { get; set; } [Parameter] public EventCallback OnSaveClicked { get; set; } [Parameter] public EventCallback OnDeleteClicked { get; set; } diff --git a/Wonky.Client/Shared/InventoryReorderModal.razor.cs b/Wonky.Client/Shared/InventoryReorderModal.razor.cs index c257614a..2172a50c 100644 --- a/Wonky.Client/Shared/InventoryReorderModal.razor.cs +++ b/Wonky.Client/Shared/InventoryReorderModal.razor.cs @@ -29,7 +29,7 @@ public partial class InventoryReorderModal { [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public SalesItemView SalesItem { get; set; } = new(); - [Inject] public ICustomerHistoryCrmHttpRepository CustomerHistoryCrmRepo { get; set; } + [Inject] public ICustomerHistoryRepository CustomerHistoryCrmRepo { get; set; } [Parameter] public EventCallback OnSelected { get; set; } private List? History { get; set; } = new(); private DraftItem SelectedItem { get; set; } = new(); diff --git a/Wonky.Client/Shared/InvoiceViewModal.razor.cs b/Wonky.Client/Shared/InvoiceViewModal.razor.cs index f7e4c396..198abaf4 100644 --- a/Wonky.Client/Shared/InvoiceViewModal.razor.cs +++ b/Wonky.Client/Shared/InvoiceViewModal.razor.cs @@ -30,7 +30,7 @@ public partial class InvoiceViewModal : IDisposable [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string InvoiceId { get; set; } = ""; [Inject] public HttpInterceptorService Interceptor { get; set; } - [Inject] public ICustomerHistoryCrmHttpRepository HistoryRepo { get; set; } + [Inject] public ICustomerHistoryRepository HistoryRepo { get; set; } private string _modalDisplay = ""; private bool _showBackdrop; private InvoiceView Invoice { get; set; } = new(); diff --git a/Wonky.Client/Shared/PriceListModal.razor.cs b/Wonky.Client/Shared/PriceListModal.razor.cs index c2af0d22..2acb843a 100644 --- a/Wonky.Client/Shared/PriceListModal.razor.cs +++ b/Wonky.Client/Shared/PriceListModal.razor.cs @@ -28,7 +28,7 @@ public partial class PriceListModal : IDisposable { [Parameter] public string CountryCode { get; set; } = "dk"; [Parameter] public EventCallback OnSelected { get; set; } - [Inject] public ICatalogCrmHttpRepository ItemRepo { get; set; } + [Inject] public IAdvisorCatalogRepository ItemRepo { get; set; } [Inject] public HttpInterceptorService Interceptor { get; set; } [Inject] public UserProfileService UserProfileService { get; set; } @@ -36,7 +36,7 @@ public partial class PriceListModal : IDisposable private bool _showBackdrop; private List _items { get; set; } = new(); private MetaData? _metaData { get; set; } = new(); - private CatalogPagingParams _paging = new(); + private CatalogPaging _paging = new(); private UserPref _userPref = new(); protected override async Task OnInitializedAsync() diff --git a/Wonky.Client/Shared/ProductHistoryModal.razor.cs b/Wonky.Client/Shared/ProductHistoryModal.razor.cs index c97bba61..8574a82a 100644 --- a/Wonky.Client/Shared/ProductHistoryModal.razor.cs +++ b/Wonky.Client/Shared/ProductHistoryModal.razor.cs @@ -29,7 +29,7 @@ public partial class ProductHistoryModal // [Parameter] public EventCallback OnSelected { get; set; } [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string ItemSku { get; set; } = ""; - [Inject] public ICustomerHistoryCrmHttpRepository CustomerHistoryCrmRepo { get; set; } + [Inject] public ICustomerHistoryRepository CustomerHistoryCrmRepo { get; set; } private List? History { get; set; } private string ProductName { get; set; } = ""; private string _modalDisplay = ""; diff --git a/Wonky.Client/Shared/ProductPriceHistoryModal.razor.cs b/Wonky.Client/Shared/ProductPriceHistoryModal.razor.cs index a8cf9b8f..de314f02 100644 --- a/Wonky.Client/Shared/ProductPriceHistoryModal.razor.cs +++ b/Wonky.Client/Shared/ProductPriceHistoryModal.razor.cs @@ -29,7 +29,7 @@ public partial class ProductPriceHistoryModal [Parameter] public EventCallback OnSelected { get; set; } [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string Sku { get; set; } = ""; - [Inject] public ICustomerHistoryCrmHttpRepository CustomerHistoryCrmRepo { get; set; } + [Inject] public ICustomerHistoryRepository CustomerHistoryCrmRepo { get; set; } private List? History { get; set; } private string ProductName { get; set; } = ""; private string _modalDisplay = ""; diff --git a/Wonky.Entity/Requests/CatalogPagingParams.cs b/Wonky.Entity/Requests/CatalogPaging.cs similarity index 98% rename from Wonky.Entity/Requests/CatalogPagingParams.cs rename to Wonky.Entity/Requests/CatalogPaging.cs index 6f7112db..8ab6ea2a 100644 --- a/Wonky.Entity/Requests/CatalogPagingParams.cs +++ b/Wonky.Entity/Requests/CatalogPaging.cs @@ -15,7 +15,7 @@ namespace Wonky.Entity.Requests; -public class CatalogPagingParams +public class CatalogPaging { /// /// internal default page size