wip - supervisor
This commit is contained in:
parent
bc22649172
commit
730ccedc56
45 changed files with 277 additions and 212 deletions
|
@ -22,20 +22,21 @@
|
|||
</div>
|
||||
|
||||
@code {
|
||||
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
#pragma warning disable CS8618
|
||||
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
private int KmMorning { get; set; }
|
||||
private UserProfile Profiles { get; set; } = new();
|
||||
private UserPreference Preferences { get; set; } = new();
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
Profiles = await ProfileService.GetProfile();
|
||||
KmMorning = Profiles.KmMorning;
|
||||
Preferences = await PreferenceService.GetProfile();
|
||||
KmMorning = Preferences.KmMorning;
|
||||
}
|
||||
|
||||
private async Task OnKmChanged()
|
||||
{
|
||||
await ProfileService.SetKmMorning(KmMorning);
|
||||
await PreferenceService.SetKmMorning(KmMorning);
|
||||
}
|
||||
|
||||
}
|
|
@ -30,7 +30,7 @@ using Wonky.Entity.Views;
|
|||
namespace Wonky.Client.Components;
|
||||
public partial class AdvisorLandingComponent
|
||||
{
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
|
||||
private readonly JsonSerializerOptions JsonOptions = new JsonSerializerOptions
|
||||
{
|
||||
|
@ -38,12 +38,12 @@ public partial class AdvisorLandingComponent
|
|||
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
|
||||
};
|
||||
|
||||
private UserProfile Profiles { get; set; } = new();
|
||||
private UserPreference Profiles { get; set; } = new();
|
||||
private DateTime SelectedDate { get; set; }
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
Profiles = await ProfileService.GetProfile();
|
||||
Profiles = await PreferenceService.GetProfile();
|
||||
SelectedDate = string.IsNullOrWhiteSpace(Profiles.WorkDate) ? DateTime.Now : DateTime.Parse(Profiles.WorkDate);
|
||||
|
||||
}
|
||||
|
|
|
@ -23,10 +23,10 @@ namespace Wonky.Client.Components;
|
|||
public partial class CatalogGroupComponent
|
||||
{
|
||||
[Inject] public ILocalStorageService Storage { get; set; }
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Parameter] public EventCallback<string> OnChanged { get; set; }
|
||||
private Dictionary<string, string> Items { get; set; } = new();
|
||||
private UserProfile _profiles = new();
|
||||
private UserPreference _profiles = new();
|
||||
|
||||
private string? GroupCol { get; set; }
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ public partial class CatalogSearchComponent : IDisposable
|
|||
/// <summary>
|
||||
/// User preference service
|
||||
/// </summary>
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// OnChanged event callback
|
||||
|
@ -34,7 +34,7 @@ public partial class CatalogSearchComponent : IDisposable
|
|||
/// <summary>
|
||||
/// User preferences
|
||||
/// </summary>
|
||||
private UserProfile Profiles { get; set; } = new();
|
||||
private UserPreference Profiles { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Selected item
|
||||
|
@ -46,8 +46,8 @@ public partial class CatalogSearchComponent : IDisposable
|
|||
/// </summary>
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
ProfileService.OnChange += ProfileServiceOnOnChange;
|
||||
Profiles = await ProfileService.GetProfile();
|
||||
PreferenceService.OnChange += ProfileServiceOnOnChange;
|
||||
Profiles = await PreferenceService.GetProfile();
|
||||
SearchCol = Profiles.ItemSearch;
|
||||
await OnChanged.InvokeAsync(SearchCol);
|
||||
}
|
||||
|
@ -61,16 +61,16 @@ public partial class CatalogSearchComponent : IDisposable
|
|||
var val = e.Value.ToString();
|
||||
if (val == "-1") return;
|
||||
await OnChanged.InvokeAsync(val);
|
||||
await ProfileService.SetItemSearch(val);
|
||||
await PreferenceService.SetItemSearch(val);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Preference update from profile service
|
||||
/// </summary>
|
||||
/// <param name="newUserProfile"></param>
|
||||
private void ProfileServiceOnOnChange(UserProfile newUserProfile)
|
||||
/// <param name="newUserPreference"></param>
|
||||
private void ProfileServiceOnOnChange(UserPreference newUserPreference)
|
||||
{
|
||||
Profiles = newUserProfile;
|
||||
Profiles = newUserPreference;
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
|
@ -79,6 +79,6 @@ public partial class CatalogSearchComponent : IDisposable
|
|||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
ProfileService.OnChange -= ProfileServiceOnOnChange;
|
||||
PreferenceService.OnChange -= ProfileServiceOnOnChange;
|
||||
}
|
||||
}
|
|
@ -24,7 +24,7 @@ public partial class CatalogSortComponent : IDisposable
|
|||
/// <summary>
|
||||
/// User preference service
|
||||
/// </summary>
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// OnChanged callback function
|
||||
|
@ -34,7 +34,7 @@ public partial class CatalogSortComponent : IDisposable
|
|||
/// <summary>
|
||||
/// User's preferences
|
||||
/// </summary>
|
||||
private UserProfile _profiles = new();
|
||||
private UserPreference _profiles = new();
|
||||
|
||||
/// <summary>
|
||||
/// Item selected by user
|
||||
|
@ -46,8 +46,8 @@ public partial class CatalogSortComponent : IDisposable
|
|||
/// </summary>
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
ProfileService.OnChange += ProfileServiceOnOnChange;
|
||||
_profiles = await ProfileService.GetProfile();
|
||||
PreferenceService.OnChange += ProfileServiceOnOnChange;
|
||||
_profiles = await PreferenceService.GetProfile();
|
||||
SortCol = _profiles.ItemSort;
|
||||
}
|
||||
|
||||
|
@ -60,16 +60,16 @@ public partial class CatalogSortComponent : IDisposable
|
|||
var val = e.Value.ToString();
|
||||
if (val == "-1") return;
|
||||
await OnChanged.InvokeAsync(val);
|
||||
await ProfileService.SetItemSort(val);
|
||||
await PreferenceService.SetItemSort(val);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get updated settings from preference service
|
||||
/// </summary>
|
||||
/// <param name="newUserProfile"></param>
|
||||
private void ProfileServiceOnOnChange(UserProfile newUserProfile)
|
||||
/// <param name="newUserPreference"></param>
|
||||
private void ProfileServiceOnOnChange(UserPreference newUserPreference)
|
||||
{
|
||||
_profiles = newUserProfile;
|
||||
_profiles = newUserPreference;
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
|
@ -78,6 +78,6 @@ public partial class CatalogSortComponent : IDisposable
|
|||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
ProfileService.OnChange -= ProfileServiceOnOnChange;
|
||||
PreferenceService.OnChange -= ProfileServiceOnOnChange;
|
||||
}
|
||||
}
|
|
@ -24,15 +24,15 @@ namespace Wonky.Client.Components;
|
|||
public partial class CustomerSearchColumnComponent : IDisposable
|
||||
{
|
||||
[Inject] public ILocalStorageService Storage { get; set; }
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Parameter] public EventCallback<string> OnChanged { get; set; }
|
||||
private Dictionary<string, string> Items { get; set; } = new();
|
||||
private UserProfile Profiles { get; set; } = new();
|
||||
private UserPreference Profiles { get; set; } = new();
|
||||
private string SearchCol { get; set; } = "name";
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
ProfileService.OnChange += ProfileServiceOnOnChange;
|
||||
Profiles = await ProfileService.GetProfile();
|
||||
PreferenceService.OnChange += ProfileServiceOnOnChange;
|
||||
Profiles = await PreferenceService.GetProfile();
|
||||
SearchCol = Profiles.CompanySearch;
|
||||
}
|
||||
private async Task OnSelectionChanged(ChangeEventArgs e)
|
||||
|
@ -40,15 +40,15 @@ public partial class CustomerSearchColumnComponent : IDisposable
|
|||
var val = e.Value.ToString();
|
||||
if (val == "-1") return;
|
||||
await OnChanged.InvokeAsync(val);
|
||||
await ProfileService.SetCompanySearch(val);
|
||||
await PreferenceService.SetCompanySearch(val);
|
||||
}
|
||||
private void ProfileServiceOnOnChange(UserProfile newUserProfile)
|
||||
private void ProfileServiceOnOnChange(UserPreference newUserPreference)
|
||||
{
|
||||
Profiles = newUserProfile;
|
||||
Profiles = newUserPreference;
|
||||
StateHasChanged();
|
||||
}
|
||||
public void Dispose()
|
||||
{
|
||||
ProfileService.OnChange -= ProfileServiceOnOnChange;
|
||||
PreferenceService.OnChange -= ProfileServiceOnOnChange;
|
||||
}
|
||||
}
|
|
@ -25,13 +25,13 @@ public partial class CustomerSearchPhraseComponent
|
|||
{
|
||||
private Timer InputTimer { get; set; } = new();
|
||||
private string SearchTerm { get; set; } = "";
|
||||
private UserProfile Profiles { get; set; } = new ();
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
private UserPreference Profiles { get; set; } = new ();
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Parameter] public EventCallback<string> OnChanged { get; set; }
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
Profiles = await ProfileService.GetProfile();
|
||||
Profiles = await PreferenceService.GetProfile();
|
||||
SearchTerm = string.IsNullOrWhiteSpace(Profiles.CompanyFilterPhrase) ? "" : Profiles.CompanyFilterPhrase.Trim();
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(SearchTerm))
|
||||
|
@ -42,13 +42,13 @@ public partial class CustomerSearchPhraseComponent
|
|||
{
|
||||
InputTimer.Dispose();
|
||||
SearchTerm = "";
|
||||
await ProfileService.SetCompanyFilterPhrase(SearchTerm.Trim());
|
||||
await PreferenceService.SetCompanyFilterPhrase(SearchTerm.Trim());
|
||||
await OnChanged.InvokeAsync(SearchTerm);
|
||||
}
|
||||
|
||||
private async Task OnSearchChanged()
|
||||
{
|
||||
await ProfileService.SetCompanyFilterPhrase(SearchTerm.Trim());
|
||||
await PreferenceService.SetCompanyFilterPhrase(SearchTerm.Trim());
|
||||
InputTimer.Dispose();
|
||||
InputTimer = new Timer(500);
|
||||
InputTimer.AutoReset = false;
|
||||
|
|
|
@ -24,15 +24,15 @@ namespace Wonky.Client.Components;
|
|||
public partial class CustomerSortComponent : IDisposable
|
||||
{
|
||||
[Inject] public ILocalStorageService Storage { get; set; }
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Parameter] public EventCallback<string> OnChanged { get; set; }
|
||||
private Dictionary<string, string> Items { get; set; } = new();
|
||||
private UserProfile _profiles = new();
|
||||
private UserPreference _profiles = new();
|
||||
private string SortCol { get; set; } = "name";
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
ProfileService.OnChange += ProfileServiceOnOnChange;
|
||||
_profiles = await ProfileService.GetProfile();
|
||||
PreferenceService.OnChange += ProfileServiceOnOnChange;
|
||||
_profiles = await PreferenceService.GetProfile();
|
||||
SortCol = _profiles.CompanySort;
|
||||
}
|
||||
private async Task OnSelectionChanged(ChangeEventArgs e)
|
||||
|
@ -40,15 +40,15 @@ public partial class CustomerSortComponent : IDisposable
|
|||
var val = e.Value.ToString();
|
||||
if (val == "-1") return;
|
||||
await OnChanged.InvokeAsync(val);
|
||||
await ProfileService.SetCompanySort(val);
|
||||
await PreferenceService.SetCompanySort(val);
|
||||
}
|
||||
private void ProfileServiceOnOnChange(UserProfile newUserProfile)
|
||||
private void ProfileServiceOnOnChange(UserPreference newUserPreference)
|
||||
{
|
||||
_profiles = newUserProfile;
|
||||
_profiles = newUserPreference;
|
||||
StateHasChanged();
|
||||
}
|
||||
public void Dispose()
|
||||
{
|
||||
ProfileService.OnChange -= ProfileServiceOnOnChange;
|
||||
PreferenceService.OnChange -= ProfileServiceOnOnChange;
|
||||
}
|
||||
}
|
|
@ -13,28 +13,36 @@
|
|||
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
||||
*@
|
||||
|
||||
<div class="list-group list-group-flush">
|
||||
<table class="table table-striped">
|
||||
<tbody>
|
||||
@if (UserList.Any())
|
||||
{
|
||||
foreach (var user in UserList)
|
||||
@foreach (var user in UserList)
|
||||
{
|
||||
<div class="list-group-item list-group-item-action" style="cursor: pointer;">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-sm-1">@user.CountryCode @user.SalesRep</div>
|
||||
<div class="col-sm-3">@user.FullName</div>
|
||||
<div class="col-sm-2">@user.PhoneNumber</div>
|
||||
<div class="col-sm-2">
|
||||
<a class="btn btn-warning d-block" href="/office/users/advisors/@user.CountryCode.ToLower()/@user.UserId/reports">Rapporter</a>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<a class="btn btn-success d-block" href="/office/users/advisors/@user.CountryCode.ToLower()/@user.UserId/customers">Kunder</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<tr class="align-middle">
|
||||
<td>
|
||||
@user.FullName
|
||||
</td>
|
||||
<td>
|
||||
@user.PhoneNumber
|
||||
</td>
|
||||
<td>
|
||||
@user.SalesRep
|
||||
</td>
|
||||
<td>
|
||||
<a class="btn btn-warning d-block" href="/office/users/advisors/@user.CountryCode.ToLower()/@user.UserId/reports">Rapport Oversigt</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="btn btn-success d-block" href="/office/users/advisors/@user.CountryCode.ToLower()/@user.UserId/customers">Kunde Liste</a>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<div>Ingen data</div>
|
||||
<tr>
|
||||
<td>Ingen data</td>
|
||||
</tr>
|
||||
}
|
||||
</div>
|
||||
</tbody>
|
||||
</table>
|
|
@ -32,7 +32,7 @@ using Wonky.Entity.Views;
|
|||
namespace Wonky.Client.Components;
|
||||
public partial class OfficeLandingComponent
|
||||
{
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
|
||||
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
||||
{
|
||||
|
@ -40,21 +40,21 @@ public partial class OfficeLandingComponent
|
|||
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
|
||||
};
|
||||
|
||||
private UserProfile Profiles { get; set; } = new();
|
||||
private UserPreference Profiles { get; set; } = new();
|
||||
private string WorkDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}";
|
||||
private string Today { get; set; } = $"{DateTime.Now:yyyy-MM-dd}";
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
ProfileService.OnChange += ProfileChanged;
|
||||
Profiles = await ProfileService.GetProfile();
|
||||
PreferenceService.OnChange += ProfileChanged;
|
||||
Profiles = await PreferenceService.GetProfile();
|
||||
if (string.IsNullOrWhiteSpace(Profiles.WorkDate))
|
||||
{
|
||||
await ProfileService.SetWorkDate(DateTime.Now);
|
||||
await PreferenceService.SetWorkDate(DateTime.Now);
|
||||
}
|
||||
}
|
||||
|
||||
private void ProfileChanged(UserProfile newProfiles)
|
||||
private void ProfileChanged(UserPreference newProfiles)
|
||||
{
|
||||
Profiles = newProfiles;
|
||||
WorkDate = Profiles.WorkDate;
|
||||
|
|
|
@ -23,18 +23,18 @@ namespace Wonky.Client.Components;
|
|||
|
||||
public partial class PageSizeComponent : IDisposable
|
||||
{
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
|
||||
[Parameter] public EventCallback<string> OnChanged { get; set; }
|
||||
|
||||
private Dictionary<string, string> Items { get; set; } = new();
|
||||
private UserProfile Profile { get; set; } = new();
|
||||
private UserPreference Profile { get; set; } = new();
|
||||
private string PageSize { get; set; }
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
ProfileService.OnChange += ProfileServiceOnOnChange;
|
||||
Profile = await ProfileService.GetProfile();
|
||||
PreferenceService.OnChange += ProfileServiceOnOnChange;
|
||||
Profile = await PreferenceService.GetProfile();
|
||||
PageSize = Profile.PageSize;
|
||||
await OnChanged.InvokeAsync(PageSize);
|
||||
}
|
||||
|
@ -46,18 +46,18 @@ public partial class PageSizeComponent : IDisposable
|
|||
var cVal = Convert.ToInt32(val);
|
||||
if (cVal > 50) val = "50"; // mitigate variable manipulation
|
||||
await OnChanged.InvokeAsync(val);
|
||||
await ProfileService.SetPageSize(val);
|
||||
await PreferenceService.SetPageSize(val);
|
||||
}
|
||||
|
||||
private void ProfileServiceOnOnChange(UserProfile newUserProfile)
|
||||
private void ProfileServiceOnOnChange(UserPreference newUserPreference)
|
||||
{
|
||||
Profile = newUserProfile;
|
||||
Profile = newUserPreference;
|
||||
PageSize = Profile.PageSize;
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
ProfileService.OnChange -= ProfileServiceOnOnChange;
|
||||
PreferenceService.OnChange -= ProfileServiceOnOnChange;
|
||||
}
|
||||
}
|
|
@ -29,7 +29,7 @@ public partial class WorkDateComponent : IDisposable
|
|||
/// <summary>
|
||||
/// User preference service
|
||||
/// </summary>
|
||||
[Inject] public UserProfileService UserProfile { get; set; }
|
||||
[Inject] public UserPreferenceService UserPreference { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// OnChanged callback function
|
||||
|
@ -49,7 +49,7 @@ public partial class WorkDateComponent : IDisposable
|
|||
/// <summary>
|
||||
/// user preferences
|
||||
/// </summary>
|
||||
private UserProfile Profile { get; set; } = new();
|
||||
private UserPreference Profile { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Component Initialization
|
||||
|
@ -57,8 +57,8 @@ public partial class WorkDateComponent : IDisposable
|
|||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
WorkDateContext = new EditContext(SelectedDate);
|
||||
UserProfile.OnChange += ProfileServiceOnOnChange;
|
||||
Profile = await UserProfile.GetProfile();
|
||||
UserPreference.OnChange += ProfileServiceOnOnChange;
|
||||
Profile = await UserPreference.GetProfile();
|
||||
SelectedDate = string.IsNullOrWhiteSpace(Profile.WorkDate)
|
||||
? DateTime.Now
|
||||
: DateTime.Parse(Profile.WorkDate);
|
||||
|
@ -73,7 +73,7 @@ public partial class WorkDateComponent : IDisposable
|
|||
|
||||
if (DateTime.TryParse(e.Value.ToString(), out var setDate))
|
||||
{
|
||||
await UserProfile.SetWorkDate(setDate);
|
||||
await UserPreference.SetWorkDate(setDate);
|
||||
await OnChangedCallback.InvokeAsync($"{setDate:yyyy-MM-dd}");
|
||||
}
|
||||
}
|
||||
|
@ -81,10 +81,10 @@ public partial class WorkDateComponent : IDisposable
|
|||
/// <summary>
|
||||
/// ProfileService
|
||||
/// </summary>
|
||||
/// <param name="newUserProfile"></param>
|
||||
private void ProfileServiceOnOnChange(UserProfile newUserProfile)
|
||||
/// <param name="newUserPreference"></param>
|
||||
private void ProfileServiceOnOnChange(UserPreference newUserPreference)
|
||||
{
|
||||
Profile = newUserProfile;
|
||||
Profile = newUserPreference;
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
|
@ -93,6 +93,6 @@ public partial class WorkDateComponent : IDisposable
|
|||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
UserProfile.OnChange -= ProfileServiceOnOnChange;
|
||||
UserPreference.OnChange -= ProfileServiceOnOnChange;
|
||||
}
|
||||
}
|
|
@ -32,7 +32,7 @@ public partial class CatalogPagedOverlay : IDisposable
|
|||
// injections
|
||||
[Inject] public ICountryCatalogRepository CatalogRepo { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Inject] public ILogger<CatalogPagedOverlay> Logger { get; set; }
|
||||
|
||||
// parameters
|
||||
|
@ -45,7 +45,7 @@ public partial class CatalogPagedOverlay : IDisposable
|
|||
private List<SalesItemView> Items { get; set; } = new();
|
||||
private MetaData? PageData { get; set; } = new();
|
||||
private CatalogPager _pager = new();
|
||||
private UserProfile _userProfile = new();
|
||||
private UserPreference _userPreference = new();
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
|
@ -56,10 +56,10 @@ public partial class CatalogPagedOverlay : IDisposable
|
|||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
_userProfile = await ProfileService.GetProfile();
|
||||
_pager.OrderBy = _userProfile.ItemSort;
|
||||
_pager.SearchColumn = _userProfile.ItemSearch;
|
||||
_pager.PageSize = Convert.ToInt32(_userProfile.PageSize);
|
||||
_userPreference = await PreferenceService.GetProfile();
|
||||
_pager.OrderBy = _userPreference.ItemSort;
|
||||
_pager.SearchColumn = _userPreference.ItemSearch;
|
||||
_pager.PageSize = Convert.ToInt32(_userPreference.PageSize);
|
||||
}
|
||||
|
||||
private async Task GetSalesItems()
|
||||
|
|
|
@ -41,7 +41,7 @@ public partial class AdvisorActivityCreatePage : IDisposable
|
|||
// Injected services
|
||||
[Inject] public ILogger<AdvisorActivityCreatePage> Logger { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Inject] public IToastService Toaster { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
[Inject] public ILocalStorageService Storage { get; set; }
|
||||
|
@ -50,8 +50,7 @@ public partial class AdvisorActivityCreatePage : IDisposable
|
|||
[Inject] public IAdvisorActivityRepository ActivityRepo { get; set; }
|
||||
[Inject] public IAdvisorReportRepository ReportRepo { get; set; }
|
||||
[Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; }
|
||||
|
||||
[Inject] public IUserInfoService UserService { get; set; }
|
||||
[Inject] public IUserInfoService UserInfo { get; set; }
|
||||
|
||||
// *************************************************************
|
||||
// Parameters
|
||||
|
@ -63,7 +62,7 @@ public partial class AdvisorActivityCreatePage : IDisposable
|
|||
// Variables
|
||||
private readonly JsonSerializerOptions _options = new() { PropertyNameCaseInsensitive = true };
|
||||
private SalesItemView SelectedItem { get; set; } = new();
|
||||
private UserProfile UserProfile { get; set; } = new();
|
||||
private UserPreference UserPreference { get; set; } = new();
|
||||
private ActivityDto Activity { get; set; } = new();
|
||||
private CompanyDto Company { get; set; } = new();
|
||||
private EditContext? ActivityContext { get; set; }
|
||||
|
@ -117,9 +116,9 @@ public partial class AdvisorActivityCreatePage : IDisposable
|
|||
Interceptor.RegisterEvent();
|
||||
Interceptor.RegisterBeforeSendEvent();
|
||||
// User Preferences
|
||||
UserProfile = await ProfileService.GetProfile();
|
||||
UserPreference = await PreferenceService.GetProfile();
|
||||
// User Info
|
||||
SalesRep = await UserService.GetUserInfo();
|
||||
SalesRep = await UserInfo.GetUserInfo();
|
||||
// Fetch Customer from http
|
||||
Company = await CompanyRepo.GetCompanyById(CompanyId);
|
||||
if (Company.HasFolded == 1)
|
||||
|
@ -159,15 +158,15 @@ public partial class AdvisorActivityCreatePage : IDisposable
|
|||
Activity.DlvZipCode = Company.ZipCode;
|
||||
Activity.DlvCity = Company.City;
|
||||
// Initialize date variable
|
||||
Logger.LogDebug("AdvisorActivityCreatePage => DateTime parser => {}", UserProfile.WorkDate);
|
||||
SelectedDate = string.IsNullOrWhiteSpace(UserProfile.WorkDate)
|
||||
Logger.LogDebug("AdvisorActivityCreatePage => DateTime parser => {}", UserPreference.WorkDate);
|
||||
SelectedDate = string.IsNullOrWhiteSpace(UserPreference.WorkDate)
|
||||
? DateTime.Now
|
||||
: DateTime.Parse(UserProfile.WorkDate);
|
||||
: DateTime.Parse(UserPreference.WorkDate);
|
||||
// raise flag if report is closed
|
||||
ReportClosed = await ReportRepo.ReportExist($"{SelectedDate:yyyy-MM-dd}");
|
||||
// Ask for confirmation of date
|
||||
Logger.LogDebug("Preferences.DateConfirmed => {}", UserProfile.DateConfirmed);
|
||||
if (!UserProfile.DateConfirmed)
|
||||
Logger.LogDebug("Preferences.DateConfirmed => {}", UserPreference.DateConfirmed);
|
||||
if (!UserPreference.DateConfirmed)
|
||||
{
|
||||
PromptDateConfirm = $"Aktiviteter oprettes med dato {SelectedDate.ToShortDateString()}. Er dette OK?";
|
||||
ConfirmWorkDate.Show();
|
||||
|
@ -338,7 +337,7 @@ public partial class AdvisorActivityCreatePage : IDisposable
|
|||
|
||||
private async Task WorkDateConfirmCallback()
|
||||
{
|
||||
await ProfileService.SetDateConfirmed(true);
|
||||
await PreferenceService.SetDateConfirmed(true);
|
||||
Activity.ActivityDate = $"{SelectedDate:yyyy-MM-dd}";
|
||||
ConfirmWorkDate.Hide();
|
||||
StateHasChanged();
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class AdvisorActivityTodayListPage : IDisposable
|
||||
{
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Inject] public ILogger<AdvisorActivityTodayListPage> Logger { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
|
@ -37,7 +37,7 @@ public partial class AdvisorActivityTodayListPage : IDisposable
|
|||
[Inject] public IAdvisorReportRepository ReportRepo { get; set; }
|
||||
[Inject] public IToastService Toaster { get; set; }
|
||||
private ReportStatusView ReportStatusView { get; set; } = new();
|
||||
private UserProfile UserProfile { get; set; } = new();
|
||||
private UserPreference UserPreference { get; set; } = new();
|
||||
private DateTime SelectedDate { get; set; }
|
||||
private bool ReportExist { get; set; }
|
||||
private bool Working { get; set; } = true;
|
||||
|
@ -46,10 +46,10 @@ public partial class AdvisorActivityTodayListPage : IDisposable
|
|||
{
|
||||
Interceptor.RegisterEvent();
|
||||
Interceptor.RegisterBeforeSendEvent();
|
||||
UserProfile = await ProfileService.GetProfile();
|
||||
SelectedDate = string.IsNullOrWhiteSpace(UserProfile.WorkDate)
|
||||
UserPreference = await PreferenceService.GetProfile();
|
||||
SelectedDate = string.IsNullOrWhiteSpace(UserPreference.WorkDate)
|
||||
? DateTime.Now
|
||||
: DateTime.Parse(UserProfile.WorkDate);
|
||||
: DateTime.Parse(UserPreference.WorkDate);
|
||||
ReportExist = await ReportRepo.ReportExist($"{SelectedDate:yyyy-MM-dd}");
|
||||
await GetActivities($"{SelectedDate:yyyy-MM-dd}");
|
||||
Working = false;
|
||||
|
|
|
@ -29,14 +29,14 @@ namespace Wonky.Client.Pages;
|
|||
public partial class AdvisorCustomerPagedListPage : IDisposable
|
||||
{
|
||||
[Inject] public ILocalStorageService Storage { get; set; }
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||
|
||||
private List<CompanyDto> CompanyList { get; set; } = new();
|
||||
private UserProfile Profile { get; set; } = new();
|
||||
private UserPreference Profile { get; set; } = new();
|
||||
private UserManagerEditView UserInfo { get; set; } = new();
|
||||
private string SavedSearch { get; set; } = "";
|
||||
private bool Working { get; set; } = true;
|
||||
|
@ -56,7 +56,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
|||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
// set preferences
|
||||
Profile = await ProfileService.GetProfile();
|
||||
Profile = await PreferenceService.GetProfile();
|
||||
UserInfo = await UserInfoService.GetUserInfo();
|
||||
Paging.OrderBy = Profile.CompanySort;
|
||||
Paging.SearchColumn = Profile.CompanySearch;
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace Wonky.Client.Pages;
|
|||
public partial class AdvisorReportCreatePage : IDisposable
|
||||
{
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; }
|
||||
[Inject] public IAdvisorReportRepository AdvisorReportRepo { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
|
@ -42,7 +42,7 @@ public partial class AdvisorReportCreatePage : IDisposable
|
|||
private ReportDto Report { get; set; } = new();
|
||||
private List<ReportItemView> Activities { get; set; } = new();
|
||||
private ReportFiguresDto InitialValues { get; set; } = new();
|
||||
private UserProfile Profiles { get; set; } = new();
|
||||
private UserPreference Profiles { get; set; } = new();
|
||||
private bool FormInvalid { get; set; } = true;
|
||||
private bool NoFigures { get; set; } = true;
|
||||
private bool Working { get; set; }
|
||||
|
@ -69,8 +69,8 @@ public partial class AdvisorReportCreatePage : IDisposable
|
|||
ReportContext.OnFieldChanged += HandleFieldChanged;
|
||||
ReportContext.OnValidationStateChanged += ValidationChanged;
|
||||
|
||||
ProfileService.OnChange += ProfileServiceOnOnChange;
|
||||
Profiles = await ProfileService.GetProfile();
|
||||
PreferenceService.OnChange += ProfileServiceOnOnChange;
|
||||
Profiles = await PreferenceService.GetProfile();
|
||||
Logger.LogDebug("{}", JsonSerializer.Serialize(Profiles));
|
||||
|
||||
WorkDate = Profiles.WorkDate;
|
||||
|
@ -78,7 +78,7 @@ public partial class AdvisorReportCreatePage : IDisposable
|
|||
{
|
||||
ThisWorkDate = DateTime.Now;
|
||||
WorkDate = $"{ThisWorkDate:yyyy-MM-dd}";
|
||||
await ProfileService.SetWorkDate(ThisWorkDate);
|
||||
await PreferenceService.SetWorkDate(ThisWorkDate);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -104,9 +104,9 @@ public partial class AdvisorReportCreatePage : IDisposable
|
|||
Logger.LogDebug("OnInitializedAsync => GetKeyFigures <= {}", JsonSerializer.Serialize(Report));
|
||||
}
|
||||
|
||||
private void ProfileServiceOnOnChange(UserProfile userProfile)
|
||||
private void ProfileServiceOnOnChange(UserPreference userPreference)
|
||||
{
|
||||
Profiles = userProfile;
|
||||
Profiles = userPreference;
|
||||
WorkDate = Profiles.WorkDate;
|
||||
StateHasChanged();
|
||||
}
|
||||
|
@ -193,9 +193,9 @@ public partial class AdvisorReportCreatePage : IDisposable
|
|||
Logger.LogDebug("CreateReport.result => {}", JsonSerializer.Serialize(result));
|
||||
|
||||
// reset km and date confirmation
|
||||
await ProfileService.SetKmMorning(0);
|
||||
await PreferenceService.SetKmMorning(0);
|
||||
// reset date confirmed
|
||||
await ProfileService.SetDateConfirmed(false);
|
||||
await PreferenceService.SetDateConfirmed(false);
|
||||
Navigator.NavigateTo($"/advisor/reports/view/{ThisWorkDate:yyyy-MM-dd}");
|
||||
}
|
||||
|
||||
|
@ -306,6 +306,6 @@ public partial class AdvisorReportCreatePage : IDisposable
|
|||
Interceptor.DisposeEvent();
|
||||
ReportContext.OnFieldChanged -= HandleFieldChanged;
|
||||
ReportContext.OnValidationStateChanged -= ValidationChanged;
|
||||
ProfileService.OnChange -= ProfileServiceOnOnChange;
|
||||
PreferenceService.OnChange -= ProfileServiceOnOnChange;
|
||||
}
|
||||
}
|
|
@ -34,10 +34,10 @@ public partial class AdvisorReportViewPage : IDisposable
|
|||
[Inject] public ILocalStorageService Storage { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public ILogger<AdvisorReportViewPage> Logger { get; set; }
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||
|
||||
private UserProfile Profiles { get; set; } = new();
|
||||
private UserPreference Profiles { get; set; } = new();
|
||||
private ReportView Report { get; set; } = new();
|
||||
private List<ReportItemView> Activities { get; set; } = new ();
|
||||
private bool Working { get; set; }
|
||||
|
@ -51,8 +51,8 @@ public partial class AdvisorReportViewPage : IDisposable
|
|||
|
||||
XUserInfo = await UserInfoService.GetUserInfo();
|
||||
|
||||
ProfileService.OnChange += ProfileServiceOnOnChange;
|
||||
await ProfileService.SetWorkDate(DateTime.Parse(ReportDate));
|
||||
PreferenceService.OnChange += ProfileServiceOnOnChange;
|
||||
await PreferenceService.SetWorkDate(DateTime.Parse(ReportDate));
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(ReportDate))
|
||||
await FetchReport(ReportDate);
|
||||
|
@ -120,16 +120,16 @@ public partial class AdvisorReportViewPage : IDisposable
|
|||
Working = false;
|
||||
}
|
||||
|
||||
private void ProfileServiceOnOnChange(UserProfile userProfile)
|
||||
private void ProfileServiceOnOnChange(UserPreference userPreference)
|
||||
{
|
||||
Profiles = userProfile;
|
||||
Profiles = userPreference;
|
||||
ReportDate = Profiles.WorkDate;
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
ProfileService.OnChange -= ProfileServiceOnOnChange;
|
||||
PreferenceService.OnChange -= ProfileServiceOnOnChange;
|
||||
Interceptor.DisposeEvent();
|
||||
}
|
||||
}
|
|
@ -26,13 +26,13 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class AdvisorTaskItemListCrmPage : IDisposable
|
||||
{
|
||||
[Inject] public UserProfileService UserProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService UserPreferenceService { get; set; }
|
||||
[Inject] public ILogger<AdvisorTaskItemListCrmPage> Logger { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
[Inject] public IAdvisorTaskItemRepository TaskRepo { get; set; }
|
||||
[Inject] public IToastService Toaster { get; set; }
|
||||
private UserProfile Profile { get; set; } = new();
|
||||
private UserPreference Profile { get; set; } = new();
|
||||
private string WorkDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}";
|
||||
|
||||
private List<TaskItemDto> TaskItems { get; set; } = new();
|
||||
|
@ -40,7 +40,7 @@ public partial class AdvisorTaskItemListCrmPage : IDisposable
|
|||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
Profile = await UserProfileService.GetProfile();
|
||||
Profile = await UserPreferenceService.GetProfile();
|
||||
if(!string.IsNullOrWhiteSpace(Profile.WorkDate))
|
||||
WorkDate = Profile.WorkDate;
|
||||
|
||||
|
|
|
@ -40,7 +40,10 @@
|
|||
<div class="col-sm-2">
|
||||
<PageSizeComponent OnChanged="SetPageSize"/>
|
||||
</div>
|
||||
<div class="col-sm-10">
|
||||
<div class="col-sm-3">
|
||||
<h5 class="text-white">Prisliste @CountryName</h5>
|
||||
</div>
|
||||
<div class="col-sm-7">
|
||||
<PagerPagesComponent MetaData="PageData" Spread="2" SelectedPage="SetSelectedPage"/>
|
||||
</div>
|
||||
<div class="col-sm-2 text-end">
|
||||
|
|
|
@ -32,7 +32,7 @@ public partial class CatalogCountryPagedListPage : IDisposable
|
|||
[Inject] public ILocalStorageService Storage { get; set; }
|
||||
[Inject] public ICountryCatalogRepository Catalog { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Inject] public ILogger<CatalogCountryPagedListPage> Logger { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||
|
@ -42,14 +42,14 @@ public partial class CatalogCountryPagedListPage : IDisposable
|
|||
private List<SalesItemView> Items { get; set; } = new();
|
||||
private MetaData PageData { get; set; } = new();
|
||||
private CatalogPager Paging { get; set; } = new();
|
||||
private UserProfile Profiles { get; set; } = new();
|
||||
private UserPreference Profiles { get; set; } = new();
|
||||
private UserManagerEditView XUserInfo { get; set; } = new();
|
||||
private bool Working { get; set; }
|
||||
private string CountryName { get; set; } = "";
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
Profiles = await ProfileService.GetProfile();
|
||||
Profiles = await PreferenceService.GetProfile();
|
||||
XUserInfo = await UserInfoService.GetUserInfo();
|
||||
|
||||
Paging.OrderBy = Profiles.ItemSort;
|
||||
|
|
|
@ -25,20 +25,23 @@ using Wonky.Entity.Views;
|
|||
|
||||
namespace Wonky.Client.Pages;
|
||||
|
||||
public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
||||
public partial class OfficeAdvisorCustomerPagedListPage : IDisposable
|
||||
{
|
||||
// #############################################################
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public ICountryCustomerRepository CustomerRepo { get; set; }
|
||||
[Inject] public UserProfileService UserProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService UserPreferenceService { get; set; }
|
||||
[Inject] public IOfficeUserInfoRepository UserRepo { get; set; }
|
||||
|
||||
// #############################################################
|
||||
[Parameter] public string UserId { get; set; } = "";
|
||||
[Parameter] public string CountryCode { get; set; } = "dk";
|
||||
|
||||
// #############################################################
|
||||
private List<CompanyDto> CompanyList { get; set; } = new();
|
||||
private MetaData PageData { get; set; } = new();
|
||||
private CustomerPaging Paging { get; set; } = new();
|
||||
private UserProfile UserProfile { get; set; } = new();
|
||||
private UserPreference UserPreference { get; set; } = new();
|
||||
private string SavedSearch { get; set; } = "";
|
||||
private bool IncludeFolded { get; set; }
|
||||
private bool ShowFolded { get; set; }
|
||||
|
@ -54,14 +57,14 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
|||
SalesRep = await UserRepo.GetUserInfo(UserId);
|
||||
|
||||
// set preferences
|
||||
UserProfile = await UserProfileService.GetProfile();
|
||||
Paging.OrderBy = UserProfile.CompanySort;
|
||||
Paging.SearchColumn = UserProfile.CompanySearch;
|
||||
Paging.PageSize = Convert.ToInt32(UserProfile.PageSize);
|
||||
UserPreference = await UserPreferenceService.GetProfile();
|
||||
Paging.OrderBy = UserPreference.CompanySort;
|
||||
Paging.SearchColumn = UserPreference.CompanySearch;
|
||||
Paging.PageSize = Convert.ToInt32(UserPreference.PageSize);
|
||||
Paging.HasFolded = IncludeFolded ? 1 : 0;
|
||||
|
||||
// load saved search
|
||||
SavedSearch = UserProfile.CompanyFilterPhrase;
|
||||
SavedSearch = UserPreference.CompanyFilterPhrase;
|
||||
Paging.SearchTerm = SavedSearch;
|
||||
|
||||
await FetchCompanies();
|
||||
|
@ -113,7 +116,7 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
|||
if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.TrimEnd().Length > 2)
|
||||
{
|
||||
SavedSearch = searchTerm;
|
||||
await UserProfileService.SetCompanyFilterPhrase(searchTerm.Trim());
|
||||
await UserPreferenceService.SetCompanyFilterPhrase(searchTerm.Trim());
|
||||
}
|
||||
}
|
||||
|
|
@ -32,25 +32,28 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class OfficeAdvisorReportViewPage : IDisposable
|
||||
{
|
||||
// #############################################################
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public ICountryReportRepository ReportRepo { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
[Inject] public ILogger<OfficeAdvisorReportViewPage> Logger { get; set; }
|
||||
[Inject] public ILocalStorageService Storage { get; set; }
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Inject] public IJSRuntime JsRuntime { get; set; }
|
||||
[Inject] public IToastService Toaster { get; set; }
|
||||
[Inject] public IOrderProcessRepository ProcessRepo { get; set; }
|
||||
|
||||
// #############################################################
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
[Parameter] public string UserId { get; set; } = "";
|
||||
[Parameter] public string ReportDate { get; set; } = "";
|
||||
|
||||
// #############################################################
|
||||
private IJSObjectReference JsModule { get; set; }
|
||||
private ReportView Report { get; set; } = new();
|
||||
private List<ReportItemView> Activities { get; set; } = new();
|
||||
private bool Working { get; set; } = true;
|
||||
private UserProfile Profile { get; set; } = new();
|
||||
private UserPreference Profile { get; set; } = new();
|
||||
private string _returnUrl = "";
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
|
@ -58,9 +61,9 @@ public partial class OfficeAdvisorReportViewPage : IDisposable
|
|||
Interceptor.RegisterEvent();
|
||||
Interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
ProfileService.OnChange += ProfileServiceOnOnChange;
|
||||
PreferenceService.OnChange += ProfileServiceOnOnChange;
|
||||
|
||||
await ProfileService.SetWorkDate(DateTime.Parse(ReportDate));
|
||||
await PreferenceService.SetWorkDate(DateTime.Parse(ReportDate));
|
||||
|
||||
await FetchUserReport(ReportDate);
|
||||
}
|
||||
|
@ -160,10 +163,10 @@ public partial class OfficeAdvisorReportViewPage : IDisposable
|
|||
Working = false;
|
||||
}
|
||||
|
||||
private void ProfileServiceOnOnChange(UserProfile userProfile)
|
||||
private void ProfileServiceOnOnChange(UserPreference userPreference)
|
||||
{
|
||||
Logger.LogDebug("OfficeReportViewPage => ProfileServiceOnOnChange");
|
||||
Profile = userProfile;
|
||||
Profile = userPreference;
|
||||
Logger.LogDebug("OfficeReportViewPage => ProfileServiceOnOnChange => Prefs.WorkDate <= {}", Profile.WorkDate);
|
||||
ReportDate = Profile.WorkDate;
|
||||
|
||||
|
@ -173,6 +176,6 @@ public partial class OfficeAdvisorReportViewPage : IDisposable
|
|||
public void Dispose()
|
||||
{
|
||||
Interceptor.DisposeEvent();
|
||||
ProfileService.OnChange -= ProfileServiceOnOnChange;
|
||||
PreferenceService.OnChange -= ProfileServiceOnOnChange;
|
||||
}
|
||||
}
|
|
@ -28,16 +28,20 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
||||
{
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
// #############################################################
|
||||
[Inject] public ILocalStorageService Storage { get; set; }
|
||||
[Inject] public UserProfileService ProfileService { get; set; }
|
||||
[Inject] public UserPreferenceService PreferenceService { get; set; }
|
||||
[Inject] public ICountryCustomerRepository CustomerRepo { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||
|
||||
|
||||
// #############################################################
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
|
||||
// #############################################################
|
||||
private List<CompanyDto> Companies { get; set; } = new();
|
||||
private UserProfile Profiles { get; set; } = new();
|
||||
private UserPreference Profiles { get; set; } = new();
|
||||
private UserManagerEditView UserInfo { get; set; } = new();
|
||||
private string SavedSearch { get; set; } = "";
|
||||
private bool ShowFolded { get; set; }
|
||||
|
@ -54,7 +58,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
|||
Interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
// set preferences
|
||||
Profiles = await ProfileService.GetProfile();
|
||||
Profiles = await PreferenceService.GetProfile();
|
||||
UserInfo = await UserInfoService.GetUserInfo();
|
||||
Paging.OrderBy = Profiles.CompanySort;
|
||||
Paging.SearchColumn = Profiles.CompanySearch;
|
||||
|
|
|
@ -26,14 +26,14 @@
|
|||
<div class="list-group list-group-flush">
|
||||
<AuthorizeView Roles="Admin,Office">
|
||||
<a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/dk">
|
||||
<i class="bi-activity"></i> Sælgere
|
||||
<i class="bi-activity"></i> Sælger Liste
|
||||
</a>
|
||||
</AuthorizeView>
|
||||
<a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/dk">
|
||||
<i class="bi-phone"></i> Tlf.Ordre
|
||||
<i class="bi-phone"></i> Telefon Bestilling
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/dk">
|
||||
<i class="bi-file-spreadsheet"></i> Priser
|
||||
<i class="bi-file-spreadsheet"></i> Produkt Prisliste
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -47,14 +47,14 @@
|
|||
<div class="list-group">
|
||||
<AuthorizeView Roles="Admin,Office">
|
||||
<a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/no">
|
||||
<i class="bi-activity"></i> Sælgere
|
||||
<i class="bi-activity"></i> Sælger Liste
|
||||
</a>
|
||||
</AuthorizeView>
|
||||
<a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/no">
|
||||
<i class="bi-phone"></i> Tlf.Ordre
|
||||
<i class="bi-phone"></i> Telefon Bestilling
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/no">
|
||||
<i class="bi-file-spreadsheet"></i> Priser
|
||||
<i class="bi-file-spreadsheet"></i> Produkt Prisliste
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -68,14 +68,14 @@
|
|||
<div class="list-group">
|
||||
<AuthorizeView Roles="Admin,Office">
|
||||
<a class="list-group-item list-group-item-action list-group-item-warning" href="/office/users/advisors/se">
|
||||
<i class="bi-activity"></i> Sælgere
|
||||
<i class="bi-activity"></i> Sælger Liste
|
||||
</a>
|
||||
</AuthorizeView>
|
||||
<a class="list-group-item list-group-item-action list-group-item-success" href="/office/customers/se">
|
||||
<i class="bi-phone"></i> Tlf.Ordre
|
||||
<i class="bi-phone"></i> Telefon Bestilling
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action list-group-item-info" href="/catalog/se">
|
||||
<i class="bi-file-spreadsheet"></i> Priser
|
||||
<i class="bi-file-spreadsheet"></i> Produkt Prisliste
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -20,5 +20,6 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class OfficeLandingPage
|
||||
{
|
||||
// #############################################################
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
}
|
|
@ -35,7 +35,7 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class OfficeOrderCreatePage : IDisposable
|
||||
{
|
||||
// --------------------------------------------------------------------
|
||||
// #############################################################
|
||||
// injected services
|
||||
[Inject] public ILogger<OfficeOrderCreatePage> Logger { get; set; }
|
||||
[Inject] public IToastService Toaster { get; set; }
|
||||
|
@ -44,17 +44,17 @@ public partial class OfficeOrderCreatePage : IDisposable
|
|||
[Inject] public ICountryCustomerRepository CustomerRepo { get; set; }
|
||||
[Inject] public ICountryCustomerHistoryRepository HistoryRepo { get; set; }
|
||||
[Inject] public ICountryActivityRepository ActivityRepo { get; set; }
|
||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||
[Inject] public IOfficeUserInfoRepository UserRepo { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// #############################################################
|
||||
// parameters
|
||||
[Parameter] public string CompanyId { get; set; } = "";
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
[CascadingParameter] public DraftStateProvider DraftProvider { get; set; }
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// #############################################################
|
||||
// private variables
|
||||
private readonly JsonSerializerOptions _options = new() {PropertyNameCaseInsensitive = true};
|
||||
// class objects
|
||||
|
@ -62,7 +62,7 @@ public partial class OfficeOrderCreatePage : IDisposable
|
|||
private UserManagerEditView UserInfo { get; set; } = new();
|
||||
private SalesItemView SelectedItem { get; set; } = new();
|
||||
private ActivityDto Activity { get; set; } = new();
|
||||
private UserManagerEditView SalesRep { get; set; } = new();
|
||||
private UserAdvisorInfoView SalesRep { get; set; } = new();
|
||||
// edit context
|
||||
private EditContext ActivityContext { get; set; }
|
||||
// variables
|
||||
|
@ -75,14 +75,14 @@ public partial class OfficeOrderCreatePage : IDisposable
|
|||
private bool PoFormInvalid { get; set; } = true;
|
||||
private bool Working { get; set; } = true;
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// #############################################################
|
||||
// overlays
|
||||
private CatalogPagedOverlay CatalogOverlay { get; set; } = new();
|
||||
private OfficeCustomerInvoiceListOverlay InvoiceListOverlay { get; set; } = new();
|
||||
private OfficeCustomerActivityListOverlay ActivityListOverlay { get; set; } = new();
|
||||
private OfficeOrderInventoryListOverlay InventoryListOverlay { get; set; } = new();
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// #############################################################
|
||||
// lists
|
||||
private List<ProductInventoryView> CompanyInventory { get; set; } = new();
|
||||
private InvoiceListView CompanyInvoices { get; set; } = new();
|
||||
|
|
|
@ -30,8 +30,7 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class OfficeOrderViewPage : IDisposable
|
||||
{
|
||||
[Parameter] public string CompanyId { get; set; } = "";
|
||||
[Parameter] public string OrderId { get; set; } = "";
|
||||
// #############################################################
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; }
|
||||
[Inject] public ISystemSendMailService MailService { get; set; }
|
||||
|
@ -40,7 +39,12 @@ public partial class OfficeOrderViewPage : IDisposable
|
|||
[Inject] public ILogger<OfficeOrderViewPage> Logger { get; set; }
|
||||
[Inject] public IToastService Toast { get; set; }
|
||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||
|
||||
|
||||
// #############################################################
|
||||
[Parameter] public string CompanyId { get; set; } = "";
|
||||
[Parameter] public string OrderId { get; set; } = "";
|
||||
|
||||
// #############################################################
|
||||
private ReportItemView ReportItem { get; set; } = new();
|
||||
private bool IsNotified { get; set; }
|
||||
private bool Working { get; set; } = true;
|
||||
|
|
|
@ -26,11 +26,14 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class OfficeUserAdvisorListPage :IDisposable
|
||||
{
|
||||
// #############################################################
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public IOfficeUserInfoRepository UserRepo { get; set; }
|
||||
|
||||
// #############################################################
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
|
||||
// #############################################################
|
||||
private List<UserInfoListView> SalesReps { get; set; } = new();
|
||||
private bool Working { get; set; } = true;
|
||||
private string CountryName { get; set; } = "";
|
||||
|
|
|
@ -25,12 +25,17 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class OfficeUserAdvisorReportListPage : IDisposable
|
||||
{
|
||||
[Parameter] public string UserId { get; set; } = "";
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
// #############################################################
|
||||
[Inject] public ICountryReportRepository ReportRepo { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public IOfficeUserInfoRepository UserRepo { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
|
||||
// #############################################################
|
||||
[Parameter] public string UserId { get; set; } = "";
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
|
||||
// #############################################################
|
||||
private List<SalesReportListView> ActivityReports { get; set; } = new();
|
||||
private bool Working { get; set; } = true;
|
||||
private UserAdvisorInfoView AdvisorInfo { get; set; } = new();
|
||||
|
|
|
@ -10,11 +10,12 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class SupervisorAdvisorListPage : IDisposable
|
||||
{
|
||||
// #############################################################
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public IOfficeUserInfoRepository UserRepo { get; set; }
|
||||
|
||||
// #############################################################
|
||||
private List<UserInfoListView> Users { get; set; } = new();
|
||||
|
||||
private bool Working { get; set; } = true;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
|
|
|
@ -11,12 +11,14 @@ namespace Wonky.Client.Pages;
|
|||
#pragma warning disable CS8618
|
||||
public partial class SystemMaintenanceMessagePage : IDisposable
|
||||
{
|
||||
// #############################################################
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||
[Inject] public ISystemSendSmsService SmsService { get; set; }
|
||||
[Inject] public ILogger<SystemMaintenanceMessagePage> Logger { get; set; }
|
||||
[Inject] public IToastService Toaster { get; set; }
|
||||
|
||||
// #############################################################
|
||||
private List<UserInfoListView> Users { get; set; } = new();
|
||||
private ShortMessage Message { get; set; } = new();
|
||||
private List<Recipient> Recipients { get; set; } = new();
|
||||
|
|
|
@ -20,5 +20,6 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class SystemManagerLandingPage
|
||||
{
|
||||
// #############################################################
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
}
|
|
@ -24,12 +24,15 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class SystemSupervisorListPage : IDisposable
|
||||
{
|
||||
// #############################################################
|
||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
|
||||
// #############################################################
|
||||
private List<UserInfoListView> Users { get; set; } = new();
|
||||
|
||||
private bool Working { get; set; } = true;
|
||||
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
Interceptor.RegisterEvent();
|
||||
|
|
|
@ -26,15 +26,19 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class SystemSupervisorViewEditPage : IDisposable
|
||||
{
|
||||
// #############################################################
|
||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public ILogger<SystemSupervisorViewEditPage> Logger { get; set; }
|
||||
|
||||
// #############################################################
|
||||
[Parameter] public string UserId { get; set; } = "";
|
||||
|
||||
// #############################################################
|
||||
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
||||
{
|
||||
PropertyNameCaseInsensitive = true
|
||||
};
|
||||
[Parameter] public string UserId { get; set; } = "";
|
||||
};
|
||||
private UserManagerEditView UserData { get; set; } = new();
|
||||
private bool Working { get; set; } = true;
|
||||
private EditContext UserAssignmentContext { get; set; }
|
||||
|
|
|
@ -30,10 +30,13 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class SystemUserCreatePage : IDisposable
|
||||
{
|
||||
// #############################################################
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||
[Inject] public ILogger<SystemUserCreatePage> Logger { get; set; }
|
||||
[Inject] public IToastService Toaster { get; set; }
|
||||
|
||||
// #############################################################
|
||||
private UserManagerCreate NewUserInfo { get; set; } = new();
|
||||
private EditContext NewUserContext { get; set; }
|
||||
private bool ContextInvalid { get; set; } = true;
|
||||
|
|
|
@ -25,12 +25,15 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class SystemUserListPage : IDisposable
|
||||
{
|
||||
// #############################################################
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||
|
||||
// #############################################################
|
||||
private List<UserInfoListView> UserList { get; set; } = new();
|
||||
|
||||
private bool Working { get; set; } = true;
|
||||
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
Interceptor.RegisterEvent();
|
||||
|
|
|
@ -29,12 +29,18 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class SystemUserViewEditPage : IDisposable
|
||||
{
|
||||
[Parameter] public string UserId { get; set; } = "";
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
|
||||
// #############################################################
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||
[Inject] public ILogger<SystemUserViewEditPage> Logger { get; set; }
|
||||
[Inject] public IToastService Toaster { get; set; }
|
||||
|
||||
// #############################################################
|
||||
[Parameter] public string UserId { get; set; } = "";
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
|
||||
// #############################################################
|
||||
private UserManagerEditView UserData { get; set; } = new();
|
||||
private EditContext UserEditContext { get; set; }
|
||||
private ResetPasswordDto Passwords { get; set; } = new();
|
||||
|
|
|
@ -27,16 +27,21 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class WarehouseOrderListPage : IDisposable
|
||||
{
|
||||
[Parameter] public string Status { get; set; } = "none";
|
||||
|
||||
// #############################################################
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public IOrderProcessRepository OrderProcessRepo { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
|
||||
// #############################################################
|
||||
[Parameter] public string Status { get; set; } = "none";
|
||||
|
||||
// #############################################################
|
||||
private List<WarehouseOrderView> OrderList { get; set; } = new();
|
||||
private bool Working { get; set; } = true;
|
||||
private string Header { get; set; } = "Ubehandlet";
|
||||
private bool ReadyToShip { get; set; }
|
||||
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
Interceptor.RegisterEvent();
|
||||
|
|
|
@ -27,16 +27,21 @@ namespace Wonky.Client.Pages;
|
|||
|
||||
public partial class WarehouseOrderViewPage : IDisposable
|
||||
{
|
||||
[Parameter] public string OrderId { get; set; } = "";
|
||||
// #############################################################
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public IOrderProcessRepository OrderProcessRepo { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
[Inject] public IToastService Toast { get; set; }
|
||||
[Inject] public ILogger<WarehouseOrderViewPage> Logger { get; set; }
|
||||
|
||||
// #############################################################
|
||||
[Parameter] public string OrderId { get; set; } = "";
|
||||
|
||||
// #############################################################
|
||||
private WarehouseOrderView Order { get; set; } = new();
|
||||
private bool Working { get; set; } = true;
|
||||
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
Interceptor.RegisterEvent();
|
||||
|
|
|
@ -55,7 +55,7 @@ builder.Services.Configure<ApiConfig>(builder.Configuration.GetSection("ApiConfi
|
|||
builder.Services.Configure<AppInfo>(builder.Configuration.GetSection("AppInfo"));
|
||||
// user
|
||||
builder.Services.AddScoped<IUserInfoService, UserInfoService>();
|
||||
builder.Services.AddScoped<UserProfileService, UserProfileService>();
|
||||
builder.Services.AddScoped<UserPreferenceService, UserPreferenceService>();
|
||||
// crm repositories
|
||||
builder.Services.AddScoped<IAdvisorActivityRepository, AdvisorActivityRepository>();
|
||||
builder.Services.AddScoped<IAdvisorCustomerRepository, AdvisorCustomerRepository>();
|
||||
|
|
|
@ -33,7 +33,7 @@ public class AuthenticationService : IAuthenticationService
|
|||
private readonly IOptions<ApiConfig> _apiConfig;
|
||||
private readonly ILogger<AuthenticationService> _logger;
|
||||
private readonly IUserInfoService _infoService;
|
||||
private readonly UserProfileService _profile;
|
||||
private readonly UserPreferenceService _preference;
|
||||
private readonly ILocalStorageService _localStorage;
|
||||
|
||||
public AuthenticationService(
|
||||
|
@ -42,7 +42,7 @@ public class AuthenticationService : IAuthenticationService
|
|||
IOptions<ApiConfig> apiConfig,
|
||||
ILogger<AuthenticationService> logger,
|
||||
IUserInfoService infoService,
|
||||
UserProfileService profile,
|
||||
UserPreferenceService preference,
|
||||
ILocalStorageService localStorage
|
||||
)
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ public class AuthenticationService : IAuthenticationService
|
|||
_apiConfig = apiConfig;
|
||||
_logger = logger;
|
||||
_infoService = infoService;
|
||||
_profile = profile;
|
||||
_preference = preference;
|
||||
_localStorage = localStorage;
|
||||
}
|
||||
|
||||
|
@ -124,11 +124,11 @@ public class AuthenticationService : IAuthenticationService
|
|||
|
||||
public async Task Logout()
|
||||
{
|
||||
var profileBackup = await _profile.GetProfile();
|
||||
var profileBackup = await _preference.GetProfile();
|
||||
Task.Delay(150);
|
||||
await _localStorage.ClearAsync();
|
||||
Task.Delay(150);
|
||||
await _profile.SetProfile(profileBackup);
|
||||
await _preference.SetProfile(profileBackup);
|
||||
_client.DefaultRequestHeaders.Authorization = null;
|
||||
((AuthStateProvider)_authStateProvider).NotifyUserLogout();
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
using Blazored.LocalStorage;
|
||||
namespace Wonky.Client.Services;
|
||||
|
||||
public record UserProfile
|
||||
public record UserPreference
|
||||
{
|
||||
public string CompanyFilterPhrase { get; set; } = "";
|
||||
public string CompanySearch { get; set; } = "name";
|
||||
|
@ -30,13 +30,13 @@ public record UserProfile
|
|||
public bool DateConfirmed { get; set; }
|
||||
}
|
||||
|
||||
public class UserProfileService
|
||||
public class UserPreferenceService
|
||||
{
|
||||
private readonly ILocalStorageService _localStorageService;
|
||||
private const string KeyName = "preferences";
|
||||
public event Action<UserProfile>? OnChange;
|
||||
public event Action<UserPreference>? OnChange;
|
||||
|
||||
public UserProfileService(ILocalStorageService localStorageService)
|
||||
public UserPreferenceService(ILocalStorageService localStorageService)
|
||||
{
|
||||
_localStorageService = localStorageService;
|
||||
}
|
||||
|
@ -134,12 +134,12 @@ public class UserProfileService
|
|||
OnChange?.Invoke(newPreferences);
|
||||
}
|
||||
|
||||
public async Task<UserProfile> GetProfile()
|
||||
public async Task<UserPreference> GetProfile()
|
||||
{
|
||||
return await _localStorageService.GetItemAsync<UserProfile>(KeyName) ?? new UserProfile();
|
||||
return await _localStorageService.GetItemAsync<UserPreference>(KeyName) ?? new UserPreference();
|
||||
}
|
||||
|
||||
public async Task SetProfile(UserProfile profile)
|
||||
public async Task SetProfile(UserPreference profile)
|
||||
{
|
||||
await _localStorageService.SetItemAsync(KeyName, profile);
|
||||
}
|
|
@ -27,14 +27,12 @@ public class VatInfoLookupService
|
|||
{
|
||||
private readonly JsonSerializerOptions _options = new() { PropertyNameCaseInsensitive = true };
|
||||
private readonly HttpClient _client;
|
||||
private readonly IOptions<ApiConfig> _apiConfig;
|
||||
private readonly ApiConfig _config;
|
||||
private readonly ApiConfig _api;
|
||||
|
||||
public VatInfoLookupService(HttpClient client, IOptions<ApiConfig> apiConfig)
|
||||
{
|
||||
_client = client;
|
||||
_apiConfig = apiConfig;
|
||||
_config = _apiConfig.Value;
|
||||
_api = apiConfig.Value;
|
||||
}
|
||||
|
||||
public async Task<List<VirkRegInfo>> QueryVirkRegistry(VirkParams query)
|
||||
|
@ -52,7 +50,7 @@ public class VatInfoLookupService
|
|||
["zipCode"] = $"{query.ZipCode}",
|
||||
["entityName"] = $"{query.EntityName}"
|
||||
};
|
||||
var endpoint = QueryHelpers.AddQueryString(_config.ServicesVatDk, queryString);
|
||||
var endpoint = QueryHelpers.AddQueryString(_api.ServicesVatDk, queryString);
|
||||
var response = await _client.GetAsync(endpoint);
|
||||
var content = await response.Content.ReadAsStringAsync();
|
||||
|
||||
|
@ -80,7 +78,7 @@ public class VatInfoLookupService
|
|||
["vatNumber"] = $"{vatNumber}"
|
||||
};
|
||||
|
||||
var endpoint = QueryHelpers.AddQueryString(_config.ServicesVatNo, queryString);
|
||||
var endpoint = QueryHelpers.AddQueryString(_api.ServicesVatNo, queryString);
|
||||
var response = await _client.GetAsync(endpoint);
|
||||
|
||||
var content = await response.Content.ReadAsStringAsync();
|
||||
|
@ -102,7 +100,7 @@ public class VatInfoLookupService
|
|||
{
|
||||
["vatNumber"] = $"{vatNumber}"
|
||||
};
|
||||
var endpoint = QueryHelpers.AddQueryString(_config.ServicesVatEu, queryString);
|
||||
var endpoint = QueryHelpers.AddQueryString(_api.ServicesVatEu, queryString);
|
||||
var response = await _client.GetAsync(endpoint);
|
||||
|
||||
var content = await response.Content.ReadAsStringAsync();
|
||||
|
|
Loading…
Reference in a new issue