- @product.Description
@(product.Discontinued ? "(UDGÅET)" : "")
+
+ @product.Description
+ @if (product.Discontinued)
+ {
+ Udgået
+ Produktet er udgået
+ }
+
+ @* @product.Description
@(product.Discontinued ? "(UDGÅET)" : "") *@
@product.Sku
diff --git a/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs b/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs
index d54f6692..1e50dc43 100644
--- a/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs
+++ b/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs
@@ -33,7 +33,7 @@ namespace Wonky.Client.HttpInterceptors
private readonly RefreshTokenService _refreshTokenService;
private ILogger _logger;
private readonly ILocalStorageService _storage;
- private IAuthenticationService _authenticationService;
+ private readonly IAuthenticationService _authenticationService;
public HttpInterceptorService(HttpClientInterceptor interceptor,
NavigationManager navigation, IToastService toast,
@@ -49,25 +49,25 @@ namespace Wonky.Client.HttpInterceptors
_authenticationService = authenticationService;
}
- public void RegisterEvent()
+ public void RegisterAfterSendEvent()
{
- _interceptor.AfterSend += AfterSend;
+ _interceptor.AfterSend += InterceptorAfterSend;
}
- public void RegisterBeforeSendEvent()
+ public void RegisterBeforeSendAsyncEvent()
{
_interceptor.BeforeSendAsync += InterceptBeforeSendAsync;
}
+
public void DisposeEvent()
{
- _interceptor.AfterSend -= AfterSend;
+ _interceptor.AfterSend -= InterceptorAfterSend;
_interceptor.BeforeSendAsync -= InterceptBeforeSendAsync;
}
private async Task InterceptBeforeSendAsync(object sender, HttpClientInterceptorEventArgs e)
{
var absolutePath = e.Request.RequestUri.AbsolutePath;
-
if (!absolutePath.Contains("token"))
{
// call TryRefreshToken
@@ -81,12 +81,12 @@ namespace Wonky.Client.HttpInterceptors
}
- private void AfterSend (object sender, HttpClientInterceptorEventArgs e)
+ private void InterceptorAfterSend (object sender, HttpClientInterceptorEventArgs e)
{
if (e.Response == null || e.Response.IsSuccessStatusCode)
return;
- var message = "En ukendt fejl er opstået";
+ var message = "En fejl er opstået";
var currDoc = _navigation.ToBaseRelativePath(_navigation.Uri);
if (currDoc.Contains("login/"))
currDoc = "";
@@ -94,12 +94,10 @@ namespace Wonky.Client.HttpInterceptors
switch (e.Response.StatusCode)
{
case HttpStatusCode.NotFound:
- // message = "Der var ingen data ...";
- // _toast.ShowInfo(message);
+ _logger.LogDebug("NotFound <= {}", currDoc);
break;
case HttpStatusCode.BadRequest:
- // message = "Der er et problem med data ...";
- // _toast.ShowWarning(message);
+ _logger.LogDebug("BadRequest <= {}", currDoc);
break;
case HttpStatusCode.Unauthorized:
_authenticationService.Logout();
@@ -108,10 +106,12 @@ namespace Wonky.Client.HttpInterceptors
_toast.ShowInfo(message);
break;
case HttpStatusCode.Conflict:
+ _logger.LogDebug("Conflict <= {}", currDoc);
break;
case HttpStatusCode.InternalServerError:
// message = "Der er interne problemer på serveren ...";
// _toast.ShowError(message);
+ _logger.LogDebug("InternalServerError <= {}", currDoc);
break;
default:
_toast.ShowError(message);
diff --git a/Wonky.Client/HttpRepository/AdvisorActivityRepository.cs b/Wonky.Client/HttpRepository/AdvisorActivityRepository.cs
index 32ffa493..098a089c 100644
--- a/Wonky.Client/HttpRepository/AdvisorActivityRepository.cs
+++ b/Wonky.Client/HttpRepository/AdvisorActivityRepository.cs
@@ -56,7 +56,13 @@ public class AdvisorActivityRepository : IAdvisorActivityRepository
/// List of Activities with ActivityStatus == Quote
public async Task> GetQuotes()
{
- return await _client.GetFromJsonAsync>($"{_api.CrmActivities}/quotes", _options);
+ var result = await _client.GetAsync($"{_api.CrmActivities}/quotes");
+ if (!result.IsSuccessStatusCode)
+ return new List();
+ var content = await result.Content.ReadAsStringAsync();
+ return string.IsNullOrWhiteSpace(content)
+ ? new List()
+ : JsonSerializer.Deserialize>(content, _options);
}
///
diff --git a/Wonky.Client/HttpRepository/AdvisorReportRepository.cs b/Wonky.Client/HttpRepository/AdvisorReportRepository.cs
index eae15ed2..515575d4 100644
--- a/Wonky.Client/HttpRepository/AdvisorReportRepository.cs
+++ b/Wonky.Client/HttpRepository/AdvisorReportRepository.cs
@@ -65,7 +65,13 @@ public class AdvisorReportRepository : IAdvisorReportRepository
///
public async Task> GetReports()
{
- return await _client.GetFromJsonAsync>($"{_apiConfig.CrmReports}");
+ var result = await _client.GetAsync($"{_apiConfig.CrmReports}");
+ if (!result.IsSuccessStatusCode)
+ return new List();
+ var content = await result.Content.ReadAsStringAsync();
+ return string.IsNullOrWhiteSpace(content)
+ ? new List()
+ : JsonSerializer.Deserialize>(content, _options);
}
///
@@ -75,7 +81,8 @@ public class AdvisorReportRepository : IAdvisorReportRepository
///
public async Task GetReport(string workDate)
{
- return await _client.GetFromJsonAsync($"{_apiConfig.CrmReports}/{workDate}");
+ var result = await _client.GetFromJsonAsync($"{_apiConfig.CrmReports}/{workDate}");
+ return result ?? new ReportView();
}
///
diff --git a/Wonky.Client/Pages/AdminReportListPage.razor.cs b/Wonky.Client/Pages/AdminReportListPage.razor.cs
index fe7abf87..682bf8a3 100644
--- a/Wonky.Client/Pages/AdminReportListPage.razor.cs
+++ b/Wonky.Client/Pages/AdminReportListPage.razor.cs
@@ -40,8 +40,8 @@ public partial class AdminReportListPage : IDisposable
///
protected override async Task OnParametersSetAsync()
{
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
+ Interceptor.RegisterAfterSendEvent();
+ Interceptor.RegisterBeforeSendAsyncEvent();
UserInfo = await SystemUserRepo.GetAdvisorInfo(UserId);
while (string.IsNullOrWhiteSpace(UserInfo.UserId))
diff --git a/Wonky.Client/Pages/AdminReportViewPage.razor.cs b/Wonky.Client/Pages/AdminReportViewPage.razor.cs
index 4c429c78..d7dbb1a6 100644
--- a/Wonky.Client/Pages/AdminReportViewPage.razor.cs
+++ b/Wonky.Client/Pages/AdminReportViewPage.razor.cs
@@ -88,8 +88,8 @@ public partial class AdminReportViewPage : IDisposable
protected override async Task OnParametersSetAsync()
{
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
+ Interceptor.RegisterAfterSendEvent();
+ Interceptor.RegisterBeforeSendAsyncEvent();
ProfileService.OnChange += ProfileServiceOnOnChange;
await ProfileService.SetWorkDate(DateTime.Parse(ReportDate));
diff --git a/Wonky.Client/Pages/AdminSalesRepListPage.razor.cs b/Wonky.Client/Pages/AdminSalesRepListPage.razor.cs
index 7a56e6ec..84cde004 100644
--- a/Wonky.Client/Pages/AdminSalesRepListPage.razor.cs
+++ b/Wonky.Client/Pages/AdminSalesRepListPage.razor.cs
@@ -15,8 +15,8 @@ public partial class AdminSalesRepListPage
protected override async Task OnInitializedAsync()
{
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
+ Interceptor.RegisterAfterSendEvent();
+ Interceptor.RegisterBeforeSendAsyncEvent();
var AdvisorList = await SystemUserRepo.GetAdvisors();
SalesReps = AdvisorList
.Where(x => x.CountryCode.ToLower() == CountryCode && Convert.ToInt32(x.SalesRep) < 100)
diff --git a/Wonky.Client/Pages/AdvisorCatalogPage.razor.cs b/Wonky.Client/Pages/AdvisorCatalogPage.razor.cs
index ef9426af..906390b2 100644
--- a/Wonky.Client/Pages/AdvisorCatalogPage.razor.cs
+++ b/Wonky.Client/Pages/AdvisorCatalogPage.razor.cs
@@ -51,8 +51,8 @@ public partial class AdvisorCatalogPage : IDisposable
_page.SearchColumn = Prefs.ItemSearch;
_page.PageSize = Convert.ToInt32(Prefs.PageSize);
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
+ Interceptor.RegisterAfterSendEvent();
+ Interceptor.RegisterBeforeSendAsyncEvent();
await FetchSalesItems();
}
diff --git a/Wonky.Client/Pages/AdvisorCreateActivityPage.razor.cs b/Wonky.Client/Pages/AdvisorCreateActivityPage.razor.cs
index 55a4eca3..2178004e 100644
--- a/Wonky.Client/Pages/AdvisorCreateActivityPage.razor.cs
+++ b/Wonky.Client/Pages/AdvisorCreateActivityPage.razor.cs
@@ -88,8 +88,8 @@ public partial class AdvisorCreateActivityPage : IDisposable
ActivityContext.OnFieldChanged += HandleFieldChanged;
ActivityContext.OnValidationStateChanged += ValidationChanged;
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
+ Interceptor.RegisterAfterSendEvent();
+ Interceptor.RegisterBeforeSendAsyncEvent();
// User Preferences
UserPrefs = await Profiles.GetPreferences();
// User Info
diff --git a/Wonky.Client/Pages/AdvisorCreateCustomerPage.razor.cs b/Wonky.Client/Pages/AdvisorCreateCustomerPage.razor.cs
index 9f116c88..06c501f1 100644
--- a/Wonky.Client/Pages/AdvisorCreateCustomerPage.razor.cs
+++ b/Wonky.Client/Pages/AdvisorCreateCustomerPage.razor.cs
@@ -79,8 +79,8 @@ namespace Wonky.Client.Pages
Company.LastVisit = $"{LastVisit:yyyy-MM-dd}";
Company.NextVisit = $"{NextVisit:yyyy-MM-dd}";
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
+ Interceptor.RegisterAfterSendEvent();
+ Interceptor.RegisterBeforeSendAsyncEvent();
}
diff --git a/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor.cs
index b0571288..dc7f2329 100644
--- a/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor.cs
+++ b/Wonky.Client/Pages/AdvisorCustomerActivityListPage.razor.cs
@@ -37,8 +37,8 @@ public partial class AdvisorCustomerActivityListPage : IDisposable
protected override async Task OnInitializedAsync()
{
- _interceptor.RegisterEvent();
- _interceptor.RegisterBeforeSendEvent();
+ _interceptor.RegisterAfterSendEvent();
+ _interceptor.RegisterBeforeSendAsyncEvent();
Company = await CompanyRepo.GetCompanyById(CompanyId);
await GetActivities();
diff --git a/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor
index 5c63728a..f8584e60 100644
--- a/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor
+++ b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor
@@ -25,18 +25,18 @@
@Company.Name
+}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor.cs b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor.cs
index 9dc2a3ed..67632935 100644
--- a/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor.cs
+++ b/Wonky.Client/Pages/AdvisorCustomerInventoryListPage.razor.cs
@@ -13,15 +13,12 @@
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
//
-
-using System.Globalization;
using System.Text.Json;
using Blazored.LocalStorage;
using Blazored.Toast.Services;
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;
@@ -38,47 +35,29 @@ public partial class AdvisorCustomerInventoryListPage : IDisposable
[Inject] public ILogger