diff --git a/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs b/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs index bd464376..8d0fc95b 100644 --- a/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs +++ b/Wonky.Client/Pages/AdvisorActivityCreatePage.razor.cs @@ -101,15 +101,11 @@ public partial class AdvisorActivityCreatePage : IDisposable _formContext = new EditContext(_activity); _formContext.OnFieldChanged += ContextHandleFieldChanged!; _formContext.OnValidationStateChanged += ContextValidationChanged!; - Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); - _userPref = await PreferenceService.GetPreference(); _salesRep = await UserInfo.GetUserInfo(); - _company = await CompanyRepo.GetCompanyById(CompanyId); - if (_company.Account.StartsWith("KANVAS")) { _kanvas = true; @@ -125,20 +121,17 @@ public partial class AdvisorActivityCreatePage : IDisposable // _company has shut down _activity.OrderMessage = "BEMÆRK: CVR nummer er ophørt."; } - _activity.ActivityStatusEnum = "noSale"; // decide if new or recall _activity.ActivityVisitEnum = _company.Account.StartsWith("NY") ? "new" : "recall"; - // if (string.IsNullOrWhiteSpace(_company.Segment) && _salesRep.CountryCode.ToLower() == "dk") // { // Toaster.ShowError("Der mangler information om Segment. Ret kunde segment, gem erp data og prøv igen."); // // Navigator.NavigateTo($"/advisor/customers/{CompanyId}"); // } } - // Populate base activity information _activity.Account = _company.Account; _activity.Address1 = _company.Address1; @@ -162,7 +155,6 @@ public partial class AdvisorActivityCreatePage : IDisposable _activity.SalesRepId = _salesRep.UserId; _activity.Segment = _company.Segment; _activity.ZipCode = _company.ZipCode; - /* * debug logging */ @@ -175,7 +167,6 @@ public partial class AdvisorActivityCreatePage : IDisposable SelectedDate = string.IsNullOrWhiteSpace(_userPref.WorkDate) ? DateTime.Now : DateTime.Parse(_userPref.WorkDate); - // 2023-08-14 - reject orders for future dates if (SelectedDate.Date > DateTime.Now.Date) { @@ -183,10 +174,8 @@ public partial class AdvisorActivityCreatePage : IDisposable SelectedDate = DateTime.Now; await PreferenceService.SetWorkDate(SelectedDate); } - // raise flag if report is closed ReportClosed = await ReportRepo.ReportExist($"{SelectedDate:yyyy-MM-dd}"); - // Lines may already have been added from the company inventory page if (DraftProvider.Draft.DraftType == "order") { @@ -195,18 +184,14 @@ public partial class AdvisorActivityCreatePage : IDisposable { _activity.ActivityTypeEnum = "onSite"; } - _activity.ActivityStatusEnum = "order"; _formInvalid = false; } - if (_salesRep.CountryCode.ToLower() == "se") { await TestOrgNumber(); } - Working = false; - // Ask for confirmation of date Logger.LogDebug("Preferences.DateConfirmed => {}", _userPref.DateConfirmed); if (!_userPref.DateConfirmed) @@ -221,7 +206,9 @@ public partial class AdvisorActivityCreatePage : IDisposable protected override async Task OnAfterRenderAsync(bool firstRender) { if (_kanvas) + { return; + } if (firstRender) { if (!_company.Account.StartsWith("NY")) @@ -244,7 +231,6 @@ public partial class AdvisorActivityCreatePage : IDisposable { Toaster.ShowInfo("Afventer svar fra tjenester ..."); } - _disableButtons = true; var newSync = await HistoryRepo.RequestErpSync(CompanyId, _company.HistorySync, force); await Task.Delay(500); @@ -260,7 +246,6 @@ public partial class AdvisorActivityCreatePage : IDisposable { Toaster.ShowSuccess("Alle tjenester har svaret."); } - _disableButtons = false; } @@ -268,43 +253,37 @@ public partial class AdvisorActivityCreatePage : IDisposable private async Task TestOrgNumber() { var result = await OrgService.GetPersonalOrgNumber(_activity.Name); + await Task.Delay(100); if (!string.IsNullOrWhiteSpace(result.PersonalId)) { - // Toaster.ShowSuccess($"PersonId for {result.CompanyName} er fundet til at være {result.PersonalId}"); - _activity.VatNumber = result.PersonalId; + if (result.PersonalId[..6] == _activity.VatNumber) + { + Logger.LogDebug("search result for {}, {} is {}", _activity.Name, _activity.VatNumber, result.PersonalId); + Toaster.ShowSuccess($"PersonId for {result.CompanyName} er fundet til at være {result.PersonalId}"); + _activity.VatNumber = result.PersonalId; + } } } - /// - /// Show _activity Overlay - /// + private void ShowActivitiesOverlay() { ActivityListOverlay.Show(); } - /// - /// Show Inventory Overlay - /// private void ShowInventoryOverlay() { InventoryListOverlay.Show(); } - /// - /// Show Invoice Overlay - /// private void ShowInvoiceOverlay() { InvoiceListOverlay.Show(); } - /// - /// Show Product Check Overlay - /// private async Task ShowProductCheckOverlay() { // check if new account @@ -322,18 +301,12 @@ public partial class AdvisorActivityCreatePage : IDisposable } - /// - /// Show Price Catalog Overlay - /// private void ShowPriceCatalogOverlay() { CatalogOverlay.Show(); } - /// - /// Show Product Price History Overlay - /// private void ShowPriceHistoryOverlay() { if (ShowItem) @@ -343,10 +316,6 @@ public partial class AdvisorActivityCreatePage : IDisposable } - /// - /// Price Catalog Overlay Callback - /// - /// private async Task PriceCatalogOverlayCallback(ItemSelect selectedItem) { // get selected item @@ -368,7 +337,6 @@ public partial class AdvisorActivityCreatePage : IDisposable { return; } - Price = price.ToString("N2", CultureInfo.InvariantCulture); StateHasChanged(); } @@ -391,7 +359,6 @@ public partial class AdvisorActivityCreatePage : IDisposable item.Check = false; } await DrawerService.StoreInventoryDrawerAsync(CompanyId, _inventoryDrawer); - await CreateActivity(); } @@ -422,7 +389,6 @@ public partial class AdvisorActivityCreatePage : IDisposable */ return; } - switch (_kanvas) { /* @@ -438,7 +404,6 @@ public partial class AdvisorActivityCreatePage : IDisposable Toaster.ShowError("Firma registreringsnummer er ikke korrekt."); return; } - switch (_activity.ActivityStatusEnum) { /* @@ -541,44 +506,38 @@ public partial class AdvisorActivityCreatePage : IDisposable } - /// - /// Toggle Delivery Address Input - /// private void ToggleDeliveryAddress() { _hideDeliveryAddress = !_hideDeliveryAddress; } - // /// - // /// Show Incomplete Organization Number Warning - // /// - // private async Task ShowOrgWarning() - // { - // if (_kanvas) - // { - // return; - // } - // // if (OrgWarning) - // // { - // // return; - // // } - // // OrgWarning = true; - // if (_company.CountryCode.ToLower() == "se" - // && Utils.StringToDigits(_activity.VatNumber).Length < 10 - // && _activity.ActivityStatusEnum == "order") - // { - // // Toaster.ShowWarning("Org nummer er ufuldstændig. Skal opdateres før bestilling kan sendes."); - // // Toaster.ShowInfo("Vent mens vi soger at finde de manglende cifre ..."); - // var result = await OrgService.GetPersonalOrgNumber(_activity.Name); - // if (!string.IsNullOrWhiteSpace(result.PersonalId)) - // { - // _activity.VatNumber = result.PersonalId; - // Toaster.ShowSuccess($"Org nummer for {result.CompanyName} er fundet at være {result.PersonalId}."); - // } - // } - // // OrgWarning = false; - // } + private async Task ShowOrgWarning() + { + if (_kanvas) + { + return; + } + // if (OrgWarning) + // { + // return; + // } + // OrgWarning = true; + if (_company.CountryCode.ToLower() == "se" + && Utils.StringToDigits(_activity.VatNumber).Length < 10 + && _activity.ActivityStatusEnum == "order") + { + // Toaster.ShowWarning("Org nummer er ufuldstændig. Skal opdateres før bestilling kan sendes."); + // Toaster.ShowInfo("Vent mens vi soger at finde de manglende cifre ..."); + var result = await OrgService.GetPersonalOrgNumber(_activity.Name); + if (!string.IsNullOrWhiteSpace(result.PersonalId)) + { + _activity.VatNumber = result.PersonalId; + Toaster.ShowSuccess($"Org nummer for {result.CompanyName} er fundet at være {result.PersonalId}."); + } + } + // OrgWarning = false; + } private async Task DeleteDraft() diff --git a/Wonky.Client/Pages/OfficeAdvisorListPage.razor b/Wonky.Client/Pages/OfficeAdvisorListPage.razor index 1c79a614..20deaaee 100644 --- a/Wonky.Client/Pages/OfficeAdvisorListPage.razor +++ b/Wonky.Client/Pages/OfficeAdvisorListPage.razor @@ -24,8 +24,18 @@
-
- Sælger Oversigt @CountryName +
+
+
+ Sælger Oversigt @CountryName +
+
+
+ +
+
+ +
diff --git a/Wonky.Client/Pages/OfficeAdvisorListPage.razor.cs b/Wonky.Client/Pages/OfficeAdvisorListPage.razor.cs index 4e86c5a8..7eb99115 100644 --- a/Wonky.Client/Pages/OfficeAdvisorListPage.razor.cs +++ b/Wonky.Client/Pages/OfficeAdvisorListPage.razor.cs @@ -35,22 +35,49 @@ public partial class OfficeAdvisorListPage :IDisposable // ############################################################# private List SalesReps { get; set; } = new(); + private List _advisors = new(); private bool Working { get; set; } = true; private string CountryName { get; set; } = ""; + private string _buttonText = ""; + private bool _showAll; + private int _active; + private int _all; protected override async Task OnInitializedAsync() { Interceptor.RegisterEvent(); Interceptor.RegisterBeforeSendEvent(); CountryName = Utils.CountryName(CountryCode); - var AdvisorList = await UserRepo.GetUsers("Advisor"); - SalesReps = AdvisorList + _advisors = await UserRepo.GetUsers("Advisor"); + _all = _advisors.Count; + _active = _advisors.Count(x => !x.LockoutEnabled); + _buttonText = $"Vis Alle ({_all})"; + SalesReps = _advisors .Where(x => string.Equals(x.CountryCode, CountryCode, StringComparison.InvariantCultureIgnoreCase)) + .Where(x => !x.LockoutEnabled) .OrderBy(x => x.FullName) .ToList(); Working = false; } - + + private void ToggleShowAll() + { + _showAll = !_showAll; + if (_showAll) + { + SalesReps = _advisors.Where(x => string.Equals(x.CountryCode, CountryCode, StringComparison.InvariantCultureIgnoreCase)) + .OrderBy(x => x.FullName) + .ToList(); + _buttonText = $"Vis Aktive ({_active})"; + return; + } + SalesReps = _advisors + .Where(x => string.Equals(x.CountryCode, CountryCode, StringComparison.InvariantCultureIgnoreCase)) + .Where(x => !x.LockoutEnabled) + .OrderBy(x => x.FullName) + .ToList(); + _buttonText = $"Vis Alle ({_all})"; + } public void Dispose() { Interceptor.DisposeEvent(); diff --git a/Wonky.Client/Pages/SystemUserListPage.razor b/Wonky.Client/Pages/SystemUserListPage.razor index d0ab4138..7293771a 100644 --- a/Wonky.Client/Pages/SystemUserListPage.razor +++ b/Wonky.Client/Pages/SystemUserListPage.razor @@ -21,10 +21,11 @@ System Bruger Oversigt
-
+

System Bruger Oversigt

-
+
+ Opret bruger
@@ -57,9 +58,9 @@
- @if (UserList.Any()) + @if (DisplayList.Any()) { - foreach (var user in UserList) + foreach (var user in DisplayList) {
diff --git a/Wonky.Client/Pages/SystemUserListPage.razor.cs b/Wonky.Client/Pages/SystemUserListPage.razor.cs index 56f35f0b..329a6b14 100644 --- a/Wonky.Client/Pages/SystemUserListPage.razor.cs +++ b/Wonky.Client/Pages/SystemUserListPage.razor.cs @@ -32,7 +32,10 @@ public partial class SystemUserListPage : IDisposable private List UserList { get; set; } = new(); private List DisplayList { get; set; } = new(); private bool Working { get; set; } = true; - + private bool _showLocked; + private string _showLockedCaption = ""; + private int _activeUsers; + private int _allUsers; protected override async Task OnInitializedAsync() { @@ -40,16 +43,29 @@ public partial class SystemUserListPage : IDisposable Interceptor.RegisterBeforeSendEvent(); UserList = await UserRepo.GetUsers(); + _allUsers = UserList.Count; + _activeUsers = UserList.Count(x => !x.LockoutEnabled); if (UserList.Any()) { - UserList = UserList.Where(x => !x.LockoutEnabled).ToList(); + DisplayList = UserList.Where(x => !x.LockoutEnabled).ToList(); } - - DisplayList = UserList; - + _showLockedCaption = $"Vis Alle ({_allUsers})"; Working = false; } + private void ShowLocked() + { + _showLocked = !_showLocked; + if (_showLocked) + { + DisplayList = UserList; + _showLockedCaption = $"Vis aktive ({_activeUsers})"; + return; + } + _showLockedCaption = $"Vis Alle ({UserList.Count})"; + DisplayList = UserList.Where(x => !x.LockoutEnabled).ToList(); + + } public void Dispose() { Interceptor.DisposeEvent(); diff --git a/Wonky.Client/wwwroot/appsettings.json b/Wonky.Client/wwwroot/appsettings.json index de1c81fb..a6f32e23 100644 --- a/Wonky.Client/wwwroot/appsettings.json +++ b/Wonky.Client/wwwroot/appsettings.json @@ -1,7 +1,7 @@ { "appInfo": { "name": "Wonky Online", - "version": "232.0", + "version": "234.0", "rc": true, "sandBox": true, "image": "grumpy-coder.png",