WIP: user management

This commit is contained in:
Frede Hundewadt 2023-02-21 11:42:39 +01:00
parent 5e5f95f6e0
commit 6ac4b111e3
15 changed files with 70 additions and 44 deletions

View file

@ -48,7 +48,8 @@ public partial class AdvisorActivityCreatePage : IDisposable
[Inject] public IAdvisorActivityRepository ActivityRepo { get; set; } [Inject] public IAdvisorActivityRepository ActivityRepo { get; set; }
[Inject] public IAdvisorReportRepository ReportRepo { get; set; } [Inject] public IAdvisorReportRepository ReportRepo { get; set; }
[Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; } [Inject] public IAdvisorCustomerHistoryRepository HistoryRepo { get; set; }
[Inject] private UserInfoService UserInfoService { get; set; }
[CascadingParameter] private DraftStateProvider DraftProvider { get; set; } = new(); [CascadingParameter] private DraftStateProvider DraftProvider { get; set; } = new();
[Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string CompanyId { get; set; } = "";
@ -69,7 +70,7 @@ public partial class AdvisorActivityCreatePage : IDisposable
private bool InvalidActivity { get; set; } = true; private bool InvalidActivity { get; set; } = true;
private bool ReportClosed { get; set; } private bool ReportClosed { get; set; }
private bool Working { get; set; } = true; private bool Working { get; set; } = true;
private X_UserInfoView SalesRep { get; set; } = new(); private UserManagerEditView SalesRep { get; set; } = new();
private DateTime SelectedDate { get; set; } private DateTime SelectedDate { get; set; }
private string OldPhone { get; set; } = ""; private string OldPhone { get; set; } = "";
private string PromptDateConfirm { get; set; } = ""; private string PromptDateConfirm { get; set; } = "";
@ -107,7 +108,7 @@ public partial class AdvisorActivityCreatePage : IDisposable
// User Preferences // User Preferences
UserProfile = await ProfileService.GetPreferences(); UserProfile = await ProfileService.GetPreferences();
// User Info // User Info
SalesRep = await Storage.GetItemAsync<X_UserInfoView>("_xu"); SalesRep = await UserInfoService.GetUserInfo();
// Fetch Customer from http // Fetch Customer from http
Company = await CompanyRepo.GetCompanyById(CompanyId); Company = await CompanyRepo.GetCompanyById(CompanyId);
if (Company.HasFolded == 1) if (Company.HasFolded == 1)
@ -128,8 +129,8 @@ public partial class AdvisorActivityCreatePage : IDisposable
Activity.ActivityStatusEnum = "noSale"; Activity.ActivityStatusEnum = "noSale";
Activity.VisitTypeEnum = Company.Account is "" or "NY" ? "new" : "recall"; Activity.VisitTypeEnum = Company.Account is "" or "NY" ? "new" : "recall";
Activity.CompanyId = Company.CompanyId; Activity.CompanyId = Company.CompanyId;
Activity.SalesRepId = SalesRep.Id; Activity.SalesRepId = SalesRep.UserId;
Activity.SalesRep = SalesRep.Advisor; Activity.SalesRep = SalesRep.SalesRep;
Activity.CountryCode = SalesRep.CountryCode; Activity.CountryCode = SalesRep.CountryCode;
Activity.Account = Company.Account; Activity.Account = Company.Account;
Activity.VatNumber = Company.VatNumber; Activity.VatNumber = Company.VatNumber;
@ -437,8 +438,8 @@ public partial class AdvisorActivityCreatePage : IDisposable
Activity.ActivityDate = $"{SelectedDate:yyyy-MM-dd}"; Activity.ActivityDate = $"{SelectedDate:yyyy-MM-dd}";
Activity.OurRef = Activity.ActivityTypeEnum switch Activity.OurRef = Activity.ActivityTypeEnum switch
{ {
"phone" => $"T:{SalesRep.FullName.Split(" ")[0]}", "phone" => $"T:{SalesRep.FirstName}",
"onSite" => $"B:{SalesRep.FullName.Split(" ")[0]}", "onSite" => $"B:{SalesRep.FirstName}",
_ => "" _ => ""
}; };
if (Activity.Express) if (Activity.Express)

View file

@ -27,7 +27,6 @@ using Wonky.Client.Services;
using Wonky.Client.Shared; using Wonky.Client.Shared;
using Wonky.Entity.DTO; using Wonky.Entity.DTO;
using Wonky.Entity.Models; using Wonky.Entity.Models;
using Wonky.Entity.Requests;
using Wonky.Entity.Views; using Wonky.Entity.Views;
#pragma warning disable CS8618 #pragma warning disable CS8618
@ -42,6 +41,7 @@ namespace Wonky.Client.Pages
[Inject] private IAdvisorCustomerRepository CompanyRepo { get; set; } [Inject] private IAdvisorCustomerRepository CompanyRepo { get; set; }
[Inject] private HttpInterceptorService Interceptor { get; set; } [Inject] private HttpInterceptorService Interceptor { get; set; }
[Inject] private VatInfoLookupService VatService { get; set; } [Inject] private VatInfoLookupService VatService { get; set; }
[Inject] private UserInfoService UserInfoService { get; set; }
private EditContext CompanyContext { get; set; } private EditContext CompanyContext { get; set; }
private CompanyDto Company { get; set; } = new(); private CompanyDto Company { get; set; } = new();
@ -62,10 +62,10 @@ namespace Wonky.Client.Pages
CompanyContext.OnFieldChanged += HandleFieldChanged; CompanyContext.OnFieldChanged += HandleFieldChanged;
CompanyContext.OnValidationStateChanged += ValidationChanged; CompanyContext.OnValidationStateChanged += ValidationChanged;
var xu = await Storage.GetItemAsync<X_UserInfoView>("_xu"); var xu = await UserInfoService.GetUserInfo();
Dk = xu.CountryCode.ToLower() == "dk"; Dk = xu.CountryCode.ToLower() == "dk";
Company.SalesRepId = xu.Id; Company.SalesRepId = xu.UserId;
Company.CountryCode = xu.CountryCode.ToLower(); Company.CountryCode = xu.CountryCode.ToLower();
LastVisit = DateTime.Now; LastVisit = DateTime.Now;

View file

@ -33,9 +33,11 @@ namespace Wonky.Client.Pages
[Inject] private IAdvisorCustomerRepository CompanyRepo { get; set; } [Inject] private IAdvisorCustomerRepository CompanyRepo { get; set; }
[Inject] private HttpInterceptorService Interceptor { get; set; } [Inject] private HttpInterceptorService Interceptor { get; set; }
[Inject] private NavigationManager Navigator { get; set; } [Inject] private NavigationManager Navigator { get; set; }
[Inject] private UserInfoService UserInfoService { get; set; }
private List<CompanyDto> CompanyList { get; set; } = new(); private List<CompanyDto> CompanyList { get; set; } = new();
private UserProfile Profiles { get; set; } = new(); private UserProfile Profiles { get; set; } = new();
private X_UserInfoView XUserInfo { get; set; } = new(); private UserManagerEditView XUserInfo { get; set; } = new();
private string SavedSearch { get; set; } = ""; private string SavedSearch { get; set; } = "";
private bool IncludeFolded { get; set; } private bool IncludeFolded { get; set; }
private bool Working { get; set; } = true; private bool Working { get; set; } = true;
@ -54,7 +56,7 @@ namespace Wonky.Client.Pages
{ {
// set preferences // set preferences
Profiles = await ProfileService.GetPreferences(); Profiles = await ProfileService.GetPreferences();
XUserInfo = await Storage.GetItemAsync<X_UserInfoView>("_xu"); XUserInfo = await UserInfoService.GetUserInfo();
Paging.OrderBy = Profiles.CompanySort; Paging.OrderBy = Profiles.CompanySort;
Paging.SearchColumn = Profiles.CompanySearch; Paging.SearchColumn = Profiles.CompanySearch;
Paging.PageSize = Convert.ToInt32(Profiles.PageSize); Paging.PageSize = Convert.ToInt32(Profiles.PageSize);

View file

@ -45,6 +45,7 @@ public partial class AdvisorCustomerViewPage : IDisposable
[Inject] private HttpInterceptorService Interceptor { get; set; } [Inject] private HttpInterceptorService Interceptor { get; set; }
[Inject] private VatInfoLookupService VatService { get; set; } [Inject] private VatInfoLookupService VatService { get; set; }
[Inject] private ILocalStorageService Storage { get; set; } [Inject] private ILocalStorageService Storage { get; set; }
[Inject] private UserInfoService UserInfoService { get; set; }
private readonly JsonSerializerOptions _options = new () { PropertyNameCaseInsensitive = true }; private readonly JsonSerializerOptions _options = new () { PropertyNameCaseInsensitive = true };
private CompanyDto Company { get; set; } = new(); private CompanyDto Company { get; set; } = new();
@ -67,7 +68,7 @@ public partial class AdvisorCustomerViewPage : IDisposable
private ContactDto SelectedContact { get; set; } = new(); private ContactDto SelectedContact { get; set; } = new();
private ContactDto DefaultContact { get; set; } = new(); private ContactDto DefaultContact { get; set; } = new();
private ContactModal ContactPopup { get; set; } = new(); private ContactModal ContactPopup { get; set; } = new();
private X_UserInfoView XUserInfo { get; set; } = new(); private UserManagerEditView XUserInfo { get; set; } = new();
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
@ -85,7 +86,7 @@ public partial class AdvisorCustomerViewPage : IDisposable
ErpContext.OnValidationStateChanged += ValidationChanged; ErpContext.OnValidationStateChanged += ValidationChanged;
// fetch user info from local storage // fetch user info from local storage
XUserInfo = await Storage.GetItemAsync<X_UserInfoView>("_xu"); XUserInfo = await UserInfoService.GetUserInfo();
CountryCode = XUserInfo.CountryCode.ToLower(); CountryCode = XUserInfo.CountryCode.ToLower();
CountryIsDk = CountryCode == "dk"; CountryIsDk = CountryCode == "dk";

View file

@ -20,6 +20,7 @@ using Wonky.Client.HttpInterceptors;
using Wonky.Client.HttpInterfaces; using Wonky.Client.HttpInterfaces;
using Wonky.Client.Models; using Wonky.Client.Models;
using Wonky.Client.Services; using Wonky.Client.Services;
using Wonky.Entity.DTO;
using Wonky.Entity.Views; using Wonky.Entity.Views;
#pragma warning disable CS8618 #pragma warning disable CS8618
@ -34,12 +35,13 @@ public partial class AdvisorReportViewPage : IDisposable
[Inject] private HttpInterceptorService Interceptor { get; set; } [Inject] private HttpInterceptorService Interceptor { get; set; }
[Inject] private ILogger<AdvisorReportViewPage> Logger { get; set; } [Inject] private ILogger<AdvisorReportViewPage> Logger { get; set; }
[Inject] private UserProfileService ProfileService { get; set; } [Inject] private UserProfileService ProfileService { get; set; }
[Inject] private UserInfoService UserInfoService { get; set; }
private UserProfile Profiles { get; set; } = new(); private UserProfile Profiles { get; set; } = new();
private ReportView Report { get; set; } = new(); private ReportView Report { get; set; } = new();
private List<ReportItemView> Activities { get; set; } = new (); private List<ReportItemView> Activities { get; set; } = new ();
private bool Working { get; set; } private bool Working { get; set; }
private X_UserInfoView XUserInfo { get; set; } = new(); private UserManagerEditView XUserInfo { get; set; } = new();
private string ReturnUrl { get; set; } = ""; private string ReturnUrl { get; set; } = "";
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
@ -47,7 +49,7 @@ public partial class AdvisorReportViewPage : IDisposable
Interceptor.RegisterEvent(); Interceptor.RegisterEvent();
Interceptor.RegisterBeforeSendEvent(); Interceptor.RegisterBeforeSendEvent();
XUserInfo = await Storage.GetItemAsync<X_UserInfoView>("_xu"); XUserInfo = await UserInfoService.GetUserInfo();
ProfileService.OnChange += ProfileServiceOnOnChange; ProfileService.OnChange += ProfileServiceOnOnChange;
await ProfileService.SetWorkDate(DateTime.Parse(ReportDate)); await ProfileService.SetWorkDate(DateTime.Parse(ReportDate));
@ -63,10 +65,10 @@ public partial class AdvisorReportViewPage : IDisposable
switch (target) switch (target)
{ {
case PTarget.OrderPage: case PTarget.OrderPage:
Navigator.NavigateTo($"/report/print/orders/{XUserInfo.CountryCode.ToLower()}/{XUserInfo.Id}/{ReportDate}?returnUrl={ReturnUrl}"); Navigator.NavigateTo($"/report/print/orders/{XUserInfo.CountryCode.ToLower()}/{XUserInfo.UserId}/{ReportDate}?returnUrl={ReturnUrl}");
break; break;
case PTarget.FrontPage: case PTarget.FrontPage:
Navigator.NavigateTo($"/report/print/summary/{XUserInfo.CountryCode.ToLower()}/{XUserInfo.Id}/{ReportDate}?returnUrl={ReturnUrl}"); Navigator.NavigateTo($"/report/print/summary/{XUserInfo.CountryCode.ToLower()}/{XUserInfo.UserId}/{ReportDate}?returnUrl={ReturnUrl}");
break; break;
case PTarget.None: case PTarget.None:
break; break;
@ -111,7 +113,7 @@ public partial class AdvisorReportViewPage : IDisposable
// store the report locally // store the report locally
if (!string.IsNullOrWhiteSpace(Report.ReportData.ReportDate)) if (!string.IsNullOrWhiteSpace(Report.ReportData.ReportDate))
{ {
await Storage.SetItemAsync($"{XUserInfo.Id}-{Report.ReportData.ReportDate}", Report); await Storage.SetItemAsync($"{XUserInfo.UserId}-{Report.ReportData.ReportDate}", Report);
} }
// remove busy signal // remove busy signal

View file

@ -22,6 +22,9 @@ using Wonky.Client.HttpInterfaces;
using Wonky.Client.Services; using Wonky.Client.Services;
using Wonky.Entity.Requests; using Wonky.Entity.Requests;
using Wonky.Entity.Views; using Wonky.Entity.Views;
using Wonky.Client.Services;
using Wonky.Entity.DTO;
#pragma warning disable CS8618 #pragma warning disable CS8618
namespace Wonky.Client.Pages; namespace Wonky.Client.Pages;
@ -34,6 +37,7 @@ public partial class CatalogCountryPage : IDisposable
[Inject] private UserProfileService ProfileService { get; set; } [Inject] private UserProfileService ProfileService { get; set; }
[Inject] private ILogger<CatalogCountryPage> Logger { get; set; } [Inject] private ILogger<CatalogCountryPage> Logger { get; set; }
[Inject] private NavigationManager Navigator { get; set; } [Inject] private NavigationManager Navigator { get; set; }
[Inject] private UserInfoService UserInfoService { get; set; }
[Parameter] public string CountryCode { get; set; } = ""; [Parameter] public string CountryCode { get; set; } = "";
@ -41,14 +45,14 @@ public partial class CatalogCountryPage : IDisposable
private MetaData MetaInfo { get; set; } = new(); private MetaData MetaInfo { get; set; } = new();
private CatalogPager Pager { get; set; } = new(); private CatalogPager Pager { get; set; } = new();
private UserProfile Profiles { get; set; } = new(); private UserProfile Profiles { get; set; } = new();
private X_UserInfoView XUserInfo { get; set; } = new(); private UserManagerEditView XUserInfo { get; set; } = new();
private bool Working { get; set; } private bool Working { get; set; }
private string CountryName { get; set; } = ""; private string CountryName { get; set; } = "";
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
Profiles = await ProfileService.GetPreferences(); Profiles = await ProfileService.GetPreferences();
XUserInfo = await Storage.GetItemAsync<X_UserInfoView>("_xu"); XUserInfo = await UserInfoService.GetUserInfo();
Pager.OrderBy = Profiles.ItemSort; Pager.OrderBy = Profiles.ItemSort;

View file

@ -34,9 +34,11 @@ namespace Wonky.Client.Pages
[Inject] private ICountryCustomerRepository CustomerRepo { get; set; } [Inject] private ICountryCustomerRepository CustomerRepo { get; set; }
[Inject] private HttpInterceptorService Interceptor { get; set; } [Inject] private HttpInterceptorService Interceptor { get; set; }
[Inject] private NavigationManager Navigator { get; set; } [Inject] private NavigationManager Navigator { get; set; }
[Inject] private UserInfoService UserInfoService { get; set; }
private List<CompanyDto> Companies { get; set; } = new(); private List<CompanyDto> Companies { get; set; } = new();
private UserProfile Profiles { get; set; } = new(); private UserProfile Profiles { get; set; } = new();
private X_UserInfoView XUserInfo { get; set; } = new(); private UserManagerEditView XUserInfo { get; set; } = new();
private string SavedSearch { get; set; } = ""; private string SavedSearch { get; set; } = "";
private bool ShowFolded { get; set; } private bool ShowFolded { get; set; }
private bool Working { get; set; } = true; private bool Working { get; set; } = true;
@ -53,7 +55,7 @@ namespace Wonky.Client.Pages
// set preferences // set preferences
Profiles = await ProfileService.GetPreferences(); Profiles = await ProfileService.GetPreferences();
XUserInfo = await Storage.GetItemAsync<X_UserInfoView>("_xu"); XUserInfo = await UserInfoService.GetUserInfo();
Paging.OrderBy = Profiles.CompanySort; Paging.OrderBy = Profiles.CompanySort;
Paging.SearchColumn = Profiles.CompanySearch; Paging.SearchColumn = Profiles.CompanySearch;
Paging.PageSize = Convert.ToInt32(Profiles.PageSize); Paging.PageSize = Convert.ToInt32(Profiles.PageSize);

View file

@ -36,7 +36,7 @@ public partial class OfficeOrderCreatePage : IDisposable
[Inject] private ICountryCustomerRepository CustomerRepo { get; set; } [Inject] private ICountryCustomerRepository CustomerRepo { get; set; }
[Inject] private ICountryCustomerHistoryRepository InventoryRepo { get; set; } [Inject] private ICountryCustomerHistoryRepository InventoryRepo { get; set; }
[Inject] private ICountryReportRepository ReportRepo { get; set; } [Inject] private ICountryReportRepository ReportRepo { get; set; }
[Inject] private ISystemUserRepositoryGen1 UserRepo { get; set; } [Inject] private ISystemUserRepository UserRepo { get; set; }
[Inject] private ICountryCatalogRepository Catalog { get; set; } [Inject] private ICountryCatalogRepository Catalog { get; set; }
// parameters // parameters
[Parameter] public string CompanyId { get; set; } = ""; [Parameter] public string CompanyId { get; set; } = "";
@ -50,7 +50,7 @@ public partial class OfficeOrderCreatePage : IDisposable
private List<ProductInventoryView> CustomerInventory { get; set; } = new(); private List<ProductInventoryView> CustomerInventory { get; set; } = new();
private SalesItemView SelectedItem { get; set; } = new(); private SalesItemView SelectedItem { get; set; } = new();
private ActivityDto Activity { get; set; } = new(); private ActivityDto Activity { get; set; } = new();
private WebUserInfoView SalesRep { get; set; } = new(); private UserManagerEditView SalesRep { get; set; } = new();
// edit context // edit context
private EditContext ActivityContext { get; set; } private EditContext ActivityContext { get; set; }
// variables // variables
@ -104,11 +104,11 @@ public partial class OfficeOrderCreatePage : IDisposable
Logger.LogDebug("OfficeOrderCreate => Inventory => {}", JsonSerializer.Serialize(CustomerInventory)); Logger.LogDebug("OfficeOrderCreate => Inventory => {}", JsonSerializer.Serialize(CustomerInventory));
// get sales rep info // get sales rep info
SalesRep = await UserRepo.GetAdvisorInfo(Customer.SalesRepId); SalesRep = await UserRepo.GetUserInfo(Customer.SalesRepId);
Logger.LogDebug("OfficeOrderCreate => SalesRep => {}", JsonSerializer.Serialize(SalesRep)); Logger.LogDebug("OfficeOrderCreate => SalesRep => {}", JsonSerializer.Serialize(SalesRep));
// set activity salesRep and countryCode // set activity salesRep and countryCode
Activity.SalesRep = SalesRep.Advisor; Activity.SalesRep = SalesRep.SalesRep;
Activity.CountryCode = SalesRep.CountryCode; Activity.CountryCode = SalesRep.CountryCode;
// add customer info into activity properties // add customer info into activity properties

View file

@ -21,6 +21,7 @@ using Blazored.Toast.Services;
using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components;
using Wonky.Client.HttpInterceptors; using Wonky.Client.HttpInterceptors;
using Wonky.Client.HttpInterfaces; using Wonky.Client.HttpInterfaces;
using Wonky.Client.Services;
using Wonky.Entity.DTO; using Wonky.Entity.DTO;
using Wonky.Entity.Views; using Wonky.Entity.Views;
#pragma warning disable CS8618 #pragma warning disable CS8618
@ -35,9 +36,11 @@ public partial class OfficeOrderViewPage : IDisposable
[Inject] private IAdvisorActivityRepository AdvisorActivityRepo { get; set; } [Inject] private IAdvisorActivityRepository AdvisorActivityRepo { get; set; }
[Inject] private ISystemSendMailService MailService { get; set; } [Inject] private ISystemSendMailService MailService { get; set; }
[Inject] private ILocalStorageService Storage { get; set; } [Inject] private ILocalStorageService Storage { get; set; }
[Inject] private ISystemUserRepositoryGen1 SystemUserRepo { get; set; } [Inject] private ISystemUserRepository SystemUserRepo { get; set; }
[Inject] private ILogger<OfficeOrderViewPage> Logger { get; set; } [Inject] private ILogger<OfficeOrderViewPage> Logger { get; set; }
[Inject] private IToastService Toast { get; set; } [Inject] private IToastService Toast { get; set; }
[Inject] private UserInfoService UserInfoService { get; set; }
private ReportItemView ReportItem { get; set; } = new(); private ReportItemView ReportItem { get; set; } = new();
private bool IsNotified { get; set; } private bool IsNotified { get; set; }
private bool Working { get; set; } = true; private bool Working { get; set; } = true;
@ -71,9 +74,9 @@ public partial class OfficeOrderViewPage : IDisposable
var responseView = await AdvisorActivityRepo.GetExpressState(ReportItem.ActivityId); var responseView = await AdvisorActivityRepo.GetExpressState(ReportItem.ActivityId);
Logger.LogDebug("SetExpressState => responseView <= {} ", JsonSerializer.Serialize(responseView)); Logger.LogDebug("SetExpressState => responseView <= {} ", JsonSerializer.Serialize(responseView));
// get user info from storage // get user info from storage
var user = await Storage.GetItemAsync<X_UserInfoView>("_xu"); var user = await UserInfoService.GetUserInfo();
// fetch sales rep from response // fetch sales rep from response
var salesRep = await SystemUserRepo.GetAdvisorInfo(responseView.Id); var salesRep = await SystemUserRepo.GetUserInfo(responseView.Id);
Logger.LogDebug("SetExpressState => salesRep => {}", JsonSerializer.Serialize(salesRep)); Logger.LogDebug("SetExpressState => salesRep => {}", JsonSerializer.Serialize(salesRep));
// create email notification body // create email notification body
var body = new StringBuilder(); var body = new StringBuilder();
@ -84,7 +87,7 @@ public partial class OfficeOrderViewPage : IDisposable
$"Post By : {salesRep.CountryCode.ToUpper()}-{ReportItem.Company.ZipCode} {ReportItem.Company.City}"); $"Post By : {salesRep.CountryCode.ToUpper()}-{ReportItem.Company.ZipCode} {ReportItem.Company.City}");
body.AppendLine(); body.AppendLine();
body.AppendLine("Med venlig hilsen"); body.AppendLine("Med venlig hilsen");
body.AppendLine($"{user.FullName}"); body.AppendLine($"{user.FirstName} {user.LastName}");
body.AppendLine($"{user.PhoneNumber}"); body.AppendLine($"{user.PhoneNumber}");
// create a list of mail addresses // create a list of mail addresses
var sendTo = new List<EmailContact> var sendTo = new List<EmailContact>

View file

@ -27,12 +27,14 @@ namespace Wonky.Client.Pages;
public partial class OfficeUserAdvisorCustomerListPage : IDisposable public partial class OfficeUserAdvisorCustomerListPage : IDisposable
{ {
[Parameter] public string UserId { get; set; } = "";
[Parameter] public string CountryCode { get; set; } = "dk";
[Inject] private HttpInterceptorService Interceptor { get; set; } [Inject] private HttpInterceptorService Interceptor { get; set; }
[Inject] private ICountryCustomerRepository CustomerRepo { get; set; } [Inject] private ICountryCustomerRepository CustomerRepo { get; set; }
[Inject] private UserProfileService UserProfileService { get; set; } [Inject] private UserProfileService UserProfileService { get; set; }
[Inject] private ISystemUserRepositoryGen1 UserRepo { get; set; } [Inject] private ISystemUserRepository UserRepo { get; set; }
[Parameter] public string UserId { get; set; } = "";
[Parameter] public string CountryCode { get; set; } = "dk";
private List<CompanyDto> CompanyList { get; set; } = new(); private List<CompanyDto> CompanyList { get; set; } = new();
private MetaData ResponseMeta { get; set; } = new(); private MetaData ResponseMeta { get; set; } = new();
private CustomerPaging Paging { get; set; } = new(); private CustomerPaging Paging { get; set; } = new();
@ -40,14 +42,14 @@ public partial class OfficeUserAdvisorCustomerListPage : IDisposable
private string SavedSearch { get; set; } = ""; private string SavedSearch { get; set; } = "";
private bool IncludeFolded { get; set; } private bool IncludeFolded { get; set; }
private bool Working { get; set; } = true; private bool Working { get; set; } = true;
private WebUserInfoView SalesRep { get; set; } = new(); private UserManagerEditView SalesRep { get; set; } = new();
protected override async Task OnParametersSetAsync() protected override async Task OnParametersSetAsync()
{ {
Interceptor.DisposeEvent(); Interceptor.DisposeEvent();
Interceptor.RegisterBeforeSendEvent(); Interceptor.RegisterBeforeSendEvent();
SalesRep = await UserRepo.GetAdvisorInfo(UserId); SalesRep = await UserRepo.GetUserInfo(UserId);
// set preferences // set preferences
UserProfile = await UserProfileService.GetPreferences(); UserProfile = await UserProfileService.GetPreferences();

View file

@ -26,7 +26,7 @@ namespace Wonky.Client.Pages;
public partial class OfficeUserAdvisorListPage :IDisposable public partial class OfficeUserAdvisorListPage :IDisposable
{ {
[Inject] private HttpInterceptorService Interceptor { get; set; } [Inject] private HttpInterceptorService Interceptor { get; set; }
[Inject] private ISystemUserRepositoryGen1 SystemUserRepo { get; set; } [Inject] private ISystemUserRepository SystemUserRepo { get; set; }
[Parameter] public string CountryCode { get; set; } = ""; [Parameter] public string CountryCode { get; set; } = "";
private List<UserManagerListView> SalesReps { get; set; } = new(); private List<UserManagerListView> SalesReps { get; set; } = new();
private bool Working { get; set; } = true; private bool Working { get; set; } = true;

View file

@ -17,6 +17,7 @@
using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components;
using Wonky.Client.HttpInterceptors; using Wonky.Client.HttpInterceptors;
using Wonky.Client.HttpInterfaces; using Wonky.Client.HttpInterfaces;
using Wonky.Entity.DTO;
using Wonky.Entity.Views; using Wonky.Entity.Views;
#pragma warning disable CS8618 #pragma warning disable CS8618
@ -28,11 +29,11 @@ public partial class OfficeUserAdvisorReportListPage : IDisposable
[Parameter] public string CountryCode { get; set; } = ""; [Parameter] public string CountryCode { get; set; } = "";
[Inject] private ICountryReportRepository ReportRepo { get; set; } [Inject] private ICountryReportRepository ReportRepo { get; set; }
[Inject] private HttpInterceptorService Interceptor { get; set; } [Inject] private HttpInterceptorService Interceptor { get; set; }
[Inject] private ISystemUserRepositoryGen1 SystemUserRepo { get; set; } [Inject] private ISystemUserRepository SystemUserRepo { get; set; }
[Inject] private NavigationManager Navigator { get; set; } [Inject] private NavigationManager Navigator { get; set; }
private List<SalesReportListView> ActivityReports { get; set; } = new(); private List<SalesReportListView> ActivityReports { get; set; } = new();
private bool Working { get; set; } = true; private bool Working { get; set; } = true;
private WebUserInfoView UserInfo { get; set; } = new(); private UserManagerEditView UserInfo { get; set; } = new();
/// <summary> /// <summary>
/// override OnParametersSeAsync /// override OnParametersSeAsync
@ -42,7 +43,7 @@ public partial class OfficeUserAdvisorReportListPage : IDisposable
Interceptor.RegisterEvent(); Interceptor.RegisterEvent();
Interceptor.RegisterBeforeSendEvent(); Interceptor.RegisterBeforeSendEvent();
UserInfo = await SystemUserRepo.GetAdvisorInfo(UserId); UserInfo = await SystemUserRepo.GetUserInfo(UserId);
while (string.IsNullOrWhiteSpace(UserInfo.UserId)) while (string.IsNullOrWhiteSpace(UserInfo.UserId))
{ {
await Task.Delay(500); await Task.Delay(500);

View file

@ -68,7 +68,6 @@ builder.Services.AddScoped<ICountryActivityRepository, CountryActivityRepository
builder.Services.AddScoped<ICountryCatalogRepository, CountryCatalogRepository>(); builder.Services.AddScoped<ICountryCatalogRepository, CountryCatalogRepository>();
builder.Services.AddScoped<ICountryCustomerRepository, CountryCustomerRepository>(); builder.Services.AddScoped<ICountryCustomerRepository, CountryCustomerRepository>();
builder.Services.AddScoped<ICountryReportRepository, CountryReportRepository>(); builder.Services.AddScoped<ICountryReportRepository, CountryReportRepository>();
builder.Services.AddScoped<ISystemUserRepositoryGen1, SystemUserRepositoryGen1>();
builder.Services.AddScoped<ISystemUserRepository, SystemUserRepository>(); builder.Services.AddScoped<ISystemUserRepository, SystemUserRepository>();
// warehouse repository // warehouse repository
builder.Services.AddScoped<IOrderProcessRepository, OrderProcessRepository>(); builder.Services.AddScoped<IOrderProcessRepository, OrderProcessRepository>();
@ -76,6 +75,7 @@ builder.Services.AddScoped<IOrderProcessRepository, OrderProcessRepository>();
builder.Services.AddScoped<ISystemSendMailService, SystemSendMailService>(); builder.Services.AddScoped<ISystemSendMailService, SystemSendMailService>();
// interceptor // interceptor
builder.Services.AddScoped<HttpInterceptorService>(); builder.Services.AddScoped<HttpInterceptorService>();
builder.Services.AddScoped<UserInfoService>();
// storage // storage
builder.Services.AddBlazoredLocalStorage(); builder.Services.AddBlazoredLocalStorage();
// authorization // authorization

View file

@ -141,7 +141,7 @@ namespace Wonky.Client.Services
var userInfo = JsonSerializer.Deserialize<UserManagerEditView>(content, _options); var userInfo = JsonSerializer.Deserialize<UserManagerEditView>(content, _options);
if(write) if(write)
await _localStorage.SetItemAsync("_xu", userInfo); await _localStorage.SetItemAsync("_xui", userInfo);
return userInfo ?? new UserManagerEditView(); return userInfo ?? new UserManagerEditView();
} }
} }

View file

@ -1,6 +1,14 @@
using Blazored.LocalStorage;
using Wonky.Entity.DTO;
namespace Wonky.Client.Services; namespace Wonky.Client.Services;
public class UserInfoService public class UserInfoService
{ {
private readonly ILocalStorageService _localStorageService;
public async Task<UserManagerEditView> GetUserInfo()
{
return await _localStorageService.GetItemAsync<UserManagerEditView>("_xui");
}
} }