From dba5d2decb6df137c7b89de0815157169338c4b0 Mon Sep 17 00:00:00 2001 From: Frede Hundewadt Date: Fri, 16 Sep 2022 11:50:30 +0200 Subject: [PATCH] changed injected services to public - refactor new office customer repo --- .../AdvisorActivityKmStartComponent.razor | 2 +- .../AdvisorActivityTableComponent.razor.cs | 2 +- .../AdvisorCompanyTableComponent.razor.cs | 2 +- .../CompanySearchColumnComponent.razor.cs | 4 +- .../CompanySearchPhraseComponent.razor.cs | 2 +- .../Components/CompanySortComponent.razor.cs | 4 +- .../Components/ItemGroupComponent.razor.cs | 4 +- .../Components/ItemSearchComponent.razor.cs | 2 +- .../Components/ItemSortComponent.razor.cs | 2 +- .../Components/ItemTableComponent.razor.cs | 2 +- .../Components/LandingComponentAdmin.razor.cs | 12 +- .../LandingComponentAdvisor.razor.cs | 12 +- .../OfficeActivityTableComponent.razor.cs | 2 +- .../OfficeCustomerTableComponent.razor | 6 +- .../OfficeCustomerTableComponent.razor.cs | 12 -- .../Components/PageSizeComponent.razor.cs | 4 +- .../WarehouseListComponent.razor.cs | 6 +- .../Components/WorkDateComponent.razor.cs | 2 +- .../IOfficeCustomerHttpRepository.cs | 4 +- .../OfficeCustomerHttpRepository.cs | 106 ++++++++++----- .../Pages/AdminKrvItemViewPage.razor.cs | 4 +- .../Pages/CrmHistoryItemPage.razor.cs | 6 +- .../Pages/CrmHistoryListPage.razor.cs | 6 +- Wonky.Client/Pages/CrmInventoryPage.razor.cs | 8 +- .../Pages/CrmListActivityCompanyPage.razor.cs | 6 +- .../Pages/CrmListActivityTodayPage.razor.cs | 14 +- .../Pages/CrmListCompanyPage.razor.cs | 14 +- Wonky.Client/Pages/CrmListReportPage.razor.cs | 4 +- .../Pages/CrmNewActivityPage.razor.cs | 20 +-- .../Pages/CrmNewCustomerPage.razor.cs | 14 +- Wonky.Client/Pages/CrmNewReportPage.razor.cs | 14 +- .../Pages/CrmTaskItemListPage.razor.cs | 8 +- .../Pages/CrmTaskItemViewPage.razor.cs | 4 +- .../Pages/CrmViewActivityPage.razor.cs | 8 +- .../Pages/CrmViewCompanyPage.razor.cs | 16 +-- Wonky.Client/Pages/CrmViewReportPage.razor.cs | 4 +- .../CrmWorkplaceDocumentListPage.razor.cs | 4 +- .../Pages/CrmWorkplaceListPage.razor.cs | 6 +- .../Pages/CrmWorkplaceViewPage.razor.cs | 8 +- .../Pages/OfficeListCrmUserPage.razor.cs | 4 +- .../Pages/OfficeListCustomerPage.razor | 41 ++++-- .../Pages/OfficeListCustomerPage.razor.cs | 103 +++++++++++++-- .../OfficeListCustomerSalesRepPage.razor | 54 ++++++++ .../OfficeListCustomerSalesRepPage.razor.cs | 123 ++++++++++++++++++ .../Pages/OfficeListReportPage.razor.cs | 4 +- .../Pages/OfficeNewOrderPage.razor.cs | 12 +- .../Pages/OfficeViewCrmUserPage.razor.cs | 10 +- .../Pages/OfficeViewReportPage.razor.cs | 6 +- .../OfficeViewSalesActivityPage.razor.cs | 4 +- ...logPage.razor => SalesCatalogDkPage.razor} | 0 ...e.razor.cs => SalesCatalogDkPage.razor.cs} | 10 +- Wonky.Client/Pages/SalesCatalogNoPage.razor | 51 ++++++++ .../Pages/SalesCatalogNoPage.razor.cs | 110 ++++++++++++++++ Wonky.Client/Pages/SalesCatalogSePage.razor | 51 ++++++++ .../Pages/SalesCatalogSePage.razor.cs | 110 ++++++++++++++++ .../Pages/WarehouseOrderViewPage.razor.cs | 10 +- Wonky.Client/Shared/PriceListModal.razor.cs | 6 +- Wonky.Client/Shared/VatLookupDkModal.razor.cs | 4 +- 58 files changed, 860 insertions(+), 213 deletions(-) create mode 100644 Wonky.Client/Pages/OfficeListCustomerSalesRepPage.razor create mode 100644 Wonky.Client/Pages/OfficeListCustomerSalesRepPage.razor.cs rename Wonky.Client/Pages/{SalesCatalogPage.razor => SalesCatalogDkPage.razor} (100%) rename Wonky.Client/Pages/{SalesCatalogPage.razor.cs => SalesCatalogDkPage.razor.cs} (91%) create mode 100644 Wonky.Client/Pages/SalesCatalogNoPage.razor create mode 100644 Wonky.Client/Pages/SalesCatalogNoPage.razor.cs create mode 100644 Wonky.Client/Pages/SalesCatalogSePage.razor create mode 100644 Wonky.Client/Pages/SalesCatalogSePage.razor.cs diff --git a/Wonky.Client/Components/AdvisorActivityKmStartComponent.razor b/Wonky.Client/Components/AdvisorActivityKmStartComponent.razor index 28fa5cdc..14d9a2a1 100644 --- a/Wonky.Client/Components/AdvisorActivityKmStartComponent.razor +++ b/Wonky.Client/Components/AdvisorActivityKmStartComponent.razor @@ -7,7 +7,7 @@ @code { - [Inject] private UserPreferenceService PreferenceService { get; set; } + [Inject] public UserPreferenceService PreferenceService { get; set; } private int KmMorning { get; set; } private Preferences Preferences { get; set; } = new(); diff --git a/Wonky.Client/Components/AdvisorActivityTableComponent.razor.cs b/Wonky.Client/Components/AdvisorActivityTableComponent.razor.cs index f1dbd753..d3d6b939 100644 --- a/Wonky.Client/Components/AdvisorActivityTableComponent.razor.cs +++ b/Wonky.Client/Components/AdvisorActivityTableComponent.razor.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.Components; public partial class AdvisorActivityTableComponent { [Parameter] public List Activities { get; set; } - [Inject] private NavigationManager _navigator { get; set; } + [Inject] public NavigationManager _navigator { get; set; } private static string GetProcessStatus(string processStatus) { diff --git a/Wonky.Client/Components/AdvisorCompanyTableComponent.razor.cs b/Wonky.Client/Components/AdvisorCompanyTableComponent.razor.cs index 390f1ae8..c2f55e8d 100644 --- a/Wonky.Client/Components/AdvisorCompanyTableComponent.razor.cs +++ b/Wonky.Client/Components/AdvisorCompanyTableComponent.razor.cs @@ -29,7 +29,7 @@ namespace Wonky.Client.Components [Parameter] public List Companies { get; set; } = new(); [Parameter] public EventCallback OnDelete { get; set; } [Parameter] public EventCallback OnSelect { get; set; } - [Inject] private NavigationManager _navigator { get; set; } + [Inject] public NavigationManager _navigator { get; set; } private Confirmation _confirmation = new (); private string _companyId = ""; diff --git a/Wonky.Client/Components/CompanySearchColumnComponent.razor.cs b/Wonky.Client/Components/CompanySearchColumnComponent.razor.cs index b9e4556d..edebb1e4 100644 --- a/Wonky.Client/Components/CompanySearchColumnComponent.razor.cs +++ b/Wonky.Client/Components/CompanySearchColumnComponent.razor.cs @@ -24,8 +24,8 @@ namespace Wonky.Client.Components; public partial class CompanySearchColumnComponent : IDisposable { - [Inject] private ILocalStorageService LocalStorage { get; set; } - [Inject] private UserPreferenceService UserPreferenceService { get; set; } + [Inject] public ILocalStorageService LocalStorage { get; set; } + [Inject] public UserPreferenceService UserPreferenceService { get; set; } [Parameter] public EventCallback OnChanged { get; set; } private Dictionary Items { get; set; } = new(); private Preferences _preferences = new(); diff --git a/Wonky.Client/Components/CompanySearchPhraseComponent.razor.cs b/Wonky.Client/Components/CompanySearchPhraseComponent.razor.cs index 3b6be3ef..ae639239 100644 --- a/Wonky.Client/Components/CompanySearchPhraseComponent.razor.cs +++ b/Wonky.Client/Components/CompanySearchPhraseComponent.razor.cs @@ -25,7 +25,7 @@ namespace Wonky.Client.Components private Timer InputTimer { get; set; } = new(); private string SearchTerm { get; set; } = ""; private Preferences Preferences { get; set; } = new (); - [Inject] private UserPreferenceService PreferenceService { get; set; } + [Inject] public UserPreferenceService PreferenceService { get; set; } [Parameter] public EventCallback OnChanged { get; set; } protected override async Task OnInitializedAsync() diff --git a/Wonky.Client/Components/CompanySortComponent.razor.cs b/Wonky.Client/Components/CompanySortComponent.razor.cs index 4ff9a92b..474a6ebe 100644 --- a/Wonky.Client/Components/CompanySortComponent.razor.cs +++ b/Wonky.Client/Components/CompanySortComponent.razor.cs @@ -23,8 +23,8 @@ namespace Wonky.Client.Components { public partial class CompanySortComponent : IDisposable { - [Inject] private ILocalStorageService LocalStorage { get; set; } - [Inject] private UserPreferenceService UserPreferenceService { get; set; } + [Inject] public ILocalStorageService LocalStorage { get; set; } + [Inject] public UserPreferenceService UserPreferenceService { get; set; } [Parameter] public EventCallback OnChanged { get; set; } private Dictionary Items { get; set; } = new(); private Preferences _preferences = new(); diff --git a/Wonky.Client/Components/ItemGroupComponent.razor.cs b/Wonky.Client/Components/ItemGroupComponent.razor.cs index 081be31b..aef8bd6c 100644 --- a/Wonky.Client/Components/ItemGroupComponent.razor.cs +++ b/Wonky.Client/Components/ItemGroupComponent.razor.cs @@ -22,8 +22,8 @@ namespace Wonky.Client.Components; public partial class ItemGroupComponent { - [Inject] private ILocalStorageService LocalStorage { get; set; } - [Inject] private UserPreferenceService UserPreferenceService { get; set; } + [Inject] public ILocalStorageService LocalStorage { get; set; } + [Inject] public UserPreferenceService UserPreferenceService { get; set; } [Parameter] public EventCallback OnChanged { get; set; } private Dictionary Items { get; set; } = new(); private Preferences _preferences = new(); diff --git a/Wonky.Client/Components/ItemSearchComponent.razor.cs b/Wonky.Client/Components/ItemSearchComponent.razor.cs index c0af8bea..ec5c2d1f 100644 --- a/Wonky.Client/Components/ItemSearchComponent.razor.cs +++ b/Wonky.Client/Components/ItemSearchComponent.razor.cs @@ -24,7 +24,7 @@ public partial class ItemSearchComponent : IDisposable /// /// User preference service /// - [Inject] private UserPreferenceService _preferenceService { get; set; } + [Inject] public UserPreferenceService _preferenceService { get; set; } /// /// OnChanged event callback diff --git a/Wonky.Client/Components/ItemSortComponent.razor.cs b/Wonky.Client/Components/ItemSortComponent.razor.cs index 01f3654e..0b9e8ca1 100644 --- a/Wonky.Client/Components/ItemSortComponent.razor.cs +++ b/Wonky.Client/Components/ItemSortComponent.razor.cs @@ -24,7 +24,7 @@ public partial class ItemSortComponent : IDisposable /// /// User preference service /// - [Inject] private UserPreferenceService _preferenceService { get; set; } + [Inject] public UserPreferenceService _preferenceService { get; set; } /// /// OnChanged callback function diff --git a/Wonky.Client/Components/ItemTableComponent.razor.cs b/Wonky.Client/Components/ItemTableComponent.razor.cs index 797f8b01..8170aea0 100644 --- a/Wonky.Client/Components/ItemTableComponent.razor.cs +++ b/Wonky.Client/Components/ItemTableComponent.razor.cs @@ -24,7 +24,7 @@ namespace Wonky.Client.Components; public partial class ItemTableComponent { [Parameter] public List SalesItems { get; set; } = new(); - [Inject] private IToastService ToastService { get; set; } + [Inject] public IToastService ToastService { get; set; } private void AddToDraft() { ToastService.ShowInfo("TODO: læg til ordre kladde"); diff --git a/Wonky.Client/Components/LandingComponentAdmin.razor.cs b/Wonky.Client/Components/LandingComponentAdmin.razor.cs index e54c50f7..3d239c20 100644 --- a/Wonky.Client/Components/LandingComponentAdmin.razor.cs +++ b/Wonky.Client/Components/LandingComponentAdmin.razor.cs @@ -32,12 +32,12 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; public partial class LandingComponentAdmin : IDisposable { - [Inject] private UserPreferenceService _preferenceService { get; set; } - [Inject] private ILogger _logger { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private IToastService _toast { get; set; } - [Inject] private ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; } - [Inject] private NavigationManager _navigator { get; set; } + [Inject] public UserPreferenceService _preferenceService { get; set; } + [Inject] public ILogger _logger { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public IToastService _toast { get; set; } + [Inject] public ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; } + [Inject] public NavigationManager _navigator { get; set; } private readonly JsonSerializerOptions _options = new JsonSerializerOptions { diff --git a/Wonky.Client/Components/LandingComponentAdvisor.razor.cs b/Wonky.Client/Components/LandingComponentAdvisor.razor.cs index e287ad1d..a1c24562 100644 --- a/Wonky.Client/Components/LandingComponentAdvisor.razor.cs +++ b/Wonky.Client/Components/LandingComponentAdvisor.razor.cs @@ -32,12 +32,12 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; public partial class LandingComponentAdvisor : IDisposable { - [Inject] private UserPreferenceService _preferenceService { get; set; } - [Inject] private ILogger _logger { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private IToastService _toast { get; set; } - [Inject] private ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; } - [Inject] private NavigationManager _navigator { get; set; } + [Inject] public UserPreferenceService _preferenceService { get; set; } + [Inject] public ILogger _logger { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public IToastService _toast { get; set; } + [Inject] public ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; } + [Inject] public NavigationManager _navigator { get; set; } private readonly JsonSerializerOptions _options = new JsonSerializerOptions { diff --git a/Wonky.Client/Components/OfficeActivityTableComponent.razor.cs b/Wonky.Client/Components/OfficeActivityTableComponent.razor.cs index 12558ddc..07a266d5 100644 --- a/Wonky.Client/Components/OfficeActivityTableComponent.razor.cs +++ b/Wonky.Client/Components/OfficeActivityTableComponent.razor.cs @@ -21,7 +21,7 @@ namespace Wonky.Client.Components; public partial class OfficeActivityTableComponent { [Parameter] public List Activities { get; set; } - [Inject] private NavigationManager _navigator { get; set; } + [Inject] public NavigationManager _navigator { get; set; } private static string GetProcessStatus(string processStatus) { diff --git a/Wonky.Client/Components/OfficeCustomerTableComponent.razor b/Wonky.Client/Components/OfficeCustomerTableComponent.razor index cec263ef..b8f935ab 100644 --- a/Wonky.Client/Components/OfficeCustomerTableComponent.razor +++ b/Wonky.Client/Components/OfficeCustomerTableComponent.razor @@ -58,10 +58,10 @@
+ Enabled="true">
diff --git a/Wonky.Client/Components/OfficeCustomerTableComponent.razor.cs b/Wonky.Client/Components/OfficeCustomerTableComponent.razor.cs index 7f592036..f1cf7b97 100644 --- a/Wonky.Client/Components/OfficeCustomerTableComponent.razor.cs +++ b/Wonky.Client/Components/OfficeCustomerTableComponent.razor.cs @@ -38,17 +38,5 @@ namespace Wonky.Client.Components { await base.OnInitializedAsync(); } - - private void CallConfirmationModal(string companyId) - { - _companyId = companyId; - _confirmation.Show(); - } - - private async Task DeleteCompany() - { - _confirmation.Hide(); - await OnDelete.InvokeAsync(_companyId); - } } } diff --git a/Wonky.Client/Components/PageSizeComponent.razor.cs b/Wonky.Client/Components/PageSizeComponent.razor.cs index 3d147228..58b949f6 100644 --- a/Wonky.Client/Components/PageSizeComponent.razor.cs +++ b/Wonky.Client/Components/PageSizeComponent.razor.cs @@ -23,8 +23,8 @@ namespace Wonky.Client.Components { public partial class PageSizeComponent : IDisposable { - [Inject] private ILocalStorageService LocalStorage { get; set; } - [Inject] private UserPreferenceService UserPreferenceService { get; set; } + [Inject] public ILocalStorageService LocalStorage { get; set; } + [Inject] public UserPreferenceService UserPreferenceService { get; set; } [Parameter] public EventCallback OnChanged { get; set; } private Dictionary Items { get; set; } = new(); private Preferences _preferences = new(); diff --git a/Wonky.Client/Components/WarehouseListComponent.razor.cs b/Wonky.Client/Components/WarehouseListComponent.razor.cs index 5e1ac1be..da86a4df 100644 --- a/Wonky.Client/Components/WarehouseListComponent.razor.cs +++ b/Wonky.Client/Components/WarehouseListComponent.razor.cs @@ -27,9 +27,9 @@ namespace Wonky.Client.Components; public partial class WarehouseListComponent { [Parameter] public string Status { get; set; } = "none"; - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private IWarehouseHttpRepository _warehouseRepo { get; set; } - [Inject] private IToastService _toast { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public IWarehouseHttpRepository _warehouseRepo { get; set; } + [Inject] public IToastService _toast { get; set; } private string _items { get; set; } private bool _readyToShip; diff --git a/Wonky.Client/Components/WorkDateComponent.razor.cs b/Wonky.Client/Components/WorkDateComponent.razor.cs index 84e7e473..d64e4289 100644 --- a/Wonky.Client/Components/WorkDateComponent.razor.cs +++ b/Wonky.Client/Components/WorkDateComponent.razor.cs @@ -26,7 +26,7 @@ public partial class WorkDateComponent : IDisposable /// /// User preference service /// - [Inject] private UserPreferenceService UserPrefs { get; set; } + [Inject] public UserPreferenceService UserPrefs { get; set; } /// /// OnChanged callback function diff --git a/Wonky.Client/HttpInterfaces/IOfficeCustomerHttpRepository.cs b/Wonky.Client/HttpInterfaces/IOfficeCustomerHttpRepository.cs index 8b16cef9..8824f107 100644 --- a/Wonky.Client/HttpInterfaces/IOfficeCustomerHttpRepository.cs +++ b/Wonky.Client/HttpInterfaces/IOfficeCustomerHttpRepository.cs @@ -21,6 +21,8 @@ namespace Wonky.Client.HttpInterfaces; public interface IOfficeCustomerHttpRepository { - Task> GetCompaniesPaged(string userId, CompanyPagingParams pagingParameters); + Task> GetCompaniesPaged(CompanyPagingParams pagingParameters); + Task> GetCompaniesPagedSalesRep(string salesRepId, CompanyPagingParams pagingParameters); + Task> GetCompaniesPagedCountry(string countryCode, CompanyPagingParams pagingParameters); Task GetCompanyById(string companyId); } \ No newline at end of file diff --git a/Wonky.Client/HttpRepository/OfficeCustomerHttpRepository.cs b/Wonky.Client/HttpRepository/OfficeCustomerHttpRepository.cs index 3ce6b02d..5f76821e 100644 --- a/Wonky.Client/HttpRepository/OfficeCustomerHttpRepository.cs +++ b/Wonky.Client/HttpRepository/OfficeCustomerHttpRepository.cs @@ -56,12 +56,13 @@ public class OfficeCustomerHttpRepository : IOfficeCustomerHttpRepository _navigation = navigation; _apiConfig = apiConfig.Value; } + /// - /// Get from crm endpoint + /// get a paged list of all customer entities /// /// - /// Paged response - public async Task> GetCompanies(CompanyPagingParams pagingParameters) + /// + public async Task> GetCompaniesPaged(CompanyPagingParams pagingParameters) { var queryString = new Dictionary { @@ -73,7 +74,69 @@ public class OfficeCustomerHttpRepository : IOfficeCustomerHttpRepository ["isHidden"] = pagingParameters.IsHidden.ToString(), ["hasFolded"] = pagingParameters.HasFolded.ToString() }; - var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.CrmCustomers}/page", queryString)); + var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.OfficeCustomers}", queryString)); + + 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 paged list of customer entities by sales rep id + /// + /// + /// + /// + public async Task> GetCompaniesPagedSalesRep(string salesRepId, CompanyPagingParams pagingParameters) + { + 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() + }; + var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.OfficeCustomers}/salesRep/{salesRepId}", queryString)); + + 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 paged list of customer companies by country code + /// + /// + /// + /// + public async Task> GetCompaniesPagedCountry(string countryCode, CompanyPagingParams pagingParameters) + { + 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() + }; + var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.OfficeCustomers}/country/{countryCode}", queryString)); var content = await response.Content.ReadAsStringAsync(); @@ -84,36 +147,15 @@ public class OfficeCustomerHttpRepository : IOfficeCustomerHttpRepository }; return pagingResponse; } - + /// - /// Get customer by account + /// Get customer entity by id /// - /// + /// /// - public async Task GetCompanyAccount(string accountNumber) - { - var company = await _client.GetFromJsonAsync($"{_apiConfig.CrmCustomers}/account/{accountNumber}"); - return company ?? new CompanyDto(); - } - - public Task> GetCompaniesPaged(CompanyPagingParams pagingParameters) - { - throw new NotImplementedException(); - } - - public Task> GetCompaniesPaged(string userId, CompanyPagingParams pagingParameters) - { - throw new NotImplementedException(); - } - - public Task GetCompanyByAccount(string accountNumber) - { - throw new NotImplementedException(); - } - public async Task GetCompanyById(string companyId) { - var company = await _client.GetFromJsonAsync($"{_apiConfig.CrmCustomers}/{companyId}"); + var company = await _client.GetFromJsonAsync($"{_apiConfig.OfficeCustomers}/id/{companyId}"); return company ?? new CompanyDto(); } @@ -124,7 +166,7 @@ public class OfficeCustomerHttpRepository : IOfficeCustomerHttpRepository /// company id public async Task CreateCompany(CompanyDto model) { - var response = await _client.PostAsJsonAsync($"{_apiConfig.CrmCustomers}", model); + var response = await _client.PostAsJsonAsync($"{_apiConfig.OfficeCustomers}", model); var content = await response.Content.ReadAsStringAsync(); var result = JsonSerializer.Deserialize(content, _options); return result.CompanyId; @@ -138,7 +180,7 @@ public class OfficeCustomerHttpRepository : IOfficeCustomerHttpRepository /// public async Task UpdateCompany(string companyId, CompanyDto model) { - var response = await _client.PutAsJsonAsync($"{_apiConfig.CrmCustomers}/{companyId}", model); + var response = await _client.PutAsJsonAsync($"{_apiConfig.OfficeCustomers}/{companyId}", model); var content = await response.Content.ReadAsStringAsync(); Console.WriteLine(content); return response.IsSuccessStatusCode; @@ -151,7 +193,7 @@ public class OfficeCustomerHttpRepository : IOfficeCustomerHttpRepository /// public async Task DeleteCompany(string companyId) { - var response = await _client.DeleteAsync($"{_apiConfig.CrmCustomers}/{companyId}"); + var response = await _client.DeleteAsync($"{_apiConfig.OfficeCustomers}/{companyId}"); return response.IsSuccessStatusCode; } } \ No newline at end of file diff --git a/Wonky.Client/Pages/AdminKrvItemViewPage.razor.cs b/Wonky.Client/Pages/AdminKrvItemViewPage.razor.cs index 2cb9a5f8..55c67be5 100644 --- a/Wonky.Client/Pages/AdminKrvItemViewPage.razor.cs +++ b/Wonky.Client/Pages/AdminKrvItemViewPage.razor.cs @@ -28,8 +28,8 @@ public partial class AdminKrvItemViewPage : IDisposable { [Parameter] public string SalesItemId { get; set; } = ""; private SalesItemView _item { get; set; } = new (); - [Inject] private ICatalogHttpRepository _itemRepo { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } + [Inject] public ICatalogHttpRepository _itemRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } protected override async Task OnInitializedAsync() diff --git a/Wonky.Client/Pages/CrmHistoryItemPage.razor.cs b/Wonky.Client/Pages/CrmHistoryItemPage.razor.cs index 2f4fb1aa..24c38f5b 100644 --- a/Wonky.Client/Pages/CrmHistoryItemPage.razor.cs +++ b/Wonky.Client/Pages/CrmHistoryItemPage.razor.cs @@ -26,9 +26,9 @@ public partial class CrmHistoryItemPage : IDisposable { [Parameter] public string Sku { get; set; } = ""; [Parameter] public string CompanyId { get; set; } = ""; - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private ICrmHistoryHttpRepository CrmHistoryRepo { get; set; } - [Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public ICrmHistoryHttpRepository CrmHistoryRepo { get; set; } + [Inject] public ICrmCompanyHttpRepository _companyRepo { get; set; } private List _lines { get; set; } = new(); private CompanyDto _company { get; set; } = new(); diff --git a/Wonky.Client/Pages/CrmHistoryListPage.razor.cs b/Wonky.Client/Pages/CrmHistoryListPage.razor.cs index e3260b95..05acc960 100644 --- a/Wonky.Client/Pages/CrmHistoryListPage.razor.cs +++ b/Wonky.Client/Pages/CrmHistoryListPage.razor.cs @@ -26,9 +26,9 @@ namespace Wonky.Client.Pages; public partial class CrmHistoryListPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private ICrmHistoryHttpRepository CrmHistoryRepo { get; set; } - [Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public ICrmHistoryHttpRepository CrmHistoryRepo { get; set; } + [Inject] public ICrmCompanyHttpRepository _companyRepo { get; set; } private List _lines { get; set; } = new(); private CompanyDto _company { get; set; } = new(); diff --git a/Wonky.Client/Pages/CrmInventoryPage.razor.cs b/Wonky.Client/Pages/CrmInventoryPage.razor.cs index 14f4e174..1934661f 100644 --- a/Wonky.Client/Pages/CrmInventoryPage.razor.cs +++ b/Wonky.Client/Pages/CrmInventoryPage.razor.cs @@ -27,10 +27,10 @@ namespace Wonky.Client.Pages; public partial class CrmInventoryPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; - [Inject] private ICrmHistoryHttpRepository CrmHistoryRepo { get; set; } - [Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private IToastService _toast { get; set; } + [Inject] public ICrmHistoryHttpRepository CrmHistoryRepo { get; set; } + [Inject] public ICrmCompanyHttpRepository _companyRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public IToastService _toast { get; set; } private CompanyDto _company { get; set; } = new(); private List _inventory { get; set; } = new(); private string _btnUpdateText { get; set; } = "check"; diff --git a/Wonky.Client/Pages/CrmListActivityCompanyPage.razor.cs b/Wonky.Client/Pages/CrmListActivityCompanyPage.razor.cs index 05ac6eb3..1166a21d 100644 --- a/Wonky.Client/Pages/CrmListActivityCompanyPage.razor.cs +++ b/Wonky.Client/Pages/CrmListActivityCompanyPage.razor.cs @@ -12,9 +12,9 @@ public partial class CrmListActivityCompanyPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; } - [Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public ICrmActivityHttpRepository CrmActivityRepo { get; set; } + [Inject] public ICrmCompanyHttpRepository _companyRepo { get; set; } private List _activities { get; set; } private CompanyDto _company { get; set; } diff --git a/Wonky.Client/Pages/CrmListActivityTodayPage.razor.cs b/Wonky.Client/Pages/CrmListActivityTodayPage.razor.cs index 44272018..ad5d4ec8 100644 --- a/Wonky.Client/Pages/CrmListActivityTodayPage.razor.cs +++ b/Wonky.Client/Pages/CrmListActivityTodayPage.razor.cs @@ -27,13 +27,13 @@ namespace Wonky.Client.Pages; public partial class CrmListActivityTodayPage : IDisposable { - [Inject] private UserPreferenceService _preferenceService { get; set; } - [Inject] private ILogger _logger { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private NavigationManager _navigator { get; set; } - [Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; } - [Inject] private ICrmReportHttpRepository CrmReportRepo { get; set; } - [Inject] private IToastService _toast { get; set; } + [Inject] public UserPreferenceService _preferenceService { get; set; } + [Inject] public ILogger _logger { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public NavigationManager _navigator { get; set; } + [Inject] public ICrmActivityHttpRepository CrmActivityRepo { get; set; } + [Inject] public ICrmReportHttpRepository CrmReportRepo { get; set; } + [Inject] public IToastService _toast { get; set; } private ReportStatusView? ReportStatusView { get; set; } = new(); private Preferences _prefs { get; set; } = new(); private string _workDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; diff --git a/Wonky.Client/Pages/CrmListCompanyPage.razor.cs b/Wonky.Client/Pages/CrmListCompanyPage.razor.cs index 8cda7e84..99c052a5 100644 --- a/Wonky.Client/Pages/CrmListCompanyPage.razor.cs +++ b/Wonky.Client/Pages/CrmListCompanyPage.razor.cs @@ -29,11 +29,11 @@ namespace Wonky.Client.Pages { public partial class CrmListCompanyPage : IDisposable { - [Inject] private ILocalStorageService _storage { get; set; } - [Inject] private UserPreferenceService _preferenceService { get; set; } - [Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private NavigationManager _navigator { get; set; } + [Inject] public ILocalStorageService _storage { get; set; } + [Inject] public UserPreferenceService _preferenceService { get; set; } + [Inject] public ICrmCompanyHttpRepository _companyRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public NavigationManager _navigator { get; set; } private List _companyList { get; set; } = new(); private MetaData _metaData { get; set; } = new(); private CompanyPagingParams _paging = new(); @@ -113,6 +113,10 @@ namespace Wonky.Client.Pages await GetCompanies(); } + /// + /// Removes a company from CRM + /// + /// private async Task DeleteCompany(string companyId) { _companyList = new List(); diff --git a/Wonky.Client/Pages/CrmListReportPage.razor.cs b/Wonky.Client/Pages/CrmListReportPage.razor.cs index e24ab751..f27de41f 100644 --- a/Wonky.Client/Pages/CrmListReportPage.razor.cs +++ b/Wonky.Client/Pages/CrmListReportPage.razor.cs @@ -24,8 +24,8 @@ namespace Wonky.Client.Pages; public partial class CrmListReportPage : IDisposable { - [Inject] private ICrmReportHttpRepository CrmReportRepo { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } + [Inject] public ICrmReportHttpRepository CrmReportRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } private List _reports { get; set; } diff --git a/Wonky.Client/Pages/CrmNewActivityPage.razor.cs b/Wonky.Client/Pages/CrmNewActivityPage.razor.cs index fb36966c..f06ebfbf 100644 --- a/Wonky.Client/Pages/CrmNewActivityPage.razor.cs +++ b/Wonky.Client/Pages/CrmNewActivityPage.razor.cs @@ -36,16 +36,16 @@ public partial class CrmNewActivityPage : IDisposable [CascadingParameter] DraftStateProvider DraftStateProvider { get; set; } [Parameter] public string CompanyId { get; set; } // Services - [Inject] private ILogger _logger { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private UserPreferenceService _userPrefs { get; set; } - [Inject] private IToastService _toast { get; set; } - [Inject] private NavigationManager _navigator { get; set; } - [Inject] private ILocalStorageService _storage { get; set; } - [Inject] private ICatalogHttpRepository _itemRepo { get; set; } - [Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; } - [Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; } - [Inject] private ICrmReportHttpRepository CrmReportRepo { get; set; } + [Inject] public ILogger _logger { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public UserPreferenceService _userPrefs { get; set; } + [Inject] public IToastService _toast { get; set; } + [Inject] public NavigationManager _navigator { get; set; } + [Inject] public ILocalStorageService _storage { get; set; } + [Inject] public ICatalogHttpRepository _itemRepo { get; set; } + [Inject] public ICrmCompanyHttpRepository _companyRepo { get; set; } + [Inject] public ICrmActivityHttpRepository CrmActivityRepo { get; set; } + [Inject] public ICrmReportHttpRepository CrmReportRepo { get; set; } // variables private readonly JsonSerializerOptions? _options = new JsonSerializerOptions{PropertyNameCaseInsensitive = true}; private PriceListModal _priceListModal { get; set; } diff --git a/Wonky.Client/Pages/CrmNewCustomerPage.razor.cs b/Wonky.Client/Pages/CrmNewCustomerPage.razor.cs index 15704977..c5a43c41 100644 --- a/Wonky.Client/Pages/CrmNewCustomerPage.razor.cs +++ b/Wonky.Client/Pages/CrmNewCustomerPage.razor.cs @@ -38,13 +38,13 @@ namespace Wonky.Client.Pages { public partial class CrmNewCustomerPage : IDisposable { - [Inject] private IToastService _toast { get; set; } - [Inject] private ILogger _logger { get; set; } - [Inject] private ILocalStorageService _storage { get; set; } - [Inject] private NavigationManager _navigator { get; set; } - [Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private VatInfoLookupService _vatService { get; set; } + [Inject] public IToastService _toast { get; set; } + [Inject] public ILogger _logger { get; set; } + [Inject] public ILocalStorageService _storage { get; set; } + [Inject] public NavigationManager _navigator { get; set; } + [Inject] public ICrmCompanyHttpRepository _companyRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public VatInfoLookupService _vatService { get; set; } private EditContext _editContext { get; set; } private CompanyDto _company { get; set; } = new(); private VirkRegInfo _virkRegInfo { get; set; } = new(); diff --git a/Wonky.Client/Pages/CrmNewReportPage.razor.cs b/Wonky.Client/Pages/CrmNewReportPage.razor.cs index f96aa05f..ec355bb8 100644 --- a/Wonky.Client/Pages/CrmNewReportPage.razor.cs +++ b/Wonky.Client/Pages/CrmNewReportPage.razor.cs @@ -32,13 +32,13 @@ namespace Wonky.Client.Pages; public partial class CrmNewReportPage : IDisposable { - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private UserPreferenceService _userPrefs { get; set; } - [Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; } - [Inject] private ICrmReportHttpRepository CrmReportRepo { get; set; } - [Inject] private NavigationManager _navigator { get; set; } - [Inject] private ILogger _logger { get; set; } - [Inject] private IToastService _toast { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public UserPreferenceService _userPrefs { get; set; } + [Inject] public ICrmActivityHttpRepository CrmActivityRepo { get; set; } + [Inject] public ICrmReportHttpRepository CrmReportRepo { get; set; } + [Inject] public NavigationManager _navigator { get; set; } + [Inject] public ILogger _logger { get; set; } + [Inject] public IToastService _toast { get; set; } private EditContext _editContext { get; set; } private ReportDto _report { get; set; } = new(); private List _activities { get; set; } = new(); diff --git a/Wonky.Client/Pages/CrmTaskItemListPage.razor.cs b/Wonky.Client/Pages/CrmTaskItemListPage.razor.cs index e543af2f..abc56a5f 100644 --- a/Wonky.Client/Pages/CrmTaskItemListPage.razor.cs +++ b/Wonky.Client/Pages/CrmTaskItemListPage.razor.cs @@ -29,10 +29,10 @@ public partial class CrmTaskItemListPage : IDisposable { [Inject] public UserPreferenceService UserPrefs { get; set; } [Inject] public ILogger Logger { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private NavigationManager _navigator { get; set; } - [Inject] private ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; } - [Inject] private IToastService _toast { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public NavigationManager _navigator { get; set; } + [Inject] public ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; } + [Inject] public IToastService _toast { get; set; } private Preferences _prefs { get; set; } = new(); private string _workDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; private bool _reportExist = false; diff --git a/Wonky.Client/Pages/CrmTaskItemViewPage.razor.cs b/Wonky.Client/Pages/CrmTaskItemViewPage.razor.cs index 13d386a0..e221d2a6 100644 --- a/Wonky.Client/Pages/CrmTaskItemViewPage.razor.cs +++ b/Wonky.Client/Pages/CrmTaskItemViewPage.razor.cs @@ -27,8 +27,8 @@ namespace Wonky.Client.Pages; public partial class CrmTaskItemViewPage : IDisposable { [Parameter] public string TaskItemId { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; } private TaskItemDto _taskItem = new (); private EditContext _editContext { get; set; } diff --git a/Wonky.Client/Pages/CrmViewActivityPage.razor.cs b/Wonky.Client/Pages/CrmViewActivityPage.razor.cs index 73325227..3d4ce918 100644 --- a/Wonky.Client/Pages/CrmViewActivityPage.razor.cs +++ b/Wonky.Client/Pages/CrmViewActivityPage.razor.cs @@ -15,10 +15,10 @@ public partial class CrmViewActivityPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string OrderId { get; set; } = ""; - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; } - [Inject] private ILogger _logger { get; set; } - [Inject] private IToastService _toast { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public ICrmActivityHttpRepository CrmActivityRepo { get; set; } + [Inject] public ILogger _logger { get; set; } + [Inject] public IToastService _toast { get; set; } private ReportItemView ReportItem { get; set; } = new(); private ActivityOfficeNote _note { get; set; } = new(); private EditContext OfficeNote { get; set; } diff --git a/Wonky.Client/Pages/CrmViewCompanyPage.razor.cs b/Wonky.Client/Pages/CrmViewCompanyPage.razor.cs index 0770cdc6..0d4f9308 100644 --- a/Wonky.Client/Pages/CrmViewCompanyPage.razor.cs +++ b/Wonky.Client/Pages/CrmViewCompanyPage.razor.cs @@ -38,14 +38,14 @@ namespace Wonky.Client.Pages; public partial class CrmViewCompanyPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; - [Inject] private IToastService _toast { get; set; } - [Inject] private ILogger _logger { get; set; } - [Inject] private NavigationManager _navigator { get; set; } - [Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; } - [Inject] private ICrmHistoryHttpRepository CrmHistoryRepo { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private VatInfoLookupService _vatService { get; set; } - [Inject] private ILocalStorageService _storage { get; set; } + [Inject] public IToastService _toast { get; set; } + [Inject] public ILogger _logger { get; set; } + [Inject] public NavigationManager _navigator { get; set; } + [Inject] public ICrmCompanyHttpRepository _companyRepo { get; set; } + [Inject] public ICrmHistoryHttpRepository CrmHistoryRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public VatInfoLookupService _vatService { get; set; } + [Inject] public ILocalStorageService _storage { get; set; } private CompanyDto _company { get; set; } = new(); private EditContext _editContext { get; set; } private List _vInfos { get; set; } = new(); diff --git a/Wonky.Client/Pages/CrmViewReportPage.razor.cs b/Wonky.Client/Pages/CrmViewReportPage.razor.cs index da453716..15431223 100644 --- a/Wonky.Client/Pages/CrmViewReportPage.razor.cs +++ b/Wonky.Client/Pages/CrmViewReportPage.razor.cs @@ -24,8 +24,8 @@ namespace Wonky.Client.Pages; public partial class CrmViewReportPage { [Parameter] public string ReportDate { get; set; } - [Inject] private ICrmReportHttpRepository CrmReportRepo { get; set; } - [Inject] private NavigationManager _navigator { get; set; } + [Inject] public ICrmReportHttpRepository CrmReportRepo { get; set; } + [Inject] public NavigationManager _navigator { get; set; } private ReportView _report { get; set; } = new(); private List _items { get; set; } = new (); diff --git a/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor.cs b/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor.cs index 98004f07..8ece1a69 100644 --- a/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor.cs +++ b/Wonky.Client/Pages/CrmWorkplaceDocumentListPage.razor.cs @@ -10,8 +10,8 @@ public partial class CrmWorkplaceDocumentListPage [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string WorkplaceId { get; set; } = ""; - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private ICrmWorkplaceHttpRepository CrmWorkplaceRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public ICrmWorkplaceHttpRepository CrmWorkplaceRepo { get; set; } protected override async Task OnParametersSetAsync() { diff --git a/Wonky.Client/Pages/CrmWorkplaceListPage.razor.cs b/Wonky.Client/Pages/CrmWorkplaceListPage.razor.cs index 30101c95..d775908d 100644 --- a/Wonky.Client/Pages/CrmWorkplaceListPage.razor.cs +++ b/Wonky.Client/Pages/CrmWorkplaceListPage.razor.cs @@ -27,9 +27,9 @@ namespace Wonky.Client.Pages; public partial class CrmWorkplaceListPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; - [Inject] private ICrmWorkplaceHttpRepository CrmWorkplaceRepo { get; set; } - [Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } + [Inject] public ICrmWorkplaceHttpRepository CrmWorkplaceRepo { get; set; } + [Inject] public ICrmCompanyHttpRepository _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/CrmWorkplaceViewPage.razor.cs b/Wonky.Client/Pages/CrmWorkplaceViewPage.razor.cs index 462eeb54..ef5d766b 100644 --- a/Wonky.Client/Pages/CrmWorkplaceViewPage.razor.cs +++ b/Wonky.Client/Pages/CrmWorkplaceViewPage.razor.cs @@ -29,10 +29,10 @@ public partial class CrmWorkplaceViewPage : IDisposable { [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string WorkplaceId { get; set; } = ""; - [Inject] private ICrmWorkplaceHttpRepository CrmWorkplaceRepo { get; set; } - [Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private NavigationManager _navigator { get; set; } + [Inject] public ICrmWorkplaceHttpRepository CrmWorkplaceRepo { get; set; } + [Inject] public ICrmCompanyHttpRepository _companyRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public NavigationManager _navigator { get; set; } private WorkplaceDto _workplace { get; set; } = new(); private EditContext _editContext { get; set; } diff --git a/Wonky.Client/Pages/OfficeListCrmUserPage.razor.cs b/Wonky.Client/Pages/OfficeListCrmUserPage.razor.cs index 2f4367fb..b1a5d65b 100644 --- a/Wonky.Client/Pages/OfficeListCrmUserPage.razor.cs +++ b/Wonky.Client/Pages/OfficeListCrmUserPage.razor.cs @@ -25,8 +25,8 @@ namespace Wonky.Client.Pages; public partial class OfficeListCrmUserPage : IDisposable { [Parameter] public string CountryCode { get; set; } = ""; - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private IOfficeUserHttpRepository OfficeUserRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public IOfficeUserHttpRepository OfficeUserRepo { get; set; } private List _salesReps { get; set; } = new(); diff --git a/Wonky.Client/Pages/OfficeListCustomerPage.razor b/Wonky.Client/Pages/OfficeListCustomerPage.razor index 4e6d3572..9cd82815 100644 --- a/Wonky.Client/Pages/OfficeListCustomerPage.razor +++ b/Wonky.Client/Pages/OfficeListCustomerPage.razor @@ -17,13 +17,38 @@ @using Wonky.Client.Components @page "/admin/companies" -
-
-
- Kundeliste + +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-
- -
-
\ No newline at end of file +
+ + \ No newline at end of file diff --git a/Wonky.Client/Pages/OfficeListCustomerPage.razor.cs b/Wonky.Client/Pages/OfficeListCustomerPage.razor.cs index 5b7aca79..ae07c3a7 100644 --- a/Wonky.Client/Pages/OfficeListCustomerPage.razor.cs +++ b/Wonky.Client/Pages/OfficeListCustomerPage.razor.cs @@ -15,22 +15,109 @@ using Microsoft.AspNetCore.Components; using Wonky.Client.HttpInterceptors; +using Wonky.Client.HttpInterfaces; using Wonky.Client.Services; using Wonky.Entity.DTO; +using Wonky.Entity.Requests; namespace Wonky.Client.Pages; -public partial class OfficeListCustomerPage +public partial class OfficeListCustomerPage : IDisposable { [Parameter] public string UserId { get; set; } = ""; [Parameter] public string CountryCode { get; set; } = ""; - [Inject] private ILogger _logger { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private UserPreferenceService _userPrefs { get; set; } - - private readonly List _companyList = new(); - - + [Inject] public ILogger _logger { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public IOfficeCustomerHttpRepository _companyRepo { get; set; } + [Inject] public UserPreferenceService PreferenceService { get; set; } + private List _companyList { get; set; } = new(); + private MetaData _metaData { get; set; } = new(); + private CompanyPagingParams _paging = new(); + private Preferences _preferences { get; set; } = new(); + private string _savedSearch { get; set; } = ""; + private bool _includeFolded { get; set; } + protected override async Task OnParametersSetAsync() + { + _interceptor.DisposeEvent(); + _interceptor.RegisterBeforeSendEvent(); + + // set preferences + _preferences = await PreferenceService.GetPreferences(); + _paging.OrderBy = _preferences.CompanySort; + _paging.SearchColumn = _preferences.CompanySearch; + _paging.PageSize = Convert.ToInt32(_preferences.PageSize); + _paging.HasFolded = _includeFolded ? 1 : 0; + + // load saved search + _savedSearch = _preferences.CompanyFilterPhrase; + _paging.SearchTerm = _savedSearch; + + await GetCompanies(); + } + + private async Task OnFoldedClick() + { + _includeFolded = !_includeFolded; + _companyList = new List(); + _paging.PageNumber = 1; + _paging.HasFolded = _includeFolded ? 1 : 0; + await GetCompanies(); + } + private async Task SelectedPage(int page) + { + _companyList = new List(); + _paging.PageNumber = page; + await GetCompanies(); + } + + private async Task SetSearchCol(string searchColumn) + { + _companyList = new List(); + _paging.SearchColumn = searchColumn; + _paging.PageNumber = 1; + await GetCompanies(); + } + private async Task SetPageSize(string pageSize) + { + _companyList = new List(); + _paging.PageSize = Convert.ToInt32(pageSize); + _paging.PageNumber = 1; + await GetCompanies(); + } + + private async Task SetSearchPhrase(string searchTerm) + { + // if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.Length < 3) return; + + _companyList = new List(); + _paging.PageNumber = 1; + _paging.SearchTerm = searchTerm; + await GetCompanies(); + if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.TrimEnd().Length > 2) + { + _savedSearch = searchTerm; + await PreferenceService.SetCompanyFilterPhrase(searchTerm.Trim()); + } + } + + private async Task SetSortCol(string orderBy) + { + _companyList = new List(); + _paging.OrderBy = orderBy; + await GetCompanies(); + } + + private async Task GetCompanies() + { + var pagingResponse = await _companyRepo.GetCompaniesPagedSalesRep(UserId, _paging); + _companyList = pagingResponse.Items; + _metaData = pagingResponse.MetaData; + } + + public void Dispose() + { + _interceptor.DisposeEvent(); + } } \ No newline at end of file diff --git a/Wonky.Client/Pages/OfficeListCustomerSalesRepPage.razor b/Wonky.Client/Pages/OfficeListCustomerSalesRepPage.razor new file mode 100644 index 00000000..9cd82815 --- /dev/null +++ b/Wonky.Client/Pages/OfficeListCustomerSalesRepPage.razor @@ -0,0 +1,54 @@ +@* +// 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 +@page "/admin/companies" + +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/Wonky.Client/Pages/OfficeListCustomerSalesRepPage.razor.cs b/Wonky.Client/Pages/OfficeListCustomerSalesRepPage.razor.cs new file mode 100644 index 00000000..4b15408f --- /dev/null +++ b/Wonky.Client/Pages/OfficeListCustomerSalesRepPage.razor.cs @@ -0,0 +1,123 @@ +// 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 Microsoft.AspNetCore.Components; +using Wonky.Client.HttpInterceptors; +using Wonky.Client.HttpInterfaces; +using Wonky.Client.Services; +using Wonky.Entity.DTO; +using Wonky.Entity.Requests; + +namespace Wonky.Client.Pages; + +public partial class OfficeListCustomerSalesRepPage : IDisposable +{ + [Parameter] public string UserId { get; set; } = ""; + [Parameter] public string CountryCode { get; set; } = ""; + + [Inject] public ILogger _logger { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public IOfficeCustomerHttpRepository _companyRepo { get; set; } + [Inject] public UserPreferenceService PreferenceService { get; set; } + private List _companyList { get; set; } = new(); + private MetaData _metaData { get; set; } = new(); + private CompanyPagingParams _paging = new(); + private Preferences _preferences { get; set; } = new(); + private string _savedSearch { get; set; } = ""; + private bool _includeFolded { get; set; } + + protected override async Task OnParametersSetAsync() + { + _interceptor.DisposeEvent(); + _interceptor.RegisterBeforeSendEvent(); + + // set preferences + _preferences = await PreferenceService.GetPreferences(); + _paging.OrderBy = _preferences.CompanySort; + _paging.SearchColumn = _preferences.CompanySearch; + _paging.PageSize = Convert.ToInt32(_preferences.PageSize); + _paging.HasFolded = _includeFolded ? 1 : 0; + + // load saved search + _savedSearch = _preferences.CompanyFilterPhrase; + _paging.SearchTerm = _savedSearch; + + await GetCompanies(); + } + + private async Task OnFoldedClick() + { + _includeFolded = !_includeFolded; + _companyList = new List(); + _paging.PageNumber = 1; + _paging.HasFolded = _includeFolded ? 1 : 0; + await GetCompanies(); + } + private async Task SelectedPage(int page) + { + _companyList = new List(); + _paging.PageNumber = page; + await GetCompanies(); + } + + private async Task SetSearchCol(string searchColumn) + { + _companyList = new List(); + _paging.SearchColumn = searchColumn; + _paging.PageNumber = 1; + await GetCompanies(); + } + private async Task SetPageSize(string pageSize) + { + _companyList = new List(); + _paging.PageSize = Convert.ToInt32(pageSize); + _paging.PageNumber = 1; + await GetCompanies(); + } + + private async Task SetSearchPhrase(string searchTerm) + { + // if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.Length < 3) return; + + _companyList = new List(); + _paging.PageNumber = 1; + _paging.SearchTerm = searchTerm; + await GetCompanies(); + if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.TrimEnd().Length > 2) + { + _savedSearch = searchTerm; + await PreferenceService.SetCompanyFilterPhrase(searchTerm.Trim()); + } + } + + private async Task SetSortCol(string orderBy) + { + _companyList = new List(); + _paging.OrderBy = orderBy; + await GetCompanies(); + } + + private async Task GetCompanies() + { + var pagingResponse = await _companyRepo.GetCompaniesPagedSalesRep(UserId, _paging); + _companyList = pagingResponse.Items; + _metaData = pagingResponse.MetaData; + } + + public void Dispose() + { + _interceptor.DisposeEvent(); + } +} \ No newline at end of file diff --git a/Wonky.Client/Pages/OfficeListReportPage.razor.cs b/Wonky.Client/Pages/OfficeListReportPage.razor.cs index b23dae38..70304681 100644 --- a/Wonky.Client/Pages/OfficeListReportPage.razor.cs +++ b/Wonky.Client/Pages/OfficeListReportPage.razor.cs @@ -26,8 +26,8 @@ public partial class OfficeListReportPage : IDisposable { [Parameter] public string UserId { get; set; } = ""; [Parameter] public string CountryCode { get; set; } = ""; - [Inject] private IOfficeReportHttpRepository _reportRepo { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } + [Inject] public IOfficeReportHttpRepository _reportRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } private List _reports { get; set; } protected override async Task OnInitializedAsync() diff --git a/Wonky.Client/Pages/OfficeNewOrderPage.razor.cs b/Wonky.Client/Pages/OfficeNewOrderPage.razor.cs index c920d201..2d8a3c70 100644 --- a/Wonky.Client/Pages/OfficeNewOrderPage.razor.cs +++ b/Wonky.Client/Pages/OfficeNewOrderPage.razor.cs @@ -16,12 +16,12 @@ public partial class OfficeNewOrderPage : IDisposable { [CascadingParameter] DraftStateProvider DraftStateProvider { get; set; } [Parameter] public string CompanyId { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private IOfficeCustomerHttpRepository _companyRepo { get; set; } - [Inject] private IOfficeUserHttpRepository OfficeUserRepo { get; set; } - [Inject] private ICatalogHttpRepository _itemRepo { get; set; } - [Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; } - [Inject] private ILogger _logger { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public IOfficeCustomerHttpRepository _companyRepo { get; set; } + [Inject] public IOfficeUserHttpRepository OfficeUserRepo { get; set; } + [Inject] public ICatalogHttpRepository _itemRepo { get; set; } + [Inject] public ICrmActivityHttpRepository CrmActivityRepo { get; set; } + [Inject] public ILogger _logger { get; set; } private PriceListModal _priceList { get; set; } = new(); private CompanyDto _company { get; set; } = new(); private EditContext _editContext { get; set; } diff --git a/Wonky.Client/Pages/OfficeViewCrmUserPage.razor.cs b/Wonky.Client/Pages/OfficeViewCrmUserPage.razor.cs index 889ae3ea..f40c2412 100644 --- a/Wonky.Client/Pages/OfficeViewCrmUserPage.razor.cs +++ b/Wonky.Client/Pages/OfficeViewCrmUserPage.razor.cs @@ -29,11 +29,11 @@ public partial class OfficeViewCrmUserPage : IDisposable { [Parameter] public string UserId { get; set; } = ""; [Parameter] public string CountryCode { get; set; } = ""; - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private IOfficeUserHttpRepository OfficeUserRepo { get; set; } - [Inject] private ILogger _logger { get; set; } - [Inject] private NavigationManager _navigator { get; set; } - [Inject] private IToastService _toast { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public IOfficeUserHttpRepository OfficeUserRepo { get; set; } + [Inject] public ILogger _logger { get; set; } + [Inject] public NavigationManager _navigator { get; set; } + [Inject] public IToastService _toast { get; set; } private UserInfoDto UserInfoDto { get; set; } = new(); private EditContext _editContext { get; set; } private UserUpdateDto _updateInfo { get; set; } = new(); diff --git a/Wonky.Client/Pages/OfficeViewReportPage.razor.cs b/Wonky.Client/Pages/OfficeViewReportPage.razor.cs index 7c284d46..9440ab02 100644 --- a/Wonky.Client/Pages/OfficeViewReportPage.razor.cs +++ b/Wonky.Client/Pages/OfficeViewReportPage.razor.cs @@ -39,15 +39,15 @@ public partial class OfficeViewReportPage : IDisposable /// /// Injected interceptor service /// - [Inject] private HttpInterceptorService _interceptor { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } /// /// Injected administrative report http repo /// - [Inject] private IOfficeReportHttpRepository _reportRepo { get; set; } + [Inject] public IOfficeReportHttpRepository _reportRepo { get; set; } /// /// Navigation Manager /// - [Inject] private NavigationManager _navigator { get; set; } + [Inject] public NavigationManager _navigator { get; set; } /// /// Report to render diff --git a/Wonky.Client/Pages/OfficeViewSalesActivityPage.razor.cs b/Wonky.Client/Pages/OfficeViewSalesActivityPage.razor.cs index d4af4581..887afc49 100644 --- a/Wonky.Client/Pages/OfficeViewSalesActivityPage.razor.cs +++ b/Wonky.Client/Pages/OfficeViewSalesActivityPage.razor.cs @@ -12,8 +12,8 @@ public partial class OfficeViewSalesActivityPage { [Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string OrderId { get; set; } = ""; - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public ICrmActivityHttpRepository CrmActivityRepo { get; set; } private ReportItemView _item { get; set; } = new(); protected override async Task OnParametersSetAsync() diff --git a/Wonky.Client/Pages/SalesCatalogPage.razor b/Wonky.Client/Pages/SalesCatalogDkPage.razor similarity index 100% rename from Wonky.Client/Pages/SalesCatalogPage.razor rename to Wonky.Client/Pages/SalesCatalogDkPage.razor diff --git a/Wonky.Client/Pages/SalesCatalogPage.razor.cs b/Wonky.Client/Pages/SalesCatalogDkPage.razor.cs similarity index 91% rename from Wonky.Client/Pages/SalesCatalogPage.razor.cs rename to Wonky.Client/Pages/SalesCatalogDkPage.razor.cs index 75fcb9b3..4eea8a5d 100644 --- a/Wonky.Client/Pages/SalesCatalogPage.razor.cs +++ b/Wonky.Client/Pages/SalesCatalogDkPage.razor.cs @@ -29,12 +29,12 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class SalesCatalogPage : IDisposable +public partial class SalesCatalogDkPage : IDisposable { - [Inject] private ILocalStorageService _storage { get; set; } - [Inject] private ICatalogHttpRepository _itemRepo { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private UserPreferenceService _preferenceService { get; set; } + [Inject] public ILocalStorageService _storage { get; set; } + [Inject] public ICatalogHttpRepository _itemRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public UserPreferenceService _preferenceService { get; set; } private List _items { get; set; } = new(); private MetaData _metaData { get; set; } = new(); private CatalogPagingParams _paging = new(); diff --git a/Wonky.Client/Pages/SalesCatalogNoPage.razor b/Wonky.Client/Pages/SalesCatalogNoPage.razor new file mode 100644 index 00000000..1ed52282 --- /dev/null +++ b/Wonky.Client/Pages/SalesCatalogNoPage.razor @@ -0,0 +1,51 @@ +@* +// Copyright (C) 2022 FCS Frede's Computer Services. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] +// +*@ + +@page "/price-catalog" +@using Wonky.Client.Components +@using Microsoft.AspNetCore.Authorization + +@attribute [Authorize(Roles = "Advisor,Admin")] + +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+
+
+ + diff --git a/Wonky.Client/Pages/SalesCatalogNoPage.razor.cs b/Wonky.Client/Pages/SalesCatalogNoPage.razor.cs new file mode 100644 index 00000000..eb319606 --- /dev/null +++ b/Wonky.Client/Pages/SalesCatalogNoPage.razor.cs @@ -0,0 +1,110 @@ +// 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 SalesCatalogNoPage : IDisposable +{ + [Inject] public ILocalStorageService _storage { get; set; } + [Inject] public ICatalogHttpRepository _itemRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public UserPreferenceService _preferenceService { get; set; } + private List _items { get; set; } = new(); + private MetaData _metaData { get; set; } = new(); + private CatalogPagingParams _paging = new(); + private Preferences _preferences = new(); + + protected override async Task OnInitializedAsync() + { + _preferences = await _preferenceService.GetPreferences(); + _paging.OrderBy = _preferences.ItemSort; + _paging.SearchColumn = _preferences.ItemSearch; + _paging.PageSize = Convert.ToInt32(_preferences.PageSize); + + _interceptor.RegisterEvent(); + _interceptor.RegisterBeforeSendEvent(); + await GetSalesItems(); + } + + private async Task GetSalesItems() + { + var pagingResponse = await _itemRepo.GetSalesItemsPaged(_paging); + _items = pagingResponse.Items!; + _metaData = pagingResponse.MetaData; + } + + private async Task SetSearchPhrase(string searchTerm) + { + _items = new List(); + _paging.PageNumber = 1; + _paging.SearchTerm = searchTerm; + await GetSalesItems(); + } + + private async Task SetPageSize(string pageSize) + { + _items = new List(); + _paging.PageSize = Convert.ToInt32(pageSize); + _paging.PageNumber = 1; + await GetSalesItems(); + } + + private async Task SetSearchCol(string columnName) + { + _items = new List(); + _paging.PageNumber = 1; + _paging.SearchColumn = columnName; + await GetSalesItems(); + } + + private async Task SetSortCol(string orderBy) + { + _items = new List(); + _paging.OrderBy = orderBy; + await GetSalesItems(); + } + + private async Task SelectedPage(int page) + { + _items = new List(); + _paging.PageNumber = page; + await GetSalesItems(); + } + + private async Task SetItemGroup(string groupFilter) + { + _items = new List(); + _paging.PageNumber = 1; + _paging.SelectGroup = groupFilter; + await GetSalesItems(); + } + + public void Dispose() => _interceptor.DisposeEvent(); + +} \ No newline at end of file diff --git a/Wonky.Client/Pages/SalesCatalogSePage.razor b/Wonky.Client/Pages/SalesCatalogSePage.razor new file mode 100644 index 00000000..1ed52282 --- /dev/null +++ b/Wonky.Client/Pages/SalesCatalogSePage.razor @@ -0,0 +1,51 @@ +@* +// Copyright (C) 2022 FCS Frede's Computer Services. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] +// +*@ + +@page "/price-catalog" +@using Wonky.Client.Components +@using Microsoft.AspNetCore.Authorization + +@attribute [Authorize(Roles = "Advisor,Admin")] + +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+
+
+ + diff --git a/Wonky.Client/Pages/SalesCatalogSePage.razor.cs b/Wonky.Client/Pages/SalesCatalogSePage.razor.cs new file mode 100644 index 00000000..e94ff866 --- /dev/null +++ b/Wonky.Client/Pages/SalesCatalogSePage.razor.cs @@ -0,0 +1,110 @@ +// 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 SalesCatalogSePage : IDisposable +{ + [Inject] public ILocalStorageService _storage { get; set; } + [Inject] public ICatalogHttpRepository _itemRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public UserPreferenceService _preferenceService { get; set; } + private List _items { get; set; } = new(); + private MetaData _metaData { get; set; } = new(); + private CatalogPagingParams _paging = new(); + private Preferences _preferences = new(); + + protected override async Task OnInitializedAsync() + { + _preferences = await _preferenceService.GetPreferences(); + _paging.OrderBy = _preferences.ItemSort; + _paging.SearchColumn = _preferences.ItemSearch; + _paging.PageSize = Convert.ToInt32(_preferences.PageSize); + + _interceptor.RegisterEvent(); + _interceptor.RegisterBeforeSendEvent(); + await GetSalesItems(); + } + + private async Task GetSalesItems() + { + var pagingResponse = await _itemRepo.GetSalesItemsPaged(_paging); + _items = pagingResponse.Items!; + _metaData = pagingResponse.MetaData; + } + + private async Task SetSearchPhrase(string searchTerm) + { + _items = new List(); + _paging.PageNumber = 1; + _paging.SearchTerm = searchTerm; + await GetSalesItems(); + } + + private async Task SetPageSize(string pageSize) + { + _items = new List(); + _paging.PageSize = Convert.ToInt32(pageSize); + _paging.PageNumber = 1; + await GetSalesItems(); + } + + private async Task SetSearchCol(string columnName) + { + _items = new List(); + _paging.PageNumber = 1; + _paging.SearchColumn = columnName; + await GetSalesItems(); + } + + private async Task SetSortCol(string orderBy) + { + _items = new List(); + _paging.OrderBy = orderBy; + await GetSalesItems(); + } + + private async Task SelectedPage(int page) + { + _items = new List(); + _paging.PageNumber = page; + await GetSalesItems(); + } + + private async Task SetItemGroup(string groupFilter) + { + _items = new List(); + _paging.PageNumber = 1; + _paging.SelectGroup = groupFilter; + await GetSalesItems(); + } + + public void Dispose() => _interceptor.DisposeEvent(); + +} \ No newline at end of file diff --git a/Wonky.Client/Pages/WarehouseOrderViewPage.razor.cs b/Wonky.Client/Pages/WarehouseOrderViewPage.razor.cs index 29cc67f0..e6c963a0 100644 --- a/Wonky.Client/Pages/WarehouseOrderViewPage.razor.cs +++ b/Wonky.Client/Pages/WarehouseOrderViewPage.razor.cs @@ -27,11 +27,11 @@ namespace Wonky.Client.Pages; public partial class WarehouseOrderViewPage : IDisposable { [Parameter] public string OrderId { get; set; } = ""; - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private IWarehouseHttpRepository _warehouseRepo { get; set; } - [Inject] private NavigationManager _navigator { get; set; } - [Inject] private IToastService _toast { get; set; } - [Inject] private ILogger _logger { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public IWarehouseHttpRepository _warehouseRepo { get; set; } + [Inject] public NavigationManager _navigator { get; set; } + [Inject] public IToastService _toast { get; set; } + [Inject] public ILogger _logger { get; set; } private WarehouseOrderView _order { get; set; } = new(); private bool Loading { get; set; } diff --git a/Wonky.Client/Shared/PriceListModal.razor.cs b/Wonky.Client/Shared/PriceListModal.razor.cs index 803763ea..0e4f23da 100644 --- a/Wonky.Client/Shared/PriceListModal.razor.cs +++ b/Wonky.Client/Shared/PriceListModal.razor.cs @@ -30,9 +30,9 @@ public partial class PriceListModal : IDisposable private bool _showBackdrop; private List _items { get; set; } = new(); [Parameter] public EventCallback OnSelected { get; set; } - [Inject] private ICatalogHttpRepository _itemRepo { get; set; } - [Inject] private HttpInterceptorService _interceptor { get; set; } - [Inject] private UserPreferenceService _preferenceService { get; set; } + [Inject] public ICatalogHttpRepository _itemRepo { get; set; } + [Inject] public HttpInterceptorService _interceptor { get; set; } + [Inject] public UserPreferenceService _preferenceService { get; set; } private MetaData? _metaData { get; set; } = new(); private CatalogPagingParams _paging = new(); private Preferences _preferences = new(); diff --git a/Wonky.Client/Shared/VatLookupDkModal.razor.cs b/Wonky.Client/Shared/VatLookupDkModal.razor.cs index fe91b8e8..c55fb66e 100644 --- a/Wonky.Client/Shared/VatLookupDkModal.razor.cs +++ b/Wonky.Client/Shared/VatLookupDkModal.razor.cs @@ -32,8 +32,8 @@ public partial class VatLookupDkModal private bool _showBackdrop; [Parameter] public VatAddress VatAddress { get; set; } = new(); [Parameter] public EventCallback OnSelectedCompany { get; set; } - [Inject] private VatInfoLookupService _vatService { get; set; } - [Inject] private IToastService _toast { get; set; } + [Inject] public VatInfoLookupService _vatService { get; set; } + [Inject] public IToastService _toast { get; set; } private VirkRegInfo _virkRegInfo { get; set; } = new(); private List _vInfos { get; set; } = new();