refactor for country landing pages
This commit is contained in:
parent
d89d1a055d
commit
a4e9598fa3
47 changed files with 232 additions and 301 deletions
44
Wonky.Client/Components/CountrySalesRepListComponent.razor
Normal file
44
Wonky.Client/Components/CountrySalesRepListComponent.razor
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
@*
|
||||||
|
// Copyright (C) 2022 FCS Frede's Computer Services.
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
||||||
|
//
|
||||||
|
*@
|
||||||
|
|
||||||
|
<div class="list-group list-group-flush">
|
||||||
|
@if (UserList.Any())
|
||||||
|
{
|
||||||
|
foreach (var user in UserList)
|
||||||
|
{
|
||||||
|
<div class="list-group-item list-group-item-action" style="cursor: pointer;">
|
||||||
|
<div class="row align-items-center">
|
||||||
|
<div class="col-sm-4">@user.FullName</div>
|
||||||
|
<div class="col-sm-2">@user.PhoneNumber</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<a class="btn btn-warning d-block" href="/office/users/advisors/@user.CountryCode.ToLower()/@user.UserId/reports">Rapporter</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<a class="btn btn-success d-block" href="/office/users/advisors/@user.CountryCode.ToLower()/@user.UserId/customers">Kunder</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<a class="btn btn-info d-block" href="/office/users/advisors/@user.CountryCode.ToLower()/@user.UserId/view">Rediger</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<div>Ingen data</div>
|
||||||
|
}
|
||||||
|
</div>
|
|
@ -19,7 +19,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Components;
|
namespace Wonky.Client.Components;
|
||||||
|
|
||||||
public partial class OfficeAdvisorTableComponent
|
public partial class CountrySalesRepListComponent
|
||||||
{
|
{
|
||||||
[Parameter] public List<UserListAdminView> UserList { get; set; } = new();
|
[Parameter] public List<UserListAdminView> UserList { get; set; } = new();
|
||||||
}
|
}
|
|
@ -20,41 +20,10 @@
|
||||||
|
|
||||||
<PageTitle>Innotec Admin</PageTitle>
|
<PageTitle>Innotec Admin</PageTitle>
|
||||||
|
|
||||||
@*<div class="card mb-3" style="max-width: 300px">
|
<div class="row">
|
||||||
<div class="row g-0">
|
<div class="col"></div>
|
||||||
<div class="col-4">
|
<div class="col"></div>
|
||||||
<i class="img-fluid rounded-start fi fi-dk" alt="dk flag"></i>
|
<div class="col"></div>
|
||||||
</div>
|
<div class="col"></div>
|
||||||
<div class="col-8">
|
<div class="col"></div>
|
||||||
<div class="card-body">
|
</div>
|
||||||
Danmark
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="card mb-3" style="max-width: 300px">
|
|
||||||
<div class="row g-0">
|
|
||||||
<div class="col-4">
|
|
||||||
<i class="img-fluid rounded-start fi fi-no" alt="no flag"></i>
|
|
||||||
</div>
|
|
||||||
<div class="col-8">
|
|
||||||
<div class="card-body">
|
|
||||||
Norge
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="card mb-3" style="max-width: 300px">
|
|
||||||
<div class="row g-0">
|
|
||||||
<div class="col-4">
|
|
||||||
<i class="img-fluid rounded-start fi fi-se" alt="se flag"></i>
|
|
||||||
</div>
|
|
||||||
<div class="col-8">
|
|
||||||
<div class="card-body">
|
|
||||||
Sverige
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>*@
|
|
|
@ -1,58 +0,0 @@
|
||||||
@*
|
|
||||||
// Copyright (C) 2022 FCS Frede's Computer Services.
|
|
||||||
// This program is free software: you can redistribute it and/or modify
|
|
||||||
// it under the terms of the GNU Affero General Public License as
|
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
|
||||||
// License, or (at your option) any later version.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
// GNU Affero General Public License for more details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
|
||||||
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
|
||||||
//
|
|
||||||
*@
|
|
||||||
|
|
||||||
@if (UserList.Any())
|
|
||||||
{
|
|
||||||
<table class="table table-striped">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th scope="col">
|
|
||||||
Navn
|
|
||||||
</th>
|
|
||||||
<th scope="col">
|
|
||||||
Telefon
|
|
||||||
</th>
|
|
||||||
<th scope="col">
|
|
||||||
Email
|
|
||||||
</th>
|
|
||||||
<th scope="col">
|
|
||||||
|
|
||||||
</th>
|
|
||||||
<th scope="col">
|
|
||||||
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
@foreach (var user in UserList)
|
|
||||||
{
|
|
||||||
<tr class="align-middle">
|
|
||||||
<td>@user.FullName</td>
|
|
||||||
<td>@user.PhoneNumber</td>
|
|
||||||
<td>@user.Email</td>
|
|
||||||
<td><a class="btn btn-outline-dark" href="/office/users/advisors/@user.CountryCode.ToLower()/@user.UserId/reports">Rapporter</a></td>
|
|
||||||
<td><a class="btn btn-outline-dark" href="/office/users/advisors/@user.CountryCode.ToLower()/@user.UserId/companies">Kunder</a></td>
|
|
||||||
<td><a class="btn btn-outline-dark" href="/office/users/advisors/@user.CountryCode.ToLower()/@user.UserId/view">Rediger</a></td>
|
|
||||||
</tr>
|
|
||||||
}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
<div>Ingen data</div>
|
|
||||||
}
|
|
|
@ -16,29 +16,26 @@
|
||||||
*@
|
*@
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-4">
|
<div class="col-sm-4">
|
||||||
<div class="btn-group" role="group" aria-label="Ordre status">
|
<div class="btn-group" role="group" aria-label="Ordre status">
|
||||||
<input type="radio" class="btn-check" name="btn-order" id="btn-order1" autocomplete="off" checked @onchange="@GetOrderStatusNone"/>
|
<input type="radio" class="btn-check" name="btn-order" id="btn-order1" autocomplete="off" checked @onchange="@GetOrderStatusNone"/>
|
||||||
<label class="btn btn-outline-success" for="btn-order1">Ubehandlet</label>
|
<label class="btn btn-success" for="btn-order1">Ubehandlet</label>
|
||||||
|
|
||||||
<input type="radio" class="btn-check" name="btn-order" id="btn-order2" autocomplete="off" @onchange="@GetOrderStatusPicked"/>
|
<input type="radio" class="btn-check" name="btn-order" id="btn-order2" autocomplete="off" @onchange="@GetOrderStatusPicked"/>
|
||||||
<label class="btn btn-outline-warning" for="btn-order2">Plukket</label>
|
<label class="btn btn-warning" for="btn-order2">Plukket</label>
|
||||||
|
|
||||||
<input type="radio" class="btn-check" name="btn-order" id="btn-order3" autocomplete="off" @onchange="@GetOrderStatusPacked"/>
|
<input type="radio" class="btn-check" name="btn-order" id="btn-order3" autocomplete="off" @onchange="@GetOrderStatusPacked"/>
|
||||||
<label class="btn btn-outline-danger" for="btn-order3">Pakket</label>
|
<label class="btn btn-danger" for="btn-order3">Pakket</label>
|
||||||
|
|
||||||
<input type="radio" class="btn-check" name="btn-order" id="btn-order4" autocomplete="off" @onchange="@GetOrderStatusShipped"/>
|
|
||||||
<label class="btn btn-outline-info" for="btn-order4">Afsendt</label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 text-end">
|
<div class="col-sm-4 text-end">
|
||||||
<label class="btn btn-outline-dark position-relative">
|
<label class="btn btn-outline-dark position-relative">
|
||||||
@Header
|
@Header
|
||||||
<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">@OrderList.Count</span>
|
<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">@OrderList.Count</span>
|
||||||
<span class="visually-hidden">ordrer i listen</span>
|
<span class="visually-hidden">ordrer i listen</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 text-end">
|
<div class="col-sm-4 text-end">
|
||||||
@if (ReadyToShip && OrderList.Any())
|
@if (ReadyToShip && OrderList.Any())
|
||||||
{
|
{
|
||||||
<button type="button" class="btn btn-primary text-sm-center" @onclick="SetAllPackedStatusToShipped">Sæt alle afsendt</button>
|
<button type="button" class="btn btn-primary text-sm-center" @onclick="SetAllPackedStatusToShipped">Sæt alle afsendt</button>
|
||||||
|
|
|
@ -25,11 +25,13 @@ public class VatAddress
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Required(ErrorMessage = "Vejnavn skal angives")]
|
[Required(ErrorMessage = "Vejnavn skal angives")]
|
||||||
public string StreetName { get; set; } = "";
|
public string StreetName { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// House Number
|
/// House Number
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Required(ErrorMessage = "Husnummer skal angives")]
|
[Required(ErrorMessage = "Husnummer skal angives")]
|
||||||
public string HouseNumber { get; set; } = "";
|
public string HouseNumber { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Postal Code
|
/// Postal Code
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -29,7 +29,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class CatalogCrmPage : IDisposable
|
public partial class CatalogPage : IDisposable
|
||||||
{
|
{
|
||||||
[Inject] public ILocalStorageService Storage { get; set; }
|
[Inject] public ILocalStorageService Storage { get; set; }
|
||||||
[Inject] public ICatalogCrmHttpRepository ItemRepo { get; set; }
|
[Inject] public ICatalogCrmHttpRepository ItemRepo { get; set; }
|
|
@ -29,7 +29,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class CatalogCountryPage : IDisposable
|
public partial class CountryCatalogPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string CountryCode { get; set; } = "";
|
[Parameter] public string CountryCode { get; set; } = "";
|
||||||
[Inject] public ILocalStorageService Storage { get; set; }
|
[Inject] public ILocalStorageService Storage { get; set; }
|
|
@ -28,7 +28,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages
|
namespace Wonky.Client.Pages
|
||||||
{
|
{
|
||||||
public partial class CustomerListCountryPage : IDisposable
|
public partial class CountryCustomerListPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string CountryCode { get; set; } = "";
|
[Parameter] public string CountryCode { get; set; } = "";
|
||||||
[Inject] public ILocalStorageService Storage { get; set; }
|
[Inject] public ILocalStorageService Storage { get; set; }
|
64
Wonky.Client/Pages/CountryLandingPage.razor
Normal file
64
Wonky.Client/Pages/CountryLandingPage.razor
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
@*
|
||||||
|
// Copyright (C) 2022 FCS Frede's Computer Services.
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
||||||
|
//
|
||||||
|
*@
|
||||||
|
|
||||||
|
@using Microsoft.AspNetCore.Authorization
|
||||||
|
@attribute [Authorize(Roles = "Admin,Office,Warehouse")]
|
||||||
|
@page "/office/{CountryCode}"
|
||||||
|
|
||||||
|
<div class="row G-3">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h4 class="card-title">
|
||||||
|
@CountryCode.ToUpper() Kunder
|
||||||
|
</h4>
|
||||||
|
<div class="card-text">
|
||||||
|
Filtrer og søg kunder
|
||||||
|
</div>
|
||||||
|
<a class="btn btn-primary d-block" href="/office/users/advisors/@CountryCode"> Kundeliste</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h4 class="card-title">
|
||||||
|
@CountryCode.ToUpper() Priskatalog
|
||||||
|
</h4>
|
||||||
|
<div class="card-text">
|
||||||
|
Produkter og priser
|
||||||
|
</div>
|
||||||
|
<a class="btn btn-primary d-block" href="/price-catalog/@CountryCode"> Priskatalog</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<AuthorizeView Roles="Admin,Office">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h4 class="card-title">
|
||||||
|
@CountryCode.ToUpper() Sælgere
|
||||||
|
</h4>
|
||||||
|
<p class="card-text">
|
||||||
|
Filtreret kundeliste, se/udskriv rapporter, rediger stamdata
|
||||||
|
</p>
|
||||||
|
<a class="btn btn-primary d-block" href="/office/users/advisors/@CountryCode"> Sælgere</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</AuthorizeView>
|
||||||
|
</div>
|
11
Wonky.Client/Pages/CountryLandingPage.razor.cs
Normal file
11
Wonky.Client/Pages/CountryLandingPage.razor.cs
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
using Blazored.LocalStorage;
|
||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using Wonky.Entity.Views;
|
||||||
|
|
||||||
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
|
public partial class CountryLandingPage
|
||||||
|
{
|
||||||
|
[Parameter] public string CountryCode { get; set; } = "";
|
||||||
|
[Inject] private ILocalStorageService Storage { get; set; }
|
||||||
|
}
|
|
@ -18,7 +18,7 @@
|
||||||
@using Wonky.Client.Components
|
@using Wonky.Client.Components
|
||||||
@using Microsoft.AspNetCore.Authorization
|
@using Microsoft.AspNetCore.Authorization
|
||||||
@attribute [Authorize(Roles = "Admin,Office,Warehouse")]
|
@attribute [Authorize(Roles = "Admin,Office,Warehouse")]
|
||||||
@page "/office/users/advisors/{CountryCode}/{UserId}/companies"
|
@page "/office/users/advisors/{CountryCode}/{UserId}/customers"
|
||||||
|
|
||||||
<div class="sticky-top bg-dark text-light rounded-2 px-3">
|
<div class="sticky-top bg-dark text-light rounded-2 px-3">
|
||||||
<div class="container-fluid pt-3">
|
<div class="container-fluid pt-3">
|
|
@ -22,12 +22,12 @@ using Wonky.Entity.Requests;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class UserListSalesRepPage : IDisposable
|
public partial class CountrySalesRepCustomerListPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string UserId { get; set; } = "";
|
[Parameter] public string UserId { get; set; } = "";
|
||||||
[Parameter] public string CountryCode { get; set; } = "dk";
|
[Parameter] public string CountryCode { get; set; } = "dk";
|
||||||
|
|
||||||
[Inject] public ILogger<UserListSalesRepPage> Logger { get; set; }
|
[Inject] public ILogger<CountrySalesRepCustomerListPage> Logger { get; set; }
|
||||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
[Inject] public ICustomerOfficeHttpRepository CustomerRepo { get; set; }
|
[Inject] public ICustomerOfficeHttpRepository CustomerRepo { get; set; }
|
||||||
[Inject] public UserProfileService UserProfileService { get; set; }
|
[Inject] public UserProfileService UserProfileService { get; set; }
|
|
@ -25,7 +25,7 @@
|
||||||
<h3>Sælgere</h3>
|
<h3>Sælgere</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<OfficeAdvisorTableComponent UserList="_salesReps" />
|
<CountrySalesRepListComponent UserList="SalesReps" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
31
Wonky.Client/Pages/CountrySalesRepListPage.razor.cs
Normal file
31
Wonky.Client/Pages/CountrySalesRepListPage.razor.cs
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using Wonky.Client.HttpInterceptors;
|
||||||
|
using Wonky.Client.HttpInterfaces;
|
||||||
|
using Wonky.Entity.Views;
|
||||||
|
|
||||||
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
|
public partial class CountrySalesRepListPage
|
||||||
|
{
|
||||||
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
|
[Inject] public IUserHttpRepository UserRepo { get; set; }
|
||||||
|
[Parameter] public string CountryCode { get; set; } = "";
|
||||||
|
private List<UserListAdminView> SalesReps { get; set; } = new();
|
||||||
|
private bool Working { get; set; } = true;
|
||||||
|
|
||||||
|
protected override async Task OnInitializedAsync()
|
||||||
|
{
|
||||||
|
Interceptor.RegisterEvent();
|
||||||
|
Interceptor.RegisterBeforeSendEvent();
|
||||||
|
var AdvisorList = await UserRepo.GetAdvisors();
|
||||||
|
SalesReps = AdvisorList
|
||||||
|
.Where(x => x.CountryCode.ToLower() == CountryCode && Convert.ToInt32(x.SalesRep) < 100)
|
||||||
|
.ToList();
|
||||||
|
Working = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
Interceptor.DisposeEvent();
|
||||||
|
}
|
||||||
|
}
|
|
@ -21,7 +21,7 @@ using Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class WorkplaceDocumentListPage
|
public partial class CustomerWorkplaceDocumentListPage
|
||||||
{
|
{
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Parameter] public string WorkplaceId { get; set; } = "";
|
[Parameter] public string WorkplaceId { get; set; } = "";
|
|
@ -24,7 +24,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class WorkplaceListPage : IDisposable
|
public partial class CustomerWorkplaceListPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Inject] public IWorkplaceCrmHttpRepository WorkplaceCrmRepo { get; set; }
|
[Inject] public IWorkplaceCrmHttpRepository WorkplaceCrmRepo { get; set; }
|
|
@ -25,7 +25,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class WorkplaceViewPage : IDisposable
|
public partial class CustomerWorkplaceViewPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Parameter] public string WorkplaceId { get; set; } = "";
|
[Parameter] public string WorkplaceId { get; set; } = "";
|
|
@ -15,26 +15,24 @@
|
||||||
//
|
//
|
||||||
*@
|
*@
|
||||||
|
|
||||||
|
@using Wonky.Client.Components;
|
||||||
|
@using Microsoft.AspNetCore.Authorization
|
||||||
|
@attribute [Authorize(Roles = "Advisor,Admin,Office,Supervisor,Warehouse")]
|
||||||
@page "/"
|
@page "/"
|
||||||
@page "/index"
|
@page "/index"
|
||||||
@page "/home"
|
@page "/home"
|
||||||
@using Wonky.Client.Components;
|
|
||||||
@using Microsoft.AspNetCore.Authorization
|
|
||||||
|
|
||||||
|
|
||||||
@attribute [Authorize(Roles = "Advisor,Admin,Supervisor,Office,Warehouse")]
|
|
||||||
|
|
||||||
<AuthorizeView Roles="Advisor">
|
<AuthorizeView Roles="Advisor">
|
||||||
<LandingComponentAdvisor />
|
<LandingComponentAdvisor />
|
||||||
</AuthorizeView>
|
</AuthorizeView>
|
||||||
|
|
||||||
<AuthorizeView Roles="Warehouse">
|
<AuthorizeView Roles="Admin,Office">
|
||||||
<WarehouseListComponent />
|
|
||||||
</AuthorizeView>
|
|
||||||
|
|
||||||
<AuthorizeView Roles="Admin">
|
|
||||||
<LandingComponentAdmin />
|
<LandingComponentAdmin />
|
||||||
</AuthorizeView>
|
</AuthorizeView>
|
||||||
|
|
||||||
|
<AuthorizeRouteView Roles="Admin,Office,Warehouse">
|
||||||
|
<WarehouseListComponent />
|
||||||
|
</AuthorizeRouteView>
|
||||||
|
|
||||||
@code{
|
@code{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
@*
|
|
||||||
// Copyright (C) 2022 FCS Frede's Computer Services.
|
|
||||||
// This program is free software: you can redistribute it and/or modify
|
|
||||||
// it under the terms of the GNU Affero General Public License as
|
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
|
||||||
// License, or (at your option) any later version.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
// GNU Affero General Public License for more details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
|
||||||
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
|
||||||
//
|
|
||||||
*@
|
|
||||||
|
|
||||||
@using Microsoft.AspNetCore.Authorization
|
|
||||||
@attribute [Authorize(Roles = "Admin")]
|
|
||||||
@page "/office/users/advisors"
|
|
||||||
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-header bg-dark text-white">
|
|
||||||
<div class="card-title">
|
|
||||||
<h3>Lande</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
<div class="list-group list-group-flush">
|
|
||||||
<a class="list-group-item list-group-item-action" href="/office/users/advisors/dk">Danmark</a>
|
|
||||||
<a class="list-group-item list-group-item-action" href="/office/users/advisors/no">Norge</a>
|
|
||||||
<a class="list-group-item list-group-item-action" href="/office/users/advisors/se">Sverige</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
@code {
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
@*
|
|
||||||
// Copyright (C) 2022 FCS Frede's Computer Services.
|
|
||||||
// This program is free software: you can redistribute it and/or modify
|
|
||||||
// it under the terms of the GNU Affero General Public License as
|
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
|
||||||
// License, or (at your option) any later version.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
// GNU Affero General Public License for more details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
|
||||||
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
|
||||||
//
|
|
||||||
*@
|
|
||||||
|
|
||||||
@using Microsoft.AspNetCore.Authorization
|
|
||||||
@attribute [Authorize(Roles = "Admin")]
|
|
||||||
@page "/office/{CountryCode}"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@code {
|
|
||||||
|
|
||||||
[Parameter]
|
|
||||||
public string CountryCode { get; set; } = "";
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
@*
|
|
||||||
// Copyright (C) 2022 FCS Frede's Computer Services.
|
|
||||||
// This program is free software: you can redistribute it and/or modify
|
|
||||||
// it under the terms of the GNU Affero General Public License as
|
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
|
||||||
// License, or (at your option) any later version.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
// GNU Affero General Public License for more details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
|
||||||
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
|
||||||
//
|
|
||||||
*@
|
|
||||||
|
|
||||||
@using Microsoft.AspNetCore.Authorization
|
|
||||||
@attribute [Authorize(Roles = "Admin")]
|
|
||||||
@page "/office/{countryCode}/salesreps"
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-4"></div>
|
|
||||||
<div class="col-sm-4"></div>
|
|
||||||
<div class="col-sm-4"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
@code {
|
|
||||||
|
|
||||||
}
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
@using Microsoft.AspNetCore.Authorization
|
@using Microsoft.AspNetCore.Authorization
|
||||||
@using Wonky.Client.Components
|
@using Wonky.Client.Components
|
||||||
@attribute [Authorize(Roles = "Admin,Office,Warehouse,Advisor")]
|
@attribute [Authorize(Roles = "Admin,Advisor,Office,Warehouse")]
|
||||||
@page "/office/customers/{CompanyId}/orders/{OrderId}"
|
@page "/office/customers/{CompanyId}/orders/{OrderId}"
|
||||||
|
|
||||||
<table class="table table-sm table-striped d-print-table">
|
<table class="table table-sm table-striped d-print-table">
|
|
@ -30,7 +30,7 @@ using Wonky.Client.Services;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class OrderViewOfficePage : IDisposable
|
public partial class OfficeOrderViewPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Parameter] public string OrderId { get; set; } = "";
|
[Parameter] public string OrderId { get; set; } = "";
|
||||||
|
@ -39,7 +39,7 @@ public partial class OrderViewOfficePage : IDisposable
|
||||||
[Inject] public ISendMailService MailService { get; set; }
|
[Inject] public ISendMailService MailService { get; set; }
|
||||||
[Inject] public ILocalStorageService Storage { get; set; }
|
[Inject] public ILocalStorageService Storage { get; set; }
|
||||||
[Inject] public IUserHttpRepository UserRepo { get; set; }
|
[Inject] public IUserHttpRepository UserRepo { get; set; }
|
||||||
[Inject] public ILogger<OrderViewOfficePage> Logger { get; set; }
|
[Inject] public ILogger<OfficeOrderViewPage> Logger { get; set; }
|
||||||
[Inject] public IToastService Toast { get; set; }
|
[Inject] public IToastService Toast { get; set; }
|
||||||
private ReportItemView _reportItem { get; set; } = new();
|
private ReportItemView _reportItem { get; set; } = new();
|
||||||
private bool _isNotified { get; set; }
|
private bool _isNotified { get; set; }
|
|
@ -15,10 +15,10 @@
|
||||||
//
|
//
|
||||||
*@
|
*@
|
||||||
|
|
||||||
@page "/office/users/advisors/{CountryCode}/{UserId}/view"
|
|
||||||
@using Microsoft.AspNetCore.Authorization
|
@using Microsoft.AspNetCore.Authorization
|
||||||
@using Wonky.Client.Components
|
@using Wonky.Client.Components
|
||||||
@attribute [Authorize(Roles = "Admin")]
|
@attribute [Authorize(Roles = "Admin")]
|
||||||
|
@page "/office/users/advisors/{CountryCode}/{UserId}/view"
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header bg-dark text-white">
|
<div class="card-header bg-dark text-white">
|
|
@ -26,13 +26,13 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class UserViewOfficePage : IDisposable
|
public partial class OfficeSalesRepViewPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string UserId { get; set; } = "";
|
[Parameter] public string UserId { get; set; } = "";
|
||||||
[Parameter] public string CountryCode { get; set; } = "";
|
[Parameter] public string CountryCode { get; set; } = "";
|
||||||
[Inject] public HttpInterceptorService _interceptor { get; set; }
|
[Inject] public HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] public IUserHttpRepository UserRepo { get; set; }
|
[Inject] public IUserHttpRepository UserRepo { get; set; }
|
||||||
[Inject] public ILogger<UserViewOfficePage> _logger { get; set; }
|
[Inject] public ILogger<OfficeSalesRepViewPage> _logger { get; set; }
|
||||||
[Inject] public NavigationManager _navigator { get; set; }
|
[Inject] public NavigationManager _navigator { get; set; }
|
||||||
[Inject] public IToastService _toast { get; set; }
|
[Inject] public IToastService _toast { get; set; }
|
||||||
private WebUserInfoView _userInfo { get; set; } = new();
|
private WebUserInfoView _userInfo { get; set; } = new();
|
|
@ -15,13 +15,13 @@
|
||||||
//
|
//
|
||||||
*@
|
*@
|
||||||
|
|
||||||
@page "/print/catalog"
|
|
||||||
@using Wonky.Client.Components
|
@using Wonky.Client.Components
|
||||||
@using Microsoft.AspNetCore.Authorization
|
@using Microsoft.AspNetCore.Authorization
|
||||||
|
|
||||||
@attribute [Authorize(Roles = "Admin,Advisor,Office,Warehouse")]
|
@attribute [Authorize(Roles = "Admin,Advisor,Office,Warehouse")]
|
||||||
|
@page "/print/catalog"
|
||||||
|
|
||||||
<CatalogTablePrintComponent ItemList="Items" CountryName="@UserInfo.CountryName" />
|
<CatalogTablePrintComponent ItemList="Items" CountryName="@UserInfo.CountryName" />
|
||||||
|
|
||||||
@if (Working)
|
@if (Working)
|
||||||
{
|
{
|
||||||
<WorkingThreeDots/>
|
<WorkingThreeDots/>
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
|
|
||||||
@using Wonky.Client.Components
|
@using Wonky.Client.Components
|
||||||
@using Microsoft.AspNetCore.Authorization
|
@using Microsoft.AspNetCore.Authorization
|
||||||
|
@attribute [Authorize(Roles = "Admin,Advisor,Office")]
|
||||||
@page "/print/report/{CountryCode}/{UserId}/{ReportDate}"
|
@page "/print/report/{CountryCode}/{UserId}/{ReportDate}"
|
||||||
@attribute [Authorize(Roles = "Admin,Advisor")]
|
|
||||||
|
|
||||||
<div class="row mb-3 d-print-none">
|
<div class="row mb-3 d-print-none">
|
||||||
<div class="col-sm-6 d-grid">
|
<div class="col-sm-6 d-grid">
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
|
|
||||||
@using Wonky.Client.Components
|
@using Wonky.Client.Components
|
||||||
@using Microsoft.AspNetCore.Authorization
|
@using Microsoft.AspNetCore.Authorization
|
||||||
|
@attribute [Authorize(Roles = "Admin,Advisor,Office")]
|
||||||
@page "/print/orders/{CountryCode}/{UserId}/{ReportDate}"
|
@page "/print/orders/{CountryCode}/{UserId}/{ReportDate}"
|
||||||
@attribute [Authorize(Roles = "Admin,Advisor")]
|
|
||||||
|
|
||||||
<div class="row mb-3 d-print-none">
|
<div class="row mb-3 d-print-none">
|
||||||
<div class="col-sm-6 d-grid">
|
<div class="col-sm-6 d-grid">
|
||||||
|
|
|
@ -1,6 +1,24 @@
|
||||||
@page "/open-quotes"
|
@*
|
||||||
|
// Copyright (C) 2022 FCS Frede's Computer Services.
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
||||||
|
//
|
||||||
|
*@
|
||||||
@using Wonky.Client.Components
|
@using Wonky.Client.Components
|
||||||
@using Wonky.Client.Models
|
@using Wonky.Client.Models
|
||||||
|
@using Microsoft.AspNetCore.Authorization
|
||||||
|
@attribute [Authorize(Roles = "Advisor")]
|
||||||
|
@page "/open-quotes"
|
||||||
|
|
||||||
<div class="row g-3 align-items-center">
|
<div class="row g-3 align-items-center">
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
|
|
|
@ -16,6 +16,8 @@
|
||||||
*@
|
*@
|
||||||
|
|
||||||
@using Wonky.Client.Components
|
@using Wonky.Client.Components
|
||||||
|
@using Microsoft.AspNetCore.Authorization
|
||||||
|
@attribute [Authorize(Roles = "Advisor")]
|
||||||
@page "/sales-reports"
|
@page "/sales-reports"
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
@using Wonky.Client.Components
|
@using Wonky.Client.Components
|
||||||
@using Microsoft.AspNetCore.Authorization
|
@using Microsoft.AspNetCore.Authorization
|
||||||
@using Wonky.Client.Models
|
@using Wonky.Client.Models
|
||||||
@page "/sales-reports/view/{ReportDate}"
|
|
||||||
@attribute [Authorize(Roles = "Advisor,Admin,Supervisor")]
|
@attribute [Authorize(Roles = "Advisor,Admin,Supervisor")]
|
||||||
|
@page "/sales-reports/view/{ReportDate}"
|
||||||
|
|
||||||
<div class="row bg-dark text-white rounded-2 mb-2 py-2 align-items-center d-print-none">
|
<div class="row bg-dark text-white rounded-2 mb-2 py-2 align-items-center d-print-none">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
@using Wonky.Client.Components
|
@using Wonky.Client.Components
|
||||||
@using Microsoft.AspNetCore.Authorization
|
@using Microsoft.AspNetCore.Authorization
|
||||||
@using Wonky.Client.Models
|
@using Wonky.Client.Models
|
||||||
@page "/office/users/advisors/{CountryCode}/{UserId}/reports/{ReportDate}"
|
|
||||||
@attribute [Authorize(Roles = "Admin")]
|
@attribute [Authorize(Roles = "Admin")]
|
||||||
|
@page "/office/users/advisors/{CountryCode}/{UserId}/reports/{ReportDate}"
|
||||||
|
|
||||||
<div class="row pt-2 pb-2 mb-3 rounded-2 d-print-none bg-dark text-white">
|
<div class="row pt-2 pb-2 mb-3 rounded-2 d-print-none bg-dark text-white">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
|
|
|
@ -1,49 +0,0 @@
|
||||||
// Copyright (C) 2022 FCS Frede's Computer Services.
|
|
||||||
// This program is free software: you can redistribute it and/or modify
|
|
||||||
// it under the terms of the GNU Affero General Public License as
|
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
|
||||||
// License, or (at your option) any later version.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
// GNU Affero General Public License for more details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
|
||||||
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
|
||||||
//
|
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Components;
|
|
||||||
using Wonky.Client.HttpInterceptors;
|
|
||||||
using Wonky.Client.HttpInterfaces;
|
|
||||||
using Wonky.Client.HttpRepository;
|
|
||||||
using Wonky.Entity.DTO;
|
|
||||||
using Wonky.Entity.Views;
|
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
|
||||||
|
|
||||||
public partial class UserListOfficePage : IDisposable
|
|
||||||
{
|
|
||||||
[Parameter] public string CountryCode { get; set; } = "";
|
|
||||||
[Inject] public HttpInterceptorService _interceptor { get; set; }
|
|
||||||
[Inject] public IUserHttpRepository UserRepo { get; set; }
|
|
||||||
private List<UserListAdminView> _salesReps { get; set; } = new();
|
|
||||||
private bool Working { get; set; } = true;
|
|
||||||
|
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
|
||||||
{
|
|
||||||
_interceptor.RegisterEvent();
|
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
|
||||||
var AdvisorList = await UserRepo.GetAdvisors();
|
|
||||||
_salesReps = AdvisorList
|
|
||||||
.Where(x => x.CountryCode.ToLower() == CountryCode && Convert.ToInt32(x.SalesRep) < 100)
|
|
||||||
.ToList();
|
|
||||||
Working = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Dispose()
|
|
||||||
{
|
|
||||||
_interceptor.DisposeEvent();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -21,9 +21,3 @@
|
||||||
@page "/warehouse/orders/{Status}"
|
@page "/warehouse/orders/{Status}"
|
||||||
|
|
||||||
<WarehouseListComponent Status="@Status" />
|
<WarehouseListComponent Status="@Status" />
|
||||||
|
|
||||||
@code{
|
|
||||||
|
|
||||||
[Parameter] public string Status { get; set; } = "none";
|
|
||||||
|
|
||||||
}
|
|
8
Wonky.Client/Pages/WarehouseOrderListPage.razor.cs
Normal file
8
Wonky.Client/Pages/WarehouseOrderListPage.razor.cs
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
|
||||||
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
|
public partial class WarehouseOrderListPage
|
||||||
|
{
|
||||||
|
[Parameter] public string Status { get; set; } = "none";
|
||||||
|
}
|
|
@ -25,14 +25,14 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class OrderViewWarehousePage : IDisposable
|
public partial class WarehouseOrderViewPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string OrderId { get; set; } = "";
|
[Parameter] public string OrderId { get; set; } = "";
|
||||||
[Inject] public HttpInterceptorService _interceptor { get; set; }
|
[Inject] public HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] public IWarehouseHttpRepository _warehouseRepo { get; set; }
|
[Inject] public IWarehouseHttpRepository _warehouseRepo { get; set; }
|
||||||
[Inject] public NavigationManager _navigator { get; set; }
|
[Inject] public NavigationManager _navigator { get; set; }
|
||||||
[Inject] public IToastService _toast { get; set; }
|
[Inject] public IToastService _toast { get; set; }
|
||||||
[Inject] public ILogger<OrderViewWarehousePage> _logger { get; set; }
|
[Inject] public ILogger<WarehouseOrderViewPage> _logger { get; set; }
|
||||||
|
|
||||||
private WarehouseOrderView _order { get; set; } = new();
|
private WarehouseOrderView _order { get; set; } = new();
|
||||||
private bool Working { get; set; }
|
private bool Working { get; set; }
|
|
@ -36,9 +36,9 @@ builder.RootComponents.Add<HeadOutlet>("head::after");
|
||||||
builder.Logging.AddConfiguration(builder.Configuration.GetSection("Logging"));
|
builder.Logging.AddConfiguration(builder.Configuration.GetSection("Logging"));
|
||||||
|
|
||||||
builder.Services.AddScoped(sp =>
|
builder.Services.AddScoped(sp =>
|
||||||
sp.GetService<IHttpClientFactory>().CreateClient("backend"));
|
sp.GetService<IHttpClientFactory>().CreateClient("inno-api"));
|
||||||
|
|
||||||
builder.Services.AddHttpClient("backend", (sp, cl) =>
|
builder.Services.AddHttpClient("inno-api", (sp, cl) =>
|
||||||
{
|
{
|
||||||
var apiConfig = sp.GetRequiredService<IOptions<ApiConfig>>();
|
var apiConfig = sp.GetRequiredService<IOptions<ApiConfig>>();
|
||||||
cl.BaseAddress = new Uri(apiConfig.Value.BaseUrl);
|
cl.BaseAddress = new Uri(apiConfig.Value.BaseUrl);
|
||||||
|
@ -58,12 +58,11 @@ builder.Services.AddScoped<IActivityCrmHttpRepository, ActivityCrmHttpRepository
|
||||||
builder.Services.AddScoped<ICustomerCrmHttpRepository, CustomerCrmCrmHttpRepository>();
|
builder.Services.AddScoped<ICustomerCrmHttpRepository, CustomerCrmCrmHttpRepository>();
|
||||||
builder.Services.AddScoped<IContactCrmHttpRepository, ContactCrmHttpRepository>();
|
builder.Services.AddScoped<IContactCrmHttpRepository, ContactCrmHttpRepository>();
|
||||||
builder.Services.AddScoped<ICustomerHistoryCrmHttpRepository, CustomerHistoryCrmHttpRepository>();
|
builder.Services.AddScoped<ICustomerHistoryCrmHttpRepository, CustomerHistoryCrmHttpRepository>();
|
||||||
builder.Services.AddScoped<IReportHttpRepository, ReportHttpRepository>();
|
|
||||||
builder.Services.AddScoped<ITaskItemCrmHttpRepository, TaskItemCrmHttpRepository>();
|
builder.Services.AddScoped<ITaskItemCrmHttpRepository, TaskItemCrmHttpRepository>();
|
||||||
builder.Services.AddScoped<IWorkplaceCrmHttpRepository, WorkplaceCrmHttpRepository>();
|
builder.Services.AddScoped<IWorkplaceCrmHttpRepository, WorkplaceCrmHttpRepository>();
|
||||||
// administrative repositories
|
// administrative repositories
|
||||||
|
builder.Services.AddScoped<IReportHttpRepository, ReportHttpRepository>();
|
||||||
builder.Services.AddScoped<IUserHttpRepository, UserHttpRepository>();
|
builder.Services.AddScoped<IUserHttpRepository, UserHttpRepository>();
|
||||||
builder.Services.AddScoped<IReportOfficeHttpRepository, ReportOfficeHttpRepository>();
|
|
||||||
builder.Services.AddScoped<ICustomerOfficeHttpRepository, CustomerOfficeHttpRepository>();
|
builder.Services.AddScoped<ICustomerOfficeHttpRepository, CustomerOfficeHttpRepository>();
|
||||||
// warehouse repository
|
// warehouse repository
|
||||||
builder.Services.AddScoped<IWarehouseHttpRepository, WarehouseHttpRepository>();
|
builder.Services.AddScoped<IWarehouseHttpRepository, WarehouseHttpRepository>();
|
||||||
|
|
|
@ -52,12 +52,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="nav-item px-3">
|
<div class="nav-item px-3">
|
||||||
<NavLink class="nav-link ps-2" href="/office/no">
|
<NavLink class="nav-link ps-2" href="/office/no">
|
||||||
<i class="bi-file-spreadsheet pe-2" style="font-size:1.3em;" aria-hidden="true"></i> Sverige
|
<i class="bi-file-spreadsheet pe-2" style="font-size:1.3em;" aria-hidden="true"></i> Norge
|
||||||
</NavLink>
|
</NavLink>
|
||||||
</div>
|
</div>
|
||||||
<div class="nav-item px-3">
|
<div class="nav-item px-3">
|
||||||
<NavLink class="nav-link ps-2" href="/office/se">
|
<NavLink class="nav-link ps-2" href="/office/se">
|
||||||
<i class="bi-file-spreadsheet pe-2" style="font-size:1.3em;" aria-hidden="true"></i> Norge
|
<i class="bi-file-spreadsheet pe-2" style="font-size:1.3em;" aria-hidden="true"></i> Sverige
|
||||||
</NavLink>
|
</NavLink>
|
||||||
</div>
|
</div>
|
||||||
<div class="nav-item px-3">
|
<div class="nav-item px-3">
|
||||||
|
|
Loading…
Reference in a new issue