WIP: user management
This commit is contained in:
parent
5e5f95f6e0
commit
6ac4b111e3
15 changed files with 70 additions and 44 deletions
|
@ -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)
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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");
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue