wip
This commit is contained in:
parent
e63b04ec22
commit
2d58f0c14f
60 changed files with 550 additions and 96 deletions
|
@ -24,7 +24,7 @@ using Wonky.Entity.Views;
|
|||
|
||||
namespace Wonky.Client.Components
|
||||
{
|
||||
public partial class AdminAdviserCompanyTableComponent
|
||||
public partial class AdminAdvisorCompanyTableComponent
|
||||
{
|
||||
[Parameter] public List<CompanyDto> Companies { get; set; } = new();
|
||||
[Parameter] public EventCallback<string> OnDelete { get; set; }
|
|
@ -44,9 +44,9 @@
|
|||
<td>@user.FullName</td>
|
||||
<td>@user.PhoneNumber</td>
|
||||
<td>@user.Email</td>
|
||||
<td><a class="btn btn-outline-dark" href="/admin/users/advisers/@user.CountryCode.ToLower()/@user.UserId/reports">Rapporter</a></td>
|
||||
<td><a class="btn btn-outline-dark" href="/admin/users/advisers/@user.CountryCode.ToLower()/@user.UserId/companies">Kunder</a></td>
|
||||
<td><a class="btn btn-outline-dark" href="/admin/users/advisers/@user.CountryCode.ToLower()/@user.UserId/view">Rediger</a></td>
|
||||
<td><a class="btn btn-outline-dark" href="/admin/users/Advisors/@user.CountryCode.ToLower()/@user.UserId/reports">Rapporter</a></td>
|
||||
<td><a class="btn btn-outline-dark" href="/admin/users/Advisors/@user.CountryCode.ToLower()/@user.UserId/companies">Kunder</a></td>
|
||||
<td><a class="btn btn-outline-dark" href="/admin/users/Advisors/@user.CountryCode.ToLower()/@user.UserId/view">Rediger</a></td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
|
@ -19,7 +19,7 @@ using Wonky.Entity.Views;
|
|||
|
||||
namespace Wonky.Client.Components;
|
||||
|
||||
public partial class AdminAdviserTableComponent
|
||||
public partial class AdminAdvisorTableComponent
|
||||
{
|
||||
[Parameter] public List<UserListAdminView> UserList { get; set; }
|
||||
}
|
|
@ -41,7 +41,7 @@
|
|||
</div>
|
||||
@foreach (var report in ReportList)
|
||||
{
|
||||
<a class="list-group-item list-group-item-action" href="/admin/users/advisers/@CountryCode/@UserId/reports/@report.ReportDate">
|
||||
<a class="list-group-item list-group-item-action" href="/admin/users/Advisors/@CountryCode/@UserId/reports/@report.ReportDate">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
@report.ReportDate
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
@using Wonky.Client.Components
|
||||
|
||||
<PageTitle>Inno Web CRM</PageTitle>
|
||||
<AuthorizeView Roles="Adviser">
|
||||
<AuthorizeView Roles="Advisor">
|
||||
<div class="alert bg-light border-dark">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
|
@ -32,11 +32,16 @@
|
|||
</div>
|
||||
<TaskItemTableComponent TaskItemList="_taskItems" OnCompleteTask="OnCompleteTask"
|
||||
OnDeleteTask="OnDeleteConfirmed" OnTaskCompleted="OnTaskCompleted" />
|
||||
|
||||
</AuthorizeView>
|
||||
|
||||
<AuthorizeView Roles="Admin">
|
||||
<h2>Administrator</h2>
|
||||
</AuthorizeView>
|
||||
|
||||
<AuthorizeView Roles="Warehouse">
|
||||
<h2>Lager</h2>
|
||||
</AuthorizeView>
|
||||
|
||||
<AuthorizeView Roles="Supervisor">
|
||||
<h2>Supervisor</h2>
|
||||
</AuthorizeView>
|
|
@ -19,7 +19,7 @@
|
|||
<AuthorizeView>
|
||||
<Authorized>
|
||||
<div class="d-print-none">
|
||||
<a class="btn btn-outline-light" href="logout">LOG AF</a>
|
||||
<a class="btn btn-outline-light" href="logout"><i class="oi oi-lock-unlocked"></i> LOG AF</a>
|
||||
<a class="btn btn-outline-light" href="info">HJÆLP</a>
|
||||
</div>
|
||||
</Authorized>
|
||||
|
|
|
@ -47,12 +47,12 @@ public class AdminReportHttpRepository : IAdminReportHttpRepository
|
|||
|
||||
public async Task<List<NgSalesReportListView>> GetReports(string userId)
|
||||
{
|
||||
return await _client.GetFromJsonAsync<List<NgSalesReportListView>>($"{_apiConfig.AdminAdviserUri}/{userId}/reports");
|
||||
return await _client.GetFromJsonAsync<List<NgSalesReportListView>>($"{_apiConfig.AdminAdvisorUri}/{userId}/reports");
|
||||
}
|
||||
|
||||
public async Task<ReportView> GetReport(string userId, string workDate)
|
||||
{
|
||||
return await _client.GetFromJsonAsync<ReportView>($"{_apiConfig.AdminAdviserUri}/{userId}/reports/{workDate}");
|
||||
return await _client.GetFromJsonAsync<ReportView>($"{_apiConfig.AdminAdvisorUri}/{userId}/reports/{workDate}");
|
||||
|
||||
}
|
||||
}
|
|
@ -80,7 +80,7 @@ public class CompanyHttpRepository : ICompanyHttpRepository
|
|||
return pagingResponse;
|
||||
}
|
||||
|
||||
public async Task<PagingResponse<CompanyDto>> GetAdminAdviserCompaniesPaged(string userId, CompanyPagingParams pagingParameters)
|
||||
public async Task<PagingResponse<CompanyDto>> GetAdminAdvisorCompaniesPaged(string userId, CompanyPagingParams pagingParameters)
|
||||
{
|
||||
var queryString = new Dictionary<string, string>
|
||||
{
|
||||
|
@ -93,7 +93,7 @@ public class CompanyHttpRepository : ICompanyHttpRepository
|
|||
["hasFolded"] = pagingParameters.HasFolded.ToString()
|
||||
};
|
||||
var response = await _client
|
||||
.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.AdminAdviserUri}/{userId}/companies", queryString));
|
||||
.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.AdminAdvisorUri}/{userId}/companies", queryString));
|
||||
|
||||
var content = await response.Content.ReadAsStringAsync();
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace Wonky.Client.HttpRepository;
|
|||
public interface ICompanyHttpRepository
|
||||
{
|
||||
Task<PagingResponse<CompanyDto>> GetCompaniesPaged(CompanyPagingParams pagingParameters);
|
||||
Task<PagingResponse<CompanyDto>> GetAdminAdviserCompaniesPaged(string userId, CompanyPagingParams pagingParameters);
|
||||
Task<PagingResponse<CompanyDto>> GetAdminAdvisorCompaniesPaged(string userId, CompanyPagingParams pagingParameters);
|
||||
Task<CompanyDto> GetCompanyByAccount(string accountNumber);
|
||||
Task<CompanyDto> GetCompanyById(string companyId);
|
||||
Task<string> CreateCompany(CompanyDto model);
|
||||
|
|
|
@ -20,9 +20,9 @@ namespace Wonky.Client.HttpRepository;
|
|||
|
||||
public interface IUserHttpRepository
|
||||
{
|
||||
Task<List<UserListAdminView>> GetAdvisers();
|
||||
Task<AdminUserInfoDto> GetAdviserInfo(string userId);
|
||||
Task UpdateAdviser(string userId, UserUpdateDto model);
|
||||
Task<List<UserListAdminView>> GetAdvisors();
|
||||
Task<AdminUserInfoDto> GetAdvisorInfo(string userId);
|
||||
Task UpdateAdvisor(string userId, UserUpdateDto model);
|
||||
Task<List<UserListAdminView>> GetAdminUsers();
|
||||
Task<AdminUserInfoDto> GetAdminUserInfo(string userId);
|
||||
Task UpdateAdminUser(string userId, UserUpdateDto model);
|
||||
|
|
10
Wonky.Client/HttpRepository/IWarehouseHttpRepository.cs
Normal file
10
Wonky.Client/HttpRepository/IWarehouseHttpRepository.cs
Normal file
|
@ -0,0 +1,10 @@
|
|||
using Wonky.Entity.Views;
|
||||
|
||||
namespace Wonky.Client.HttpRepository;
|
||||
|
||||
public interface IWarehouseHttpRepository
|
||||
{
|
||||
Task<List<WarehouseOrderView>> GetWarehouseOrderListByStatus(string status);
|
||||
Task<WarehouseOrderView> GetWarehouseOrder(string orderId);
|
||||
Task UpdateWarehouseOrderStatus(WarehouseProcess process);
|
||||
}
|
|
@ -47,19 +47,19 @@ public class UserHttpRepository : IUserHttpRepository
|
|||
_api = configuration.Value;
|
||||
}
|
||||
|
||||
public async Task<List<UserListAdminView>> GetAdvisers()
|
||||
public async Task<List<UserListAdminView>> GetAdvisors()
|
||||
{
|
||||
return await _client.GetFromJsonAsync<List<UserListAdminView>>(_api.AdminAdviserUri);
|
||||
return await _client.GetFromJsonAsync<List<UserListAdminView>>(_api.AdminAdvisorUri);
|
||||
}
|
||||
|
||||
public async Task<AdminUserInfoDto> GetAdviserInfo(string userId)
|
||||
public async Task<AdminUserInfoDto> GetAdvisorInfo(string userId)
|
||||
{
|
||||
return await _client.GetFromJsonAsync<AdminUserInfoDto>($"{_api.AdminAdviserUri}/{userId}");
|
||||
return await _client.GetFromJsonAsync<AdminUserInfoDto>($"{_api.AdminAdvisorUri}/{userId}");
|
||||
}
|
||||
|
||||
public async Task UpdateAdviser(string userId, UserUpdateDto model)
|
||||
public async Task UpdateAdvisor(string userId, UserUpdateDto model)
|
||||
{
|
||||
await _client.PutAsJsonAsync($"{_api.AdminAdviserUri}/{userId}", model, _options);
|
||||
await _client.PutAsJsonAsync($"{_api.AdminAdvisorUri}/{userId}", model, _options);
|
||||
}
|
||||
|
||||
public async Task<List<UserListAdminView>> GetAdminUsers()
|
||||
|
|
52
Wonky.Client/HttpRepository/WarehouseHttpRepository.cs
Normal file
52
Wonky.Client/HttpRepository/WarehouseHttpRepository.cs
Normal file
|
@ -0,0 +1,52 @@
|
|||
using System.Net.Http.Json;
|
||||
using System.Text.Json;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Wonky.Entity.Configuration;
|
||||
using Wonky.Entity.Views;
|
||||
|
||||
namespace Wonky.Client.HttpRepository;
|
||||
|
||||
public class WarehouseHttpRepository : IWarehouseHttpRepository
|
||||
{
|
||||
private readonly JsonSerializerOptions? _options = new JsonSerializerOptions
|
||||
{
|
||||
PropertyNameCaseInsensitive = true
|
||||
};
|
||||
|
||||
private readonly NavigationManager _navigation;
|
||||
private ILogger<WarehouseHttpRepository> _logger;
|
||||
private readonly HttpClient _client;
|
||||
private readonly ApiConfig _api;
|
||||
|
||||
public WarehouseHttpRepository(HttpClient client,
|
||||
ILogger<WarehouseHttpRepository> logger,
|
||||
NavigationManager navigation,
|
||||
IOptions<ApiConfig> configuration)
|
||||
{
|
||||
_client = client;
|
||||
_logger = logger;
|
||||
_navigation = navigation;
|
||||
_api = configuration.Value;
|
||||
}
|
||||
|
||||
public async Task<List<WarehouseOrderView>> GetWarehouseOrderListByDate(string date)
|
||||
{
|
||||
return await _client.GetFromJsonAsync<List<WarehouseOrderView>>($"{_api.WarehouseUri}?date={date}", _options);
|
||||
}
|
||||
|
||||
public async Task<List<WarehouseOrderView>> GetWarehouseOrderListByStatus(string status)
|
||||
{
|
||||
return await _client.GetFromJsonAsync<List<WarehouseOrderView>>($"{_api.WarehouseUri}?status={status}", _options);
|
||||
}
|
||||
|
||||
public async Task<WarehouseOrderView> GetWarehouseOrder(string orderId)
|
||||
{
|
||||
return await _client.GetFromJsonAsync<WarehouseOrderView>($"{_api.WarehouseUri}/{orderId}", _options);
|
||||
}
|
||||
public async Task UpdateWarehouseOrderStatus(WarehouseProcess process)
|
||||
{
|
||||
_logger.LogDebug("process => {}", JsonSerializer.Serialize(process));
|
||||
await _client.PutAsJsonAsync($"{_api.WarehouseUri}/{process.OrderId}", process, _options);
|
||||
}
|
||||
}
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
@page "/companies/{companyId}/activities/new"
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Adviser")]
|
||||
@attribute [Authorize(Roles = "Advisor")]
|
||||
@using Wonky.Client.Components
|
||||
|
||||
<div class="card">
|
||||
|
|
|
@ -126,7 +126,7 @@ public partial class ActivityNewVisitPage : IDisposable
|
|||
_draft.VisitTypeEnum = _company.Account is "" or "NY" ? "new" : "recall";
|
||||
|
||||
// permanent identifications
|
||||
_draft.SalesRep = _ux.Adviser;
|
||||
_draft.SalesRep = _ux.Advisor;
|
||||
_draft.Account = _company.Account;
|
||||
_draft.VatNumber = _company.VatNumber;
|
||||
_draft.Email = _company.Email;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@using Wonky.Client.Components
|
||||
@attribute [Authorize(Roles = "Adviser")]
|
||||
@attribute [Authorize(Roles = "Advisor")]
|
||||
@page "/activity-today"
|
||||
|
||||
<div class="card">
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
*@
|
||||
|
||||
@using Wonky.Client.Components
|
||||
@page "/admin/users/advisers/{CountryCode}/{UserId}/companies"
|
||||
@page "/admin/users/Advisors/{CountryCode}/{UserId}/companies"
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-dark text-white">
|
|
@ -23,7 +23,7 @@ using Wonky.Entity.Requests;
|
|||
|
||||
namespace Wonky.Client.Pages;
|
||||
|
||||
public partial class AdminAdviserCompanyListPage : IDisposable
|
||||
public partial class AdminAdvisorCompanyListPage : IDisposable
|
||||
{
|
||||
[Parameter] public string UserId { get; set; } = "";
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
|
@ -55,14 +55,14 @@ public partial class AdminAdviserCompanyListPage : IDisposable
|
|||
_interceptor.RegisterEvent();
|
||||
_interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
AdminUserInfo = await _userRepo.GetAdviserInfo(UserId);
|
||||
AdminUserInfo = await _userRepo.GetAdvisorInfo(UserId);
|
||||
// get companies
|
||||
await GetCompanies();
|
||||
}
|
||||
|
||||
private async Task GetCompanies()
|
||||
{
|
||||
var pagingResponse = await _companyRepo.GetAdminAdviserCompaniesPaged(UserId, _paging);
|
||||
var pagingResponse = await _companyRepo.GetAdminAdvisorCompaniesPaged(UserId, _paging);
|
||||
_companyList = pagingResponse.Items;
|
||||
_metaData = pagingResponse.MetaData;
|
||||
}
|
|
@ -18,13 +18,13 @@
|
|||
@using Wonky.Client.Components
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Admin")]
|
||||
@page "/admin/users/advisers/{CountryCode}"
|
||||
@page "/admin/users/Advisors/{CountryCode}"
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-dark text-white">
|
||||
<h3>Sælgere</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<AdminAdviserTableComponent UserList="_salesReps"></AdminAdviserTableComponent>
|
||||
<AdminAdvisorTableComponent UserList="_salesReps"></AdminAdvisorTableComponent>
|
||||
</div>
|
||||
</div>
|
|
@ -21,7 +21,7 @@ using Wonky.Entity.Views;
|
|||
|
||||
namespace Wonky.Client.Pages;
|
||||
|
||||
public partial class AdminAdviserUserListPage : IDisposable
|
||||
public partial class AdminAdvisorUserListPage : IDisposable
|
||||
{
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||
|
@ -33,8 +33,8 @@ public partial class AdminAdviserUserListPage : IDisposable
|
|||
{
|
||||
_interceptor.RegisterEvent();
|
||||
_interceptor.RegisterBeforeSendEvent();
|
||||
var adviserList = await _userRepo.GetAdvisers();
|
||||
_salesReps = adviserList
|
||||
var AdvisorList = await _userRepo.GetAdvisors();
|
||||
_salesReps = AdvisorList
|
||||
.Where(x => x.CountryCode.ToLower() == CountryCode && Convert.ToInt32(x.SalesRep) < 100)
|
||||
.ToList();
|
||||
}
|
|
@ -15,7 +15,7 @@
|
|||
//
|
||||
*@
|
||||
|
||||
@page "/admin/users/advisers/{CountryCode}/{UserId}/view"
|
||||
@page "/admin/users/Advisors/{CountryCode}/{UserId}/view"
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Admin")]
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
|||
<div class="card-body">
|
||||
@if (AdminUserInfo != null)
|
||||
{
|
||||
<EditForm EditContext="_editContext" OnValidSubmit="UpdateAdviser">
|
||||
<EditForm EditContext="_editContext" OnValidSubmit="UpdateAdvisor">
|
||||
<DataAnnotationsValidator/>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
|
@ -69,7 +69,7 @@
|
|||
Sælgernr.
|
||||
</th>
|
||||
<td>
|
||||
@AdminUserInfo.Adviser
|
||||
@AdminUserInfo.Advisor
|
||||
</td>
|
||||
<th scope="col">
|
||||
Landekode
|
||||
|
@ -96,10 +96,10 @@
|
|||
<button type="submit" class="btn btn-primary">Gem</button>
|
||||
</div>
|
||||
<div class="col">
|
||||
<a class="btn btn-primary" href="/admin/users/advisers/@CountryCode">Tilbage</a>
|
||||
<a class="btn btn-primary" href="/admin/users/Advisors/@CountryCode">Tilbage</a>
|
||||
</div>
|
||||
<div class="col">
|
||||
<a class="btn btn-primary" href="/admin/users/advisers/@CountryCode/@UserId/reports">Salg</a>
|
||||
<a class="btn btn-primary" href="/admin/users/Advisors/@CountryCode/@UserId/reports">Salg</a>
|
||||
</div>
|
||||
</div>
|
||||
</EditForm>
|
|
@ -24,13 +24,13 @@ using Wonky.Entity.DTO;
|
|||
|
||||
namespace Wonky.Client.Pages;
|
||||
|
||||
public partial class AdminAdviserViewPage : IDisposable
|
||||
public partial class AdminAdvisorViewPage : IDisposable
|
||||
{
|
||||
[Parameter] public string UserId { get; set; } = "";
|
||||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||
[Inject] private IUserHttpRepository _userRepo { get; set; }
|
||||
[Inject] private ILogger<AdminAdviserViewPage> _logger { get; set; }
|
||||
[Inject] private ILogger<AdminAdvisorViewPage> _logger { get; set; }
|
||||
[Inject] private NavigationManager _navigator { get; set; }
|
||||
[Inject] private IToastService _toast { get; set; }
|
||||
private AdminUserInfoDto AdminUserInfo { get; set; } = new();
|
||||
|
@ -53,7 +53,7 @@ public partial class AdminAdviserViewPage : IDisposable
|
|||
_interceptor.RegisterEvent();
|
||||
_interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
AdminUserInfo = await _userRepo.GetAdviserInfo(UserId);
|
||||
AdminUserInfo = await _userRepo.GetAdvisorInfo(UserId);
|
||||
|
||||
_updateInfo.Email = AdminUserInfo.Email;
|
||||
_updateInfo.CountryCode = AdminUserInfo.CountryCode;
|
||||
|
@ -67,10 +67,10 @@ public partial class AdminAdviserViewPage : IDisposable
|
|||
|
||||
}
|
||||
|
||||
private async Task UpdateAdviser()
|
||||
private async Task UpdateAdvisor()
|
||||
{
|
||||
_toast.ShowInfo("Sender data til server ...");
|
||||
await _userRepo.UpdateAdviser(UserId, _updateInfo);
|
||||
await _userRepo.UpdateAdvisor(UserId, _updateInfo);
|
||||
}
|
||||
|
||||
private void PwHandleFieldChanged(object sender, FieldChangedEventArgs e)
|
|
@ -33,8 +33,8 @@ public partial class AdminOfficeUserListPage : IDisposable
|
|||
{
|
||||
_interceptor.RegisterEvent();
|
||||
_interceptor.RegisterBeforeSendEvent();
|
||||
var adviserList = await _userRepo.GetAdminUsers();
|
||||
_adminUsers = adviserList
|
||||
var AdvisorList = await _userRepo.GetAdminUsers();
|
||||
_adminUsers = AdvisorList
|
||||
.Where(x => x.CountryCode.ToLower() == CountryCode)
|
||||
.ToList();
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ public partial class AdminOfficeUserViewPage : IDisposable
|
|||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||
[Inject] private IUserHttpRepository _userRepo { get; set; }
|
||||
[Inject] private ILogger<AdminAdviserViewPage> _logger { get; set; }
|
||||
[Inject] private ILogger<AdminAdvisorViewPage> _logger { get; set; }
|
||||
[Inject] private NavigationManager _navigator { get; set; }
|
||||
[Inject] private IToastService _toast { get; set; }
|
||||
private AdminUserInfoDto AdminUserInfo { get; set; } = new();
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
@using Wonky.Client.Components
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Admin")]
|
||||
@page "/admin/users/advisers/{CountryCode}/{UserId}/reports"
|
||||
@page "/admin/users/Advisors/{CountryCode}/{UserId}/reports"
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-dark text-white">
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
@using Wonky.Client.Components
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@page "/admin/users/advisers/{CountryCode}/{UserId}/reports/{ReportDate}"
|
||||
@page "/admin/users/Advisors/{CountryCode}/{UserId}/reports/{ReportDate}"
|
||||
@attribute [Authorize(Roles = "Admin")]
|
||||
|
||||
<div class="report-page">
|
||||
|
|
|
@ -72,7 +72,7 @@ public partial class AdminReportViewPage : IDisposable
|
|||
{
|
||||
if (workDate != ReportDate)
|
||||
{
|
||||
_navigator.NavigateTo($"/admin/users/advisers/{CountryCode}/{UserId}/reports/{workDate}");
|
||||
_navigator.NavigateTo($"/admin/users/Advisors/{CountryCode}/{UserId}/reports/{workDate}");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ using Wonky.Entity.Views;
|
|||
|
||||
namespace Wonky.Client.Pages;
|
||||
|
||||
public partial class AdviserReportListPage : IDisposable
|
||||
public partial class AdvisorReportListPage : IDisposable
|
||||
{
|
||||
[Inject] private IReportHttpRepository _reportRepo { get; set; }
|
||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@using Wonky.Client.Components
|
||||
@attribute [Authorize(Roles = "Adviser")]
|
||||
@attribute [Authorize(Roles = "Advisor")]
|
||||
@page "/sales-reports/new"
|
||||
|
||||
<EditForm EditContext="_editContext">
|
|
@ -29,14 +29,14 @@ using Wonky.Entity.Views;
|
|||
|
||||
namespace Wonky.Client.Pages;
|
||||
|
||||
public partial class AdviserReportNewPage : IDisposable
|
||||
public partial class AdvisorReportNewPage : IDisposable
|
||||
{
|
||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||
[Inject] private UserPreferenceService _userPrefs { get; set; }
|
||||
[Inject] private IActivityHttpRepository _activityRepo { get; set; }
|
||||
[Inject] private IReportHttpRepository _reportRepo { get; set; }
|
||||
[Inject] private NavigationManager _navigator { get; set; }
|
||||
[Inject] private ILogger<AdviserReportNewPage> _logger { get; set; }
|
||||
[Inject] private ILogger<AdvisorReportNewPage> _logger { get; set; }
|
||||
[Inject] private IToastService _toast { get; set; }
|
||||
private EditContext _editContext { get; set; }
|
||||
private ReportDto _report { get; set; } = new();
|
|
@ -18,7 +18,7 @@
|
|||
@using Wonky.Client.Components
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@page "/sales-reports/view/{ReportDate}"
|
||||
@attribute [Authorize(Roles = "Adviser,Admin,Supervisor")]
|
||||
@attribute [Authorize(Roles = "Advisor,Admin,Supervisor")]
|
||||
|
||||
<div class="report-page d-print-block">
|
||||
<div class="row mb-3 d-print-none">
|
|
@ -20,7 +20,7 @@ using Wonky.Entity.Views;
|
|||
|
||||
namespace Wonky.Client.Pages;
|
||||
|
||||
public partial class AdviserReportViewPage
|
||||
public partial class AdvisorReportViewPage
|
||||
{
|
||||
[Parameter] public string ReportDate { get; set; }
|
||||
[Inject] private IReportHttpRepository _reportRepo { get; set; }
|
|
@ -19,7 +19,7 @@
|
|||
@using Wonky.Client.Components
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
|
||||
@attribute [Authorize(Roles = "Adviser")]
|
||||
@attribute [Authorize(Roles = "Advisor")]
|
||||
|
||||
<div class="sticky-top bg-success bg-opacity-50 rounded-2 px-3">
|
||||
<div class="container-fluid pt-3">
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
@using Microsoft.AspNetCore.Authorization
|
||||
@using Wonky.Client.Components
|
||||
@using System.Xml
|
||||
@attribute [Authorize(Roles = "Adviser")]
|
||||
@attribute [Authorize(Roles = "Advisor")]
|
||||
|
||||
|
||||
<h2>Opret kunde</h2>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
@using Microsoft.AspNetCore.Components
|
||||
@using Wonky.Client.Components
|
||||
@using Wonky.Client.Helpers
|
||||
@attribute [Authorize(Roles = "Adviser")]
|
||||
@attribute [Authorize(Roles = "Advisor")]
|
||||
@page "/companies/{CompanyId}"
|
||||
|
||||
@if (!string.IsNullOrWhiteSpace(_company.Name))
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
@using Microsoft.AspNetCore.Authorization
|
||||
@page "/info"
|
||||
|
||||
@attribute [Authorize(Roles = "Adviser,Admin,Office,Warehouse")]
|
||||
@attribute [Authorize(Roles = "Advisor,Admin,Office,Warehouse")]
|
||||
<div class="row mb-2">
|
||||
<div class="col col-md-2">
|
||||
<img class="grumpy-coder" src="@_app?.Image" alt="Wonky Logo"/>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
@using Wonky.Client.Components;
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
|
||||
@attribute [Authorize(Roles = "Adviser,Admin,Supervisor")]
|
||||
@attribute [Authorize(Roles = "Advisor,Admin,Supervisor,Office,Warehouse")]
|
||||
|
||||
<Home></Home>
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
@using Wonky.Client.Components
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
|
||||
@attribute [Authorize(Roles = "Adviser,Admin")]
|
||||
@attribute [Authorize(Roles = "Advisor,Admin")]
|
||||
|
||||
<div class="sticky-top bg-success bg-opacity-50 rounded-2 px-3">
|
||||
<div class="container-fluid pt-3">
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
@page "/sales-item/{salesItemId}"
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Adviser,Admin")]
|
||||
@attribute [Authorize(Roles = "Advisor,Admin")]
|
||||
|
||||
|
||||
<div class="card">
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Admin")]
|
||||
@page "/admin/users/advisers"
|
||||
@page "/admin/users/Advisors"
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-dark text-white">
|
||||
|
@ -27,9 +27,9 @@
|
|||
</div>
|
||||
<div class="card-body">
|
||||
<div class="list-group list-group-flush">
|
||||
<a class="list-group-item list-group-item-action" href="/admin/users/advisers/dk">Danmark</a>
|
||||
<a class="list-group-item list-group-item-action" href="/admin/users/advisers/no">Norge</a>
|
||||
<a class="list-group-item list-group-item-action" href="/admin/users/advisers/se">Sverige</a>
|
||||
<a class="list-group-item list-group-item-action" href="/admin/users/Advisors/dk">Danmark</a>
|
||||
<a class="list-group-item list-group-item-action" href="/admin/users/Advisors/no">Norge</a>
|
||||
<a class="list-group-item list-group-item-action" href="/admin/users/Advisors/se">Sverige</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
@using Wonky.Client.Components
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Adviser")]
|
||||
@attribute [Authorize(Roles = "Advisor")]
|
||||
@page "/companies/{CompanyId}/h/p/{Sku}"
|
||||
|
||||
<div class="card">
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
@using Wonky.Client.Components
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Adviser")]
|
||||
@attribute [Authorize(Roles = "Advisor")]
|
||||
@page "/companies/{CompanyId}/h/p"
|
||||
|
||||
<div class="card">
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
@using Wonky.Client.Components
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@page "/companies/{CompanyId}/h/i"
|
||||
@attribute [Authorize(Roles = "Adviser")]
|
||||
@attribute [Authorize(Roles = "Advisor")]
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
@using Wonky.Client.Components
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Adviser")]
|
||||
@attribute [Authorize(Roles = "Advisor")]
|
||||
@page "/task-items"
|
||||
|
||||
<div class="card">
|
||||
|
|
78
Wonky.Client/Pages/WarehouseOrderListPage.razor
Normal file
78
Wonky.Client/Pages/WarehouseOrderListPage.razor
Normal file
|
@ -0,0 +1,78 @@
|
|||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Admin,Warehouse,Office")]
|
||||
@page "/warehouse/orders"
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-8">
|
||||
<div class="btn-group-lg" role="group" aria-label="Ordre status">
|
||||
<input type="radio" class="btn-check" name="btnorder" id="btnorder1" autocomplete="off" checked @onchange="@GetOrderStatusNone" />
|
||||
<label class="btn btn-danger" for="btnorder1">Ubehandlet</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="btnorder" id="btnorder2" autocomplete="off" @onchange="@GetOrderStatusPicked"/>
|
||||
<label class="btn btn-warning" for="btnorder2">Plukket</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="btnorder" id="btnorder3" autocomplete="off" @onchange="@GetOrderStatusPacked" />
|
||||
<label class="btn btn-success" for="btnorder3">Pakket</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
@if (_readyToShip && _orders.Any())
|
||||
{
|
||||
<button type="button" class="btn btn-lg btn-primary text-nowrap" @onclick="SetProcessStatusShipped">Sæt alle afsendt</button>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
@if (_orders.Any())
|
||||
{
|
||||
<div class="list-group list-group-flush">
|
||||
<div class="list-group-item">
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-2">
|
||||
<h4>Ordredato</h4>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h4>Kundenavn</h4>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h4>Postnr. Bynavn</h4>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<h4>Status</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@foreach (var order in _orders)
|
||||
{
|
||||
<a class="list-group-item list-group-item-action" href="warehouse/orders/@order.OrderId">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
@order.OrderDate
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
@order.Company.Name
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
@order.Company.ZipCode @order.Company.City
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
@switch (order.ProcessStatusEnum.ToLower())
|
||||
{
|
||||
case "none":
|
||||
<span>Ubehandlet</span>
|
||||
break;
|
||||
case "picked":
|
||||
<span>Plukket</span>
|
||||
break;
|
||||
case "packed":
|
||||
<span>Pakket</span>
|
||||
break;
|
||||
case "shipped":
|
||||
<span>Afsendt</span>
|
||||
break;
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
}
|
66
Wonky.Client/Pages/WarehouseOrderListPage.razor.cs
Normal file
66
Wonky.Client/Pages/WarehouseOrderListPage.razor.cs
Normal file
|
@ -0,0 +1,66 @@
|
|||
using System.Text.Json;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Wonky.Client.HttpInterceptors;
|
||||
using Wonky.Client.HttpRepository;
|
||||
using Wonky.Entity.Views;
|
||||
|
||||
namespace Wonky.Client.Pages;
|
||||
|
||||
public partial class WarehouseOrderListPage : IDisposable
|
||||
{
|
||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||
[Inject] private IWarehouseHttpRepository _warehouseRepo { get; set; }
|
||||
|
||||
private string _items { get; set; }
|
||||
private bool _readyToShip;
|
||||
|
||||
private List<WarehouseOrderView> _orders { get; set; }
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
_interceptor.RegisterEvent();
|
||||
_interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
await GetOrderStatusNone();
|
||||
|
||||
_items = JsonSerializer.Serialize(_orders);
|
||||
}
|
||||
|
||||
private async Task GetOrderStatusNone()
|
||||
{
|
||||
_orders = await _warehouseRepo.GetWarehouseOrderListByStatus("none");
|
||||
_readyToShip = false;
|
||||
}
|
||||
|
||||
private async Task GetOrderStatusPicked()
|
||||
{
|
||||
_orders = await _warehouseRepo.GetWarehouseOrderListByStatus("picked");
|
||||
_readyToShip = false;
|
||||
}
|
||||
|
||||
private async Task GetOrderStatusPacked()
|
||||
{
|
||||
_orders = await _warehouseRepo.GetWarehouseOrderListByStatus("packed");
|
||||
_readyToShip = true;
|
||||
}
|
||||
|
||||
private async Task SetProcessStatusShipped()
|
||||
{
|
||||
foreach (var order in _orders)
|
||||
{
|
||||
if (order.ProcessStatusEnum.ToLower() != "packed") continue;
|
||||
var process = new WarehouseProcess
|
||||
{
|
||||
OrderId = order.OrderId,
|
||||
ProcessStatusEnum = "shipped"
|
||||
};
|
||||
await _warehouseRepo.UpdateWarehouseOrderStatus(process);
|
||||
order.ProcessStatusEnum = "shipped";
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_interceptor.DisposeEvent();
|
||||
}
|
||||
}
|
103
Wonky.Client/Pages/WarehouseOrderViewPage.razor
Normal file
103
Wonky.Client/Pages/WarehouseOrderViewPage.razor
Normal file
|
@ -0,0 +1,103 @@
|
|||
@using Microsoft.AspNetCore.Authorization
|
||||
@attribute [Authorize(Roles = "Admin,Warehouse,Office")]
|
||||
@page "/warehouse/orders/{OrderId}"
|
||||
|
||||
@if (!string.IsNullOrWhiteSpace(_order.OrderDate))
|
||||
{
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="4">
|
||||
<h2 class="text-center">@_order.Company.Name</h2>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">Konto</th>
|
||||
<td>@_order.Company.Account</td>
|
||||
<th scope="row">Telefon</th>
|
||||
<td>@_order.Company.Phone</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Kunde</th>
|
||||
<td>@_order.Company.Name</td>
|
||||
<th scope="row">Lev.Navn</th>
|
||||
<td>@_order.DlvName</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Adresse</th>
|
||||
<td>@_order.Company.Address1</td>
|
||||
<th scope="row">Lev.Adresse</th>
|
||||
<td>@_order.DlvAddress1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Adresse</th>
|
||||
<td>@_order.Company.Address2</td>
|
||||
<th scope="row">Lev.Adresse</th>
|
||||
<td>@_order.DlvAddress2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Postnr By</th>
|
||||
<td>@_order.Company.ZipCode @_order.Company.City</td>
|
||||
<th scope="row">Lev.Postnr By</th>
|
||||
<td>@_order.DlvZipCity</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Antal</th>
|
||||
<th scope="col">Varenr</th>
|
||||
<th scope="col">Beskrivelse</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var line in _order.Lines)
|
||||
{
|
||||
<tr>
|
||||
<td>@line.Quantity</td>
|
||||
<td>@line.Sku</td>
|
||||
<td>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="@line.LineNumber"/>
|
||||
<label class="form-check-label" for="@line.LineNumber">@line.Description</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
@if (!string.IsNullOrWhiteSpace(_order.OfficeNote))
|
||||
{
|
||||
<div class="alert bg-light border-dark border-2">
|
||||
<h3 class="text-center">@_order.OfficeNote</h3>
|
||||
</div>
|
||||
}
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<a class="btn btn-lg btn-primary text-nowrap" href="/warehouse/orders">Oversigt</a>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
@if (_order.ProcessStatusEnum.ToLower() == "none")
|
||||
{
|
||||
<button class="btn btn-lg btn-primary text-nowrap" type="button" @onclick="SetProcessStatusPicked">Sæt status plukket</button>
|
||||
}
|
||||
@if (_order.ProcessStatusEnum.ToLower() == "picked")
|
||||
{
|
||||
<button class="btn btn-lg btn-primary text-nowrap" type="button" @onclick="SetProcessStatusPacked">Sæt status pakket</button>
|
||||
}
|
||||
@if (_order.ProcessStatusEnum.ToLower() == "packed")
|
||||
{
|
||||
<button class="btn btn-lg btn-primary text-nowrap" type="button" @onclick="SetProcessStatusPacked">Sæt status afsendt</button>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div>Ingen data</div>
|
||||
}
|
61
Wonky.Client/Pages/WarehouseOrderViewPage.razor.cs
Normal file
61
Wonky.Client/Pages/WarehouseOrderViewPage.razor.cs
Normal file
|
@ -0,0 +1,61 @@
|
|||
using Microsoft.AspNetCore.Components;
|
||||
using Wonky.Client.HttpInterceptors;
|
||||
using Wonky.Client.HttpRepository;
|
||||
using Wonky.Entity.Views;
|
||||
|
||||
namespace Wonky.Client.Pages;
|
||||
|
||||
public partial class WarehouseOrderViewPage : IDisposable
|
||||
{
|
||||
[Parameter] public string OrderId { get; set; } = "";
|
||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||
[Inject] private IWarehouseHttpRepository _warehouseRepo { get; set; }
|
||||
[Inject] private NavigationManager _navigator { get; set; }
|
||||
|
||||
private WarehouseOrderView _order { get; set; } = new();
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
_interceptor.RegisterEvent();
|
||||
_interceptor.RegisterBeforeSendEvent();
|
||||
if (!string.IsNullOrWhiteSpace(OrderId))
|
||||
_order = await _warehouseRepo.GetWarehouseOrder(OrderId);
|
||||
}
|
||||
|
||||
private async Task SetProcessStatusPicked()
|
||||
{
|
||||
var process = new WarehouseProcess
|
||||
{
|
||||
OrderId = _order.OrderId,
|
||||
ProcessStatusEnum = "picked"
|
||||
};
|
||||
await _warehouseRepo.UpdateWarehouseOrderStatus(process);
|
||||
_navigator.NavigateTo("/warehouse/orders");
|
||||
}
|
||||
|
||||
private async Task SetProcessStatusPacked()
|
||||
{
|
||||
var process = new WarehouseProcess
|
||||
{
|
||||
OrderId = _order.OrderId,
|
||||
ProcessStatusEnum = "packed"
|
||||
};
|
||||
await _warehouseRepo.UpdateWarehouseOrderStatus(process);
|
||||
_navigator.NavigateTo("/warehouse/orders");
|
||||
}
|
||||
|
||||
private async Task SetProcessStatusShipped()
|
||||
{
|
||||
var process = new WarehouseProcess
|
||||
{
|
||||
OrderId = _order.OrderId,
|
||||
ProcessStatusEnum = "shipped"
|
||||
};
|
||||
await _warehouseRepo.UpdateWarehouseOrderStatus(process);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_interceptor.DisposeEvent();
|
||||
}
|
||||
}
|
|
@ -57,6 +57,7 @@ builder.Services.AddScoped<ITaskItemHttpRepository, TaskItemHttpRepository>();
|
|||
builder.Services.AddScoped<IHistoryHttpRepository, HistoryHttpRepository>();
|
||||
builder.Services.AddScoped<IUserHttpRepository, UserHttpRepository>();
|
||||
builder.Services.AddScoped<IAdminReportHttpRepository, AdminReportHttpRepository>();
|
||||
builder.Services.AddScoped<IWarehouseHttpRepository, WarehouseHttpRepository>();
|
||||
|
||||
builder.Services.AddScoped<HttpInterceptorService>();
|
||||
builder.Services.AddBlazoredLocalStorage();
|
||||
|
|
|
@ -102,14 +102,18 @@ namespace Wonky.Client.Shared
|
|||
var roles = new List<string>();
|
||||
if (userInfoView.IsAdmin)
|
||||
roles.Add("Admin");
|
||||
if (userInfoView.IsAdviser)
|
||||
roles.Add("Adviser");
|
||||
if (userInfoView.IsAdvisor)
|
||||
roles.Add("Advisor");
|
||||
if (userInfoView.IsSupervisor)
|
||||
roles.Add("Supervisor");
|
||||
if(userInfoView.IsEDoc)
|
||||
roles.Add("EDoc");
|
||||
if (userInfoView.IsEShop)
|
||||
roles.Add("EShop");
|
||||
if (userInfoView.IsOffice)
|
||||
roles.Add("Office");
|
||||
if (userInfoView.IsWareHouse)
|
||||
roles.Add("Warehouse");
|
||||
return roles;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,9 +45,18 @@
|
|||
</div>
|
||||
</NotAuthorized>
|
||||
</AuthorizeView>
|
||||
|
||||
<AuthorizeView Roles="Admin,Warehouse,Office">
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link ps-2" href="/warehouse/orders">
|
||||
<span class="oi oi-people" aria-hidden="true"></span> Ordrer
|
||||
</NavLink>
|
||||
</div>
|
||||
</AuthorizeView>
|
||||
|
||||
<AuthorizeView Roles="Admin">
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link ps-2" href="/admin/users/advisers">
|
||||
<NavLink class="nav-link ps-2" href="/admin/users/Advisors">
|
||||
<span class="oi oi-people" aria-hidden="true"></span> Sælgere
|
||||
</NavLink>
|
||||
</div>
|
||||
|
@ -62,7 +71,8 @@
|
|||
</NavLink>
|
||||
</div>
|
||||
</AuthorizeView>
|
||||
<AuthorizeView Roles="Adviser">
|
||||
|
||||
<AuthorizeView Roles="Advisor">
|
||||
<Authorized>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link ps-2" href="/home">
|
||||
|
@ -95,13 +105,6 @@
|
|||
<span class="oi oi-question-mark" aria-hidden="true"></span> Hjælp
|
||||
</NavLink>
|
||||
</div>
|
||||
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link ps-2" href="/logout">
|
||||
<span class="oi oi-account-login"></span> Log af
|
||||
</NavLink>
|
||||
</div>
|
||||
|
||||
</Authorized>
|
||||
</AuthorizeView>
|
||||
</nav>
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{
|
||||
"appInfo": {
|
||||
"name": "Wonky Client",
|
||||
"version": "0.9.15",
|
||||
"version": "0.9.17",
|
||||
"rc": true,
|
||||
"sandBox": false,
|
||||
"image": "grumpy-coder.png"
|
||||
},
|
||||
"apiConfig": {
|
||||
"innoBaseUrl": "https://dev.innotec.dk",
|
||||
"innoBaseUrl": "https://staging.innotec.dk",
|
||||
"glsTrackUrl": "https://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/DK01/DA/5004.htm?txtAction=71000&txtRefNo=",
|
||||
"glsId": "",
|
||||
"virkUrl": "api/v2/services/virk",
|
||||
|
@ -16,14 +16,14 @@
|
|||
"tokenUri": "token",
|
||||
"userInfoUri": "api/auth/userinfo",
|
||||
"catalogUri": "api/v2/crm/catalog",
|
||||
"activityUri": "api/v2/crm/advisers/sales",
|
||||
"reportUri": "api/v2/crm/advisers/reports",
|
||||
"taskUri": "api/v2/crm/advisers/tasks",
|
||||
"activityUri": "api/v2/crm/Advisors/sales",
|
||||
"reportUri": "api/v2/crm/Advisors/reports",
|
||||
"taskUri": "api/v2/crm/Advisors/tasks",
|
||||
"companyUri": "api/v2/crm/companies",
|
||||
"inventoryUri": "history/inventory",
|
||||
"productUri": "history/products",
|
||||
"syncUri": "history/sync",
|
||||
"adminAdviserUri": "api/v2/admin/users/advisers",
|
||||
"adminAdvisorUri": "api/v2/admin/users/Advisors",
|
||||
"adminUserUri": "api/v2/admin/users/office",
|
||||
"adminPasswdUri": "api/v2/admin/users/passwd",
|
||||
"adminReportUri": "reports",
|
||||
|
|
|
@ -99,7 +99,7 @@ public class ApiConfig
|
|||
/// <summary>
|
||||
/// Application uri for administration of sales representatives
|
||||
/// </summary>
|
||||
public string AdminAdviserUri { get; set; } = "";
|
||||
public string AdminAdvisorUri { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Application uri for administration of administrative users
|
||||
|
@ -111,7 +111,8 @@ public class ApiConfig
|
|||
/// </summary>
|
||||
public string AdminPasswdUri { get; set; } = "";
|
||||
|
||||
|
||||
public string WarehouseUri { get; set; } = "";
|
||||
|
||||
// public string KrvVariantsUri { get; set; } = "";
|
||||
// public string KrvProductsUri { get; set; } = "";
|
||||
// public string ImageUploadUri { get; set; } = "";
|
||||
|
|
|
@ -58,7 +58,7 @@ public class AdminUserInfoDto
|
|||
/// </summary>
|
||||
[Required(ErrorMessage = "Sælger identifikation skal angives.")]
|
||||
[MaxLength(50,ErrorMessage = "Der kan højst bruges 20 tegn.")]
|
||||
public string Adviser { get; set; } = "";
|
||||
public string Advisor { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Country name
|
||||
|
@ -76,9 +76,9 @@ public class AdminUserInfoDto
|
|||
public bool EmailConfirmed { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Adviser flag
|
||||
/// Advisor flag
|
||||
/// </summary>
|
||||
public bool IsAdviser { get; set; }
|
||||
public bool IsAdvisor { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Admin flag
|
||||
|
|
|
@ -38,7 +38,15 @@ public class ReportItemLine
|
|||
/// </summary>
|
||||
public decimal Price { get; set; }
|
||||
/// <summary>
|
||||
/// Line number
|
||||
/// </summary>
|
||||
public int LineNumber { get; set; }
|
||||
/// <summary>
|
||||
/// Line sum
|
||||
/// </summary>
|
||||
public decimal LineSum { get; set; }
|
||||
/// <summary>
|
||||
/// Flag line as picked
|
||||
/// </summary>
|
||||
public bool Checked { get; set; }
|
||||
}
|
|
@ -20,7 +20,7 @@ namespace Wonky.Entity.Views;
|
|||
public class UserInfoView
|
||||
{
|
||||
[JsonPropertyName("id")] public string Id { get; set; } = "";
|
||||
[JsonPropertyName("adviser")] public string Adviser { get; set; } = "";
|
||||
[JsonPropertyName("Advisor")] public string Advisor { get; set; } = "";
|
||||
[JsonPropertyName("companyId")] public string CrmCompanyKey { get; set; } = "";
|
||||
[JsonPropertyName("countryCode")] public string CountryCode { get; set; } = "";
|
||||
[JsonPropertyName("countryName")] public string CountryName { get; set; } = "";
|
||||
|
@ -28,8 +28,10 @@ public class UserInfoView
|
|||
[JsonPropertyName("fullName")] public string FullName { get; set; } = "";
|
||||
[JsonPropertyName("phoneNumber")] public string PhoneNumber { get; set; } = "";
|
||||
[JsonPropertyName("isAdmin")] public bool IsAdmin { get; set; }
|
||||
[JsonPropertyName("isAdviser")] public bool IsAdviser { get; set; }
|
||||
[JsonPropertyName("isAdvisor")] public bool IsAdvisor { get; set; }
|
||||
[JsonPropertyName("isEDoc")] public bool IsEDoc { get; set; }
|
||||
[JsonPropertyName("isEShop")] public bool IsEShop { get; set; }
|
||||
[JsonPropertyName("isOffice")] public bool IsOffice { get; set; }
|
||||
[JsonPropertyName("isWarehouse")] public bool IsWareHouse { get; set; }
|
||||
[JsonPropertyName("isSupervisor")] public bool IsSupervisor { get; set; }
|
||||
}
|
46
Wonky.Entity/Views/WarehouseOrderView.cs
Normal file
46
Wonky.Entity/Views/WarehouseOrderView.cs
Normal file
|
@ -0,0 +1,46 @@
|
|||
namespace Wonky.Entity.Views;
|
||||
|
||||
public class WarehouseOrderView
|
||||
{
|
||||
/// <summary>
|
||||
/// Customer company info
|
||||
/// </summary>
|
||||
public ReportItemCustomer Company { get; set; } = new();
|
||||
/// <summary>
|
||||
/// Lines
|
||||
/// </summary>
|
||||
public List<ReportItemLine> Lines { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Entity id (reference to SalesHeadId)
|
||||
/// </summary>
|
||||
public string OrderId { get; set; } = "";
|
||||
/// <summary>
|
||||
/// Order date
|
||||
/// </summary>
|
||||
public string OrderDate { get; set; } = "";
|
||||
/// <summary>
|
||||
/// Office note
|
||||
/// </summary>
|
||||
public string OfficeNote { get; set; } = "";
|
||||
/// <summary>
|
||||
/// Customer deliver name
|
||||
/// </summary>
|
||||
public string DlvName { get; set; } = "";
|
||||
/// <summary>
|
||||
/// Customer delivery address line 1
|
||||
/// </summary>
|
||||
public string DlvAddress1 { get; set; } = "";
|
||||
/// <summary>
|
||||
/// Customer delivery address line 2
|
||||
/// </summary>
|
||||
public string DlvAddress2 { get; set; } = "";
|
||||
/// <summary>
|
||||
/// Customer delivery post code and city name
|
||||
/// </summary>
|
||||
public string DlvZipCity { get; set; } = "";
|
||||
/// <summary>
|
||||
/// Current process status
|
||||
/// </summary>
|
||||
public string ProcessStatusEnum { get; set; } = "";
|
||||
}
|
14
Wonky.Entity/Views/WarehouseProcess.cs
Normal file
14
Wonky.Entity/Views/WarehouseProcess.cs
Normal file
|
@ -0,0 +1,14 @@
|
|||
namespace Wonky.Entity.Views;
|
||||
|
||||
public class WarehouseProcess
|
||||
{
|
||||
/// <summary>
|
||||
/// Entity id
|
||||
/// </summary>
|
||||
public string OrderId { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Process status enum as string
|
||||
/// </summary>
|
||||
public string ProcessStatusEnum { get; set; } = "";
|
||||
}
|
Loading…
Reference in a new issue