wip
This commit is contained in:
parent
c87d352343
commit
551c338fcb
92 changed files with 519 additions and 499 deletions
|
@ -24,7 +24,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Components
|
namespace Wonky.Client.Components
|
||||||
{
|
{
|
||||||
public partial class AdvisorCustomerTableComponent
|
public partial class AdvisorCompanyTableComponent
|
||||||
{
|
{
|
||||||
[Parameter] public List<CompanyDto> Companies { get; set; } = new();
|
[Parameter] public List<CompanyDto> Companies { get; set; } = new();
|
||||||
[Parameter] public EventCallback<string> OnDelete { get; set; }
|
[Parameter] public EventCallback<string> OnDelete { get; set; }
|
|
@ -36,7 +36,7 @@ public partial class LandingComponentAdmin : IDisposable
|
||||||
[Inject] private ILogger<LandingComponentAdmin> _logger { get; set; }
|
[Inject] private ILogger<LandingComponentAdmin> _logger { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
[Inject] private ITaskItemHttpRepository _taskItemRepo { get; set; }
|
[Inject] private ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; }
|
||||||
[Inject] private NavigationManager _navigator { get; set; }
|
[Inject] private NavigationManager _navigator { get; set; }
|
||||||
|
|
||||||
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
||||||
|
|
|
@ -36,7 +36,7 @@ public partial class LandingComponentAdvisor : IDisposable
|
||||||
[Inject] private ILogger<LandingComponentAdvisor> _logger { get; set; }
|
[Inject] private ILogger<LandingComponentAdvisor> _logger { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
[Inject] private ITaskItemHttpRepository _taskItemRepo { get; set; }
|
[Inject] private ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; }
|
||||||
[Inject] private NavigationManager _navigator { get; set; }
|
[Inject] private NavigationManager _navigator { get; set; }
|
||||||
|
|
||||||
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
||||||
|
@ -66,7 +66,7 @@ public partial class LandingComponentAdvisor : IDisposable
|
||||||
|
|
||||||
private async Task GetAllTasks()
|
private async Task GetAllTasks()
|
||||||
{
|
{
|
||||||
_taskItems = await _taskItemRepo.GetTaskList();
|
_taskItems = await CrmTaskItemRepo.GetTaskList();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task OnCompleteTask(string taskItemId)
|
private async Task OnCompleteTask(string taskItemId)
|
||||||
|
@ -80,14 +80,14 @@ public partial class LandingComponentAdvisor : IDisposable
|
||||||
{
|
{
|
||||||
_workDate = workDate;
|
_workDate = workDate;
|
||||||
_taskItems = new List<TaskItemDto>();
|
_taskItems = new List<TaskItemDto>();
|
||||||
_taskItems = await _taskItemRepo.GetTaskList(workDate);
|
_taskItems = await CrmTaskItemRepo.GetTaskList(workDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task OnTaskCompleted(string taskItemId)
|
private async Task OnTaskCompleted(string taskItemId)
|
||||||
{
|
{
|
||||||
var item = _taskItems.Find(x => x.TaskItemId == taskItemId);
|
var item = _taskItems.Find(x => x.TaskItemId == taskItemId);
|
||||||
item.IsCompleted = true;
|
item.IsCompleted = true;
|
||||||
await _taskItemRepo.UpdateTaskItem(taskItemId, item);
|
await CrmTaskItemRepo.UpdateTaskItem(taskItemId, item);
|
||||||
_taskItems.Remove(item);
|
_taskItems.Remove(item);
|
||||||
_toast.ShowInfo("Opgaven er markeret som udført.");
|
_toast.ShowInfo("Opgaven er markeret som udført.");
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,7 @@ public partial class LandingComponentAdvisor : IDisposable
|
||||||
{
|
{
|
||||||
var item = _taskItems.First(x => x.TaskItemId == taskItemId);
|
var item = _taskItems.First(x => x.TaskItemId == taskItemId);
|
||||||
_taskItems.Remove(item);
|
_taskItems.Remove(item);
|
||||||
await _taskItemRepo.DeleteTaskItem(taskItemId);
|
await CrmTaskItemRepo.DeleteTaskItem(taskItemId);
|
||||||
_toast.ShowInfo("Opgaven er slettet.");
|
_toast.ShowInfo("Opgaven er slettet.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,9 +23,6 @@
|
||||||
<div class="list-group list-group-flush">
|
<div class="list-group list-group-flush">
|
||||||
<div class="list-group-item px-3 bg-black text-white opacity-75">
|
<div class="list-group-item px-3 bg-black text-white opacity-75">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-1 col-md-1">
|
|
||||||
Besøg
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
<div class="col">
|
||||||
Navn
|
Navn
|
||||||
</div>
|
</div>
|
||||||
|
@ -47,10 +44,6 @@
|
||||||
{
|
{
|
||||||
<a class=" list-group-item list-group-item-action" href="#">
|
<a class=" list-group-item list-group-item-action" href="#">
|
||||||
<div class="row align-items-center">
|
<div class="row align-items-center">
|
||||||
<div class="col-sm-1 col-md-1">
|
|
||||||
<DisplayStateComponent
|
|
||||||
StateClass="@(company.HasFolded == 1 ? "the-dead" : Utils.GetVisitState(company.NextVisit))" />
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
<div class="col">
|
||||||
@company.Name
|
@company.Name
|
||||||
</div>
|
</div>
|
|
@ -24,7 +24,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Components
|
namespace Wonky.Client.Components
|
||||||
{
|
{
|
||||||
public partial class OfficeAdvisorCustomerTableComponent
|
public partial class OfficeCustomerTableComponent
|
||||||
{
|
{
|
||||||
[Parameter] public List<CompanyDto> Companies { get; set; } = new();
|
[Parameter] public List<CompanyDto> Companies { get; set; } = new();
|
||||||
[Parameter] public EventCallback<string> OnDelete { get; set; }
|
[Parameter] public EventCallback<string> OnDelete { get; set; }
|
|
@ -88,6 +88,7 @@
|
||||||
<table class="table table-sm table-striped table-bordered">
|
<table class="table table-sm table-striped table-bordered">
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="bg-light text-black">
|
<tr class="bg-light text-black">
|
||||||
|
<th scope="col">Placering</th>
|
||||||
<th scope="col">Antal</th>
|
<th scope="col">Antal</th>
|
||||||
<th scope="col">Varnr</th>
|
<th scope="col">Varnr</th>
|
||||||
<th scope="col">Beskrivelse</th>
|
<th scope="col">Beskrivelse</th>
|
||||||
|
@ -100,6 +101,7 @@
|
||||||
@foreach (var line in ReportItem.Lines)
|
@foreach (var line in ReportItem.Lines)
|
||||||
{
|
{
|
||||||
<tr>
|
<tr>
|
||||||
|
<td class="fw-bold">@line.Location</td>
|
||||||
<td>@line.Quantity</td>
|
<td>@line.Quantity</td>
|
||||||
<td>@line.Sku</td>
|
<td>@line.Sku</td>
|
||||||
<td>@line.Description</td>
|
<td>@line.Description</td>
|
||||||
|
|
|
@ -16,29 +16,31 @@
|
||||||
*@
|
*@
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-8">
|
<div class="col-md-4">
|
||||||
<div class="btn-group-lg" 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-danger" for="btn-order1">Ubehandlet</label>
|
<label class="btn btn-outline-danger" 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-warning" for="btn-order2">Plukket</label>
|
<label class="btn btn-outline-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-success" for="btn-order3">Pakket</label>
|
<label class="btn btn-outline-success" for="btn-order3">Pakket</label>
|
||||||
|
|
||||||
<input type="radio" class="btn-check" name="btn-order" id="btn-order4" autocomplete="off" @onchange="@GetOrderStatusShipped" />
|
<input type="radio" class="btn-check" name="btn-order" id="btn-order4" autocomplete="off" @onchange="@GetOrderStatusShipped" />
|
||||||
<label class="btn btn-info" for="btn-order4">Afsendt</label>
|
<label class="btn btn-outline-info" for="btn-order4">Afsendt</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4 text-end">
|
||||||
|
<label class="btn btn-outline-dark position-relative">@_header
|
||||||
|
<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">@_orders.Count</span>
|
||||||
|
<span class="visually-hidden">ordrer i listen</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4 text-end">
|
||||||
@if (_readyToShip && _orders.Any())
|
@if (_readyToShip && _orders.Any())
|
||||||
{
|
{
|
||||||
<button type="button" class="btn btn-lg btn-primary text-nowrap" @onclick="SetAllPackedStatusToShipped">Sæt alle afsendt</button>
|
<button type="button" class="btn btn-primary text-sm-center" @onclick="SetAllPackedStatusToShipped">Sæt alle afsendt</button>
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
<div class="alert alert-info">@_orders.Count forsendelse(r) på listen</div>
|
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -33,6 +33,7 @@ public partial class WarehouseListComponent
|
||||||
|
|
||||||
private string _items { get; set; }
|
private string _items { get; set; }
|
||||||
private bool _readyToShip;
|
private bool _readyToShip;
|
||||||
|
private string _header = "Ubehandlet";
|
||||||
|
|
||||||
private List<WarehouseOrderView> _orders { get; set; }
|
private List<WarehouseOrderView> _orders { get; set; }
|
||||||
private bool Loading { get; set; }
|
private bool Loading { get; set; }
|
||||||
|
@ -45,15 +46,19 @@ public partial class WarehouseListComponent
|
||||||
switch (Status.ToLower())
|
switch (Status.ToLower())
|
||||||
{
|
{
|
||||||
case "none":
|
case "none":
|
||||||
|
_header = "Ubehandlede ordrer";
|
||||||
await GetOrderStatusNone();
|
await GetOrderStatusNone();
|
||||||
break;
|
break;
|
||||||
case "picked":
|
case "picked":
|
||||||
|
_header = "Plukkede ordrer";
|
||||||
await GetOrderStatusPicked();
|
await GetOrderStatusPicked();
|
||||||
break;
|
break;
|
||||||
case "packed":
|
case "packed":
|
||||||
|
_header = "Pakkede ordrer";
|
||||||
await GetOrderStatusPacked();
|
await GetOrderStatusPacked();
|
||||||
break;
|
break;
|
||||||
case "shipped":
|
case "shipped":
|
||||||
|
_header = "Afsendte ordrer";
|
||||||
await GetOrderStatusShipped();
|
await GetOrderStatusShipped();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -64,26 +69,32 @@ public partial class WarehouseListComponent
|
||||||
|
|
||||||
private async Task GetOrderStatusNone()
|
private async Task GetOrderStatusNone()
|
||||||
{
|
{
|
||||||
|
_orders = new List<WarehouseOrderView>();
|
||||||
|
_header = "Ubehandlede ordrer";
|
||||||
|
_readyToShip = false;
|
||||||
Loading = true;
|
Loading = true;
|
||||||
_orders = new List<WarehouseOrderView>();
|
_orders = new List<WarehouseOrderView>();
|
||||||
_orders = await _warehouseRepo.GetWarehouseOrderListByStatus("none");
|
_orders = await _warehouseRepo.GetWarehouseOrderListByStatus("none");
|
||||||
if(_orders.Any(x => x.Express))
|
if(_orders.Any(x => x.Express))
|
||||||
_orders = _orders.OrderByDescending(x => x.Express).ToList();
|
_orders = _orders.OrderByDescending(x => x.Express).ToList();
|
||||||
_readyToShip = false;
|
|
||||||
Loading = false;
|
Loading = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task GetOrderStatusPicked()
|
private async Task GetOrderStatusPicked()
|
||||||
{
|
{
|
||||||
|
_orders = new List<WarehouseOrderView>();
|
||||||
|
_header = "Plukkede ordrer";
|
||||||
|
_readyToShip = false;
|
||||||
Loading = true;
|
Loading = true;
|
||||||
_orders = new List<WarehouseOrderView>();
|
_orders = new List<WarehouseOrderView>();
|
||||||
_orders = await _warehouseRepo.GetWarehouseOrderListByStatus("picked");
|
_orders = await _warehouseRepo.GetWarehouseOrderListByStatus("picked");
|
||||||
_readyToShip = false;
|
|
||||||
Loading = false;
|
Loading = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task GetOrderStatusPacked()
|
private async Task GetOrderStatusPacked()
|
||||||
{
|
{
|
||||||
|
_orders = new List<WarehouseOrderView>();
|
||||||
|
_header = "Pakkede ordrer";
|
||||||
Loading = true;
|
Loading = true;
|
||||||
_orders = new List<WarehouseOrderView>();
|
_orders = new List<WarehouseOrderView>();
|
||||||
_orders = await _warehouseRepo.GetWarehouseOrderListByStatus("packed");
|
_orders = await _warehouseRepo.GetWarehouseOrderListByStatus("packed");
|
||||||
|
@ -93,13 +104,15 @@ public partial class WarehouseListComponent
|
||||||
|
|
||||||
private async Task GetOrderStatusShipped()
|
private async Task GetOrderStatusShipped()
|
||||||
{
|
{
|
||||||
|
_orders = new List<WarehouseOrderView>();
|
||||||
|
_header = "Afsendte ordrer";
|
||||||
|
_readyToShip = false;
|
||||||
_toast.ShowWarning("Det kan tage lidt tid at hente alle.\nVent venligst.\nMåske skal vi tænke over hvor mange vi henter?");
|
_toast.ShowWarning("Det kan tage lidt tid at hente alle.\nVent venligst.\nMåske skal vi tænke over hvor mange vi henter?");
|
||||||
Loading = true;
|
Loading = true;
|
||||||
_orders = new List<WarehouseOrderView>();
|
_orders = new List<WarehouseOrderView>();
|
||||||
var orderList = await _warehouseRepo.GetWarehouseOrderListByStatus("shipped");
|
var orderList = await _warehouseRepo.GetWarehouseOrderListByStatus("shipped");
|
||||||
_orders = orderList.OrderByDescending(x => x.OrderDate).ToList();
|
_orders = orderList.OrderByDescending(x => x.OrderDate).ToList();
|
||||||
_toast.ShowInfo("Her er de så ....");
|
_toast.ShowInfo("Her er de så ....");
|
||||||
_readyToShip = false;
|
|
||||||
Loading = false;
|
Loading = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpInterfaces;
|
namespace Wonky.Client.HttpInterfaces;
|
||||||
|
|
||||||
public interface ISalesItemHttpRepository
|
public interface ICatalogHttpRepository
|
||||||
{
|
{
|
||||||
Task<PagingResponse<SalesItemView>> GetSalesItemsPaged(CatalogPagingParams pagingParameters);
|
Task<PagingResponse<SalesItemView>> GetSalesItemsPaged(CatalogPagingParams pagingParameters);
|
||||||
Task<SalesItemView> GetSalesItemId(string salesItemId);
|
Task<SalesItemView> GetSalesItemId(string salesItemId);
|
|
@ -18,7 +18,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpInterfaces;
|
namespace Wonky.Client.HttpInterfaces;
|
||||||
|
|
||||||
public interface IActivityHttpRepository
|
public interface ICrmActivityHttpRepository
|
||||||
{
|
{
|
||||||
Task<ReportItemView> GetReportItem(string id);
|
Task<ReportItemView> GetReportItem(string id);
|
||||||
Task<ActivityDto> GetActivity(string id);
|
Task<ActivityDto> GetActivity(string id);
|
|
@ -19,12 +19,9 @@ using Wonky.Entity.Requests;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpInterfaces;
|
namespace Wonky.Client.HttpInterfaces;
|
||||||
|
|
||||||
public interface ICompanyHttpRepository
|
public interface ICrmCompanyHttpRepository
|
||||||
{
|
{
|
||||||
Task<PagingResponse<CompanyDto>> GetAllCustomersPaged(CompanyPagingParams pagingParameters);
|
Task<PagingResponse<CompanyDto>> GetCompanies(CompanyPagingParams pagingParameters);
|
||||||
Task<PagingResponse<CompanyDto>> GetCompaniesPaged(CompanyPagingParams pagingParameters);
|
|
||||||
Task<PagingResponse<CompanyDto>> GetAdminAdvisorCompaniesPaged(string userId, CompanyPagingParams pagingParameters);
|
|
||||||
Task<CompanyDto> GetCompanyByAccount(string accountNumber);
|
|
||||||
Task<CompanyDto> GetCompanyById(string companyId);
|
Task<CompanyDto> GetCompanyById(string companyId);
|
||||||
Task<string> CreateCompany(CompanyDto model);
|
Task<string> CreateCompany(CompanyDto model);
|
||||||
Task<bool> UpdateCompany(string companyId, CompanyDto model);
|
Task<bool> UpdateCompany(string companyId, CompanyDto model);
|
|
@ -18,7 +18,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpInterfaces;
|
namespace Wonky.Client.HttpInterfaces;
|
||||||
|
|
||||||
public interface IHistoryHttpRepository
|
public interface ICrmHistoryHttpRepository
|
||||||
{
|
{
|
||||||
Task<List<ProductInventoryView>> FetchInventory(string companyId);
|
Task<List<ProductInventoryView>> FetchInventory(string companyId);
|
||||||
Task<List<ProductHistoryView>> FetchHistory(string companyId);
|
Task<List<ProductHistoryView>> FetchHistory(string companyId);
|
|
@ -18,7 +18,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpInterfaces;
|
namespace Wonky.Client.HttpInterfaces;
|
||||||
|
|
||||||
public interface IReportHttpRepository
|
public interface ICrmReportHttpRepository
|
||||||
{
|
{
|
||||||
Task<bool> ReportExist(string workDate);
|
Task<bool> ReportExist(string workDate);
|
||||||
Task<List<NgSalesReportListView>> GetReports();
|
Task<List<NgSalesReportListView>> GetReports();
|
|
@ -18,7 +18,7 @@ using Wonky.Entity.DTO;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpInterfaces;
|
namespace Wonky.Client.HttpInterfaces;
|
||||||
|
|
||||||
public interface ITaskItemHttpRepository
|
public interface ICrmTaskItemHttpRepository
|
||||||
{
|
{
|
||||||
Task<List<TaskItemDto>?> GetTaskList();
|
Task<List<TaskItemDto>?> GetTaskList();
|
||||||
Task<List<TaskItemDto>?> GetTaskList(string workDate);
|
Task<List<TaskItemDto>?> GetTaskList(string workDate);
|
|
@ -18,7 +18,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpInterfaces;
|
namespace Wonky.Client.HttpInterfaces;
|
||||||
|
|
||||||
public interface IWorkplaceHttpRepository
|
public interface ICrmWorkplaceHttpRepository
|
||||||
{
|
{
|
||||||
Task<List<WorkplaceListView>> GetWorkplaces(string companyId);
|
Task<List<WorkplaceListView>> GetWorkplaces(string companyId);
|
||||||
Task<WorkplaceDto> GetWorkplace(string companyId, string workplaceId);
|
Task<WorkplaceDto> GetWorkplace(string companyId, string workplaceId);
|
26
Wonky.Client/HttpInterfaces/IOfficeCustomerHttpRepository.cs
Normal file
26
Wonky.Client/HttpInterfaces/IOfficeCustomerHttpRepository.cs
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
// 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.Features;
|
||||||
|
using Wonky.Entity.DTO;
|
||||||
|
using Wonky.Entity.Requests;
|
||||||
|
|
||||||
|
namespace Wonky.Client.HttpInterfaces;
|
||||||
|
|
||||||
|
public interface IOfficeCustomerHttpRepository
|
||||||
|
{
|
||||||
|
Task<PagingResponse<CompanyDto>> GetCompaniesPaged(string userId, CompanyPagingParams pagingParameters);
|
||||||
|
Task<CompanyDto> GetCompanyById(string companyId);
|
||||||
|
}
|
|
@ -18,7 +18,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpInterfaces;
|
namespace Wonky.Client.HttpInterfaces;
|
||||||
|
|
||||||
public interface IAdminReportHttpRepository
|
public interface IOfficeReportHttpRepository
|
||||||
{
|
{
|
||||||
Task<List<NgSalesReportListView>> GetReports(string userId);
|
Task<List<NgSalesReportListView>> GetReports(string userId);
|
||||||
Task<ReportView> GetReport(string userId, string workDate);
|
Task<ReportView> GetReport(string userId, string workDate);
|
|
@ -18,7 +18,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpInterfaces;
|
namespace Wonky.Client.HttpInterfaces;
|
||||||
|
|
||||||
public interface IUserHttpRepository
|
public interface IOfficeUserHttpRepository
|
||||||
{
|
{
|
||||||
Task<List<UserListAdminView>> GetAdvisors();
|
Task<List<UserListAdminView>> GetAdvisors();
|
||||||
Task<UserInfoDto> GetAdvisorInfo(string userId);
|
Task<UserInfoDto> GetAdvisorInfo(string userId);
|
|
@ -31,7 +31,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpRepository;
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
public class SalesItemHttpRepository : ISalesItemHttpRepository
|
public class CatalogHttpRepository : ICatalogHttpRepository
|
||||||
{
|
{
|
||||||
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
||||||
{
|
{
|
||||||
|
@ -39,12 +39,12 @@ public class SalesItemHttpRepository : ISalesItemHttpRepository
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly NavigationManager _navigation;
|
private readonly NavigationManager _navigation;
|
||||||
private ILogger<SalesItemHttpRepository> _logger;
|
private ILogger<CatalogHttpRepository> _logger;
|
||||||
private readonly HttpClient _client;
|
private readonly HttpClient _client;
|
||||||
private readonly ApiConfig _apiConfig;
|
private readonly ApiConfig _apiConfig;
|
||||||
|
|
||||||
public SalesItemHttpRepository(HttpClient client,
|
public CatalogHttpRepository(HttpClient client,
|
||||||
ILogger<SalesItemHttpRepository> logger,
|
ILogger<CatalogHttpRepository> logger,
|
||||||
NavigationManager navigation, IOptions<ApiConfig> configuration)
|
NavigationManager navigation, IOptions<ApiConfig> configuration)
|
||||||
{
|
{
|
||||||
_client = client;
|
_client = client;
|
||||||
|
@ -65,7 +65,7 @@ public class SalesItemHttpRepository : ISalesItemHttpRepository
|
||||||
["selectGroup"] = pagingParameters.SelectGroup == "0" ? "" : pagingParameters.SelectGroup,
|
["selectGroup"] = pagingParameters.SelectGroup == "0" ? "" : pagingParameters.SelectGroup,
|
||||||
};
|
};
|
||||||
var response = await _client
|
var response = await _client
|
||||||
.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.CrmCatalog}/page", queryString));
|
.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.Catalog}/page", queryString));
|
||||||
|
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
|
@ -81,14 +81,14 @@ public class SalesItemHttpRepository : ISalesItemHttpRepository
|
||||||
public async Task<SalesItemView> GetSalesItemId(string salesItemId)
|
public async Task<SalesItemView> GetSalesItemId(string salesItemId)
|
||||||
{
|
{
|
||||||
var salesItem = await _client
|
var salesItem = await _client
|
||||||
.GetFromJsonAsync<SalesItemView>($"{_apiConfig.CrmCatalog}/{salesItemId}");
|
.GetFromJsonAsync<SalesItemView>($"{_apiConfig.Catalog}/{salesItemId}");
|
||||||
return salesItem ?? new SalesItemView();
|
return salesItem ?? new SalesItemView();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SalesItemView> GetSalesVariantId(string variantId)
|
public async Task<SalesItemView> GetSalesVariantId(string variantId)
|
||||||
{
|
{
|
||||||
var salesItem = await _client
|
var salesItem = await _client
|
||||||
.GetFromJsonAsync<SalesItemView>($"{_apiConfig.CrmCatalog}/variant/{variantId}");
|
.GetFromJsonAsync<SalesItemView>($"{_apiConfig.Catalog}/variant/{variantId}");
|
||||||
return salesItem ?? new SalesItemView();
|
return salesItem ?? new SalesItemView();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -33,7 +33,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpRepository;
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
public class ActivityHttpRepository : IActivityHttpRepository
|
public class CrmActivityHttpRepository : ICrmActivityHttpRepository
|
||||||
{
|
{
|
||||||
private readonly JsonSerializerOptions? _options = new JsonSerializerOptions
|
private readonly JsonSerializerOptions? _options = new JsonSerializerOptions
|
||||||
{
|
{
|
||||||
|
@ -41,12 +41,12 @@ public class ActivityHttpRepository : IActivityHttpRepository
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly NavigationManager _navigation;
|
private readonly NavigationManager _navigation;
|
||||||
private ILogger<ActivityHttpRepository> _logger;
|
private ILogger<CrmActivityHttpRepository> _logger;
|
||||||
private readonly HttpClient _client;
|
private readonly HttpClient _client;
|
||||||
private readonly ApiConfig _apiConfig;
|
private readonly ApiConfig _apiConfig;
|
||||||
|
|
||||||
public ActivityHttpRepository(HttpClient client,
|
public CrmActivityHttpRepository(HttpClient client,
|
||||||
ILogger<ActivityHttpRepository> logger,
|
ILogger<CrmActivityHttpRepository> logger,
|
||||||
NavigationManager navigation, IOptions<ApiConfig> configuration)
|
NavigationManager navigation, IOptions<ApiConfig> configuration)
|
||||||
{
|
{
|
||||||
_client = client;
|
_client = client;
|
||||||
|
@ -58,13 +58,13 @@ public class ActivityHttpRepository : IActivityHttpRepository
|
||||||
public async Task UpdateOfficeNote(ActivityOfficeNote model)
|
public async Task UpdateOfficeNote(ActivityOfficeNote model)
|
||||||
{
|
{
|
||||||
_logger.LogDebug("UpdateOfficeNote => model \n{}", JsonSerializer.Serialize(model) );
|
_logger.LogDebug("UpdateOfficeNote => model \n{}", JsonSerializer.Serialize(model) );
|
||||||
_logger.LogDebug("UpdateOfficeNote => url \n{}", $"{_apiConfig.CrmSale}/activity/{model.ActivityId}" );
|
_logger.LogDebug("UpdateOfficeNote => url \n{}", $"{_apiConfig.CrmSales}/activity/{model.ActivityId}" );
|
||||||
await _client.PostAsJsonAsync($"{_apiConfig.CrmSale}/activity/{model.ActivityId}", model, _options);
|
await _client.PostAsJsonAsync($"{_apiConfig.CrmSales}/activity/{model.ActivityId}", model, _options);
|
||||||
}
|
}
|
||||||
public async Task<ReportStatusView> GetActivities(string activityDate)
|
public async Task<ReportStatusView> GetActivities(string activityDate)
|
||||||
{
|
{
|
||||||
var response = await _client
|
var response = await _client
|
||||||
.GetAsync($"{_apiConfig.CrmSale}/date/{activityDate}");
|
.GetAsync($"{_apiConfig.CrmSales}/date/{activityDate}");
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
return string.IsNullOrWhiteSpace(content)
|
return string.IsNullOrWhiteSpace(content)
|
||||||
? new ReportStatusView()
|
? new ReportStatusView()
|
||||||
|
@ -73,7 +73,7 @@ public class ActivityHttpRepository : IActivityHttpRepository
|
||||||
|
|
||||||
public async Task<List<ReportItemView>> GetCustomerActivities(string customerId)
|
public async Task<List<ReportItemView>> GetCustomerActivities(string customerId)
|
||||||
{
|
{
|
||||||
var response = await _client.GetAsync($"{_apiConfig.CrmSale}/company/{customerId}");
|
var response = await _client.GetAsync($"{_apiConfig.CrmSales}/company/{customerId}");
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
return JsonSerializer.Deserialize<List<ReportItemView>>(content, _options);
|
return JsonSerializer.Deserialize<List<ReportItemView>>(content, _options);
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ public class ActivityHttpRepository : IActivityHttpRepository
|
||||||
|
|
||||||
public async Task<ApiResponseView> CreateActivity(ActivityDto model)
|
public async Task<ApiResponseView> CreateActivity(ActivityDto model)
|
||||||
{
|
{
|
||||||
var response = await _client.PostAsJsonAsync($"{_apiConfig.CrmSale}", model, _options);
|
var response = await _client.PostAsJsonAsync($"{_apiConfig.CrmSales}", model, _options);
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
var result = JsonSerializer.Deserialize<ApiResponseView>(content);
|
var result = JsonSerializer.Deserialize<ApiResponseView>(content);
|
||||||
return result!;
|
return result!;
|
||||||
|
@ -90,20 +90,20 @@ public class ActivityHttpRepository : IActivityHttpRepository
|
||||||
public async Task<ReportItemView> GetReportItem(string id)
|
public async Task<ReportItemView> GetReportItem(string id)
|
||||||
{
|
{
|
||||||
var salesItem = await _client
|
var salesItem = await _client
|
||||||
.GetFromJsonAsync<ReportItemView>($"{_apiConfig.CrmSale}/{id}");
|
.GetFromJsonAsync<ReportItemView>($"{_apiConfig.CrmSales}/{id}");
|
||||||
return salesItem ?? new ReportItemView();
|
return salesItem ?? new ReportItemView();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ActivityDto> GetActivity(string id)
|
public async Task<ActivityDto> GetActivity(string id)
|
||||||
{
|
{
|
||||||
var salesItem = await _client
|
var salesItem = await _client
|
||||||
.GetFromJsonAsync<ActivityDto>($"{_apiConfig.CrmSale}/{id}");
|
.GetFromJsonAsync<ActivityDto>($"{_apiConfig.CrmSales}/{id}");
|
||||||
return salesItem ?? new ActivityDto();
|
return salesItem ?? new ActivityDto();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ApiResponseView> AcceptOffer(string id)
|
public async Task<ApiResponseView> AcceptOffer(string id)
|
||||||
{
|
{
|
||||||
var response = await _client.PostAsJsonAsync($"{_apiConfig.CrmSale}/{id}/accept", id);
|
var response = await _client.PostAsJsonAsync($"{_apiConfig.CrmSales}/{id}/accept", id);
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
var result = JsonSerializer.Deserialize<ApiResponseView>(content);
|
var result = JsonSerializer.Deserialize<ApiResponseView>(content);
|
||||||
return result!;
|
return result!;
|
131
Wonky.Client/HttpRepository/CrmCompanyHttpRepository.cs
Normal file
131
Wonky.Client/HttpRepository/CrmCompanyHttpRepository.cs
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
// 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 System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net.Http;
|
||||||
|
using System.Net.Http.Json;
|
||||||
|
using System.Text.Json;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Wonky.Client.Features;
|
||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using Microsoft.AspNetCore.WebUtilities;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
|
using Wonky.Client.HttpInterfaces;
|
||||||
|
using Wonky.Entity.Configuration;
|
||||||
|
using Wonky.Entity.DTO;
|
||||||
|
using Wonky.Entity.Requests;
|
||||||
|
using Wonky.Entity.Views;
|
||||||
|
|
||||||
|
#pragma warning disable CS8601
|
||||||
|
|
||||||
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
|
public class CrmCompanyHttpRepository : ICrmCompanyHttpRepository
|
||||||
|
{
|
||||||
|
private readonly JsonSerializerOptions _options = new ()
|
||||||
|
{
|
||||||
|
PropertyNameCaseInsensitive = true
|
||||||
|
};
|
||||||
|
|
||||||
|
private readonly NavigationManager _navigation;
|
||||||
|
private ILogger<CrmCompanyHttpRepository> _logger;
|
||||||
|
private readonly HttpClient _client;
|
||||||
|
private readonly ApiConfig _apiConfig;
|
||||||
|
|
||||||
|
public CrmCompanyHttpRepository(HttpClient client,
|
||||||
|
ILogger<CrmCompanyHttpRepository> logger,
|
||||||
|
NavigationManager navigation,
|
||||||
|
IOptions<ApiConfig> apiConfig)
|
||||||
|
{
|
||||||
|
_client = client;
|
||||||
|
_logger = logger;
|
||||||
|
_navigation = navigation;
|
||||||
|
_apiConfig = apiConfig.Value;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Get from crm endpoint
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pagingParameters"></param>
|
||||||
|
/// <returns>Paged response</returns>
|
||||||
|
public async Task<PagingResponse<CompanyDto>> GetCompanies(CompanyPagingParams pagingParameters)
|
||||||
|
{
|
||||||
|
var queryString = new Dictionary<string, string>
|
||||||
|
{
|
||||||
|
["pageNumber"] = pagingParameters.PageNumber.ToString(),
|
||||||
|
["pageSize"] = pagingParameters.PageSize.ToString(),
|
||||||
|
["searchTerm"] = pagingParameters.SearchTerm,
|
||||||
|
["searchColumn"] = pagingParameters.SearchColumn,
|
||||||
|
["orderBy"] = pagingParameters.OrderBy,
|
||||||
|
["isHidden"] = pagingParameters.IsHidden.ToString(),
|
||||||
|
["hasFolded"] = pagingParameters.HasFolded.ToString()
|
||||||
|
};
|
||||||
|
var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.CrmCustomers}/page", queryString));
|
||||||
|
|
||||||
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
|
var pagingResponse = new PagingResponse<CompanyDto>
|
||||||
|
{
|
||||||
|
Items = JsonSerializer.Deserialize<List<CompanyDto>>(content, _options),
|
||||||
|
MetaData = JsonSerializer.Deserialize<MetaData>(response.Headers.GetValues("X-Pagination").First(), _options)
|
||||||
|
};
|
||||||
|
return pagingResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<CompanyDto> GetCompanyById(string companyId)
|
||||||
|
{
|
||||||
|
var company = await _client.GetFromJsonAsync<CompanyDto>($"{_apiConfig.CrmCustomers}/{companyId}");
|
||||||
|
return company ?? new CompanyDto();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Create company from model
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="model"></param>
|
||||||
|
/// <returns>company id</returns>
|
||||||
|
public async Task<string> CreateCompany(CompanyDto model)
|
||||||
|
{
|
||||||
|
var response = await _client.PostAsJsonAsync($"{_apiConfig.CrmCustomers}", model);
|
||||||
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
|
var result = JsonSerializer.Deserialize<CompanyDto>(content, _options);
|
||||||
|
return result.CompanyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Update company card
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="companyId"></param>
|
||||||
|
/// <param name="model"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<bool> UpdateCompany(string companyId, CompanyDto model)
|
||||||
|
{
|
||||||
|
var response = await _client.PutAsJsonAsync($"{_apiConfig.CrmCustomers}/{companyId}", model);
|
||||||
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
|
Console.WriteLine(content);
|
||||||
|
return response.IsSuccessStatusCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Delete company
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="companyId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<bool> DeleteCompany(string companyId)
|
||||||
|
{
|
||||||
|
var response = await _client.DeleteAsync($"{_apiConfig.CrmCustomers}/{companyId}");
|
||||||
|
return response.IsSuccessStatusCode;
|
||||||
|
}
|
||||||
|
}
|
|
@ -25,7 +25,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpRepository;
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
public class HistoryHttpRepository : IHistoryHttpRepository
|
public class CrmHistoryHttpRepository : ICrmHistoryHttpRepository
|
||||||
{
|
{
|
||||||
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
||||||
{
|
{
|
||||||
|
@ -33,12 +33,12 @@ public class HistoryHttpRepository : IHistoryHttpRepository
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly NavigationManager _navigation;
|
private readonly NavigationManager _navigation;
|
||||||
private ILogger<HistoryHttpRepository> _logger;
|
private ILogger<CrmHistoryHttpRepository> _logger;
|
||||||
private readonly HttpClient _client;
|
private readonly HttpClient _client;
|
||||||
private readonly ApiConfig _api;
|
private readonly ApiConfig _api;
|
||||||
|
|
||||||
public HistoryHttpRepository(HttpClient client,
|
public CrmHistoryHttpRepository(HttpClient client,
|
||||||
ILogger<HistoryHttpRepository> logger,
|
ILogger<CrmHistoryHttpRepository> logger,
|
||||||
NavigationManager navigation,
|
NavigationManager navigation,
|
||||||
IOptions<ApiConfig> configuration)
|
IOptions<ApiConfig> configuration)
|
||||||
{
|
{
|
||||||
|
@ -49,7 +49,7 @@ public class HistoryHttpRepository : IHistoryHttpRepository
|
||||||
}
|
}
|
||||||
public async Task<List<ProductInventoryView>> FetchInventory(string companyId)
|
public async Task<List<ProductInventoryView>> FetchInventory(string companyId)
|
||||||
{
|
{
|
||||||
var response = await _client.GetAsync($"{_api.CrmCustomer}/{companyId}/{_api.CrmInventory}");
|
var response = await _client.GetAsync($"{_api.CrmCustomers}/{companyId}/{_api.CrmInventory}");
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
return response.IsSuccessStatusCode
|
return response.IsSuccessStatusCode
|
||||||
? JsonSerializer.Deserialize<List<ProductInventoryView>>(content, _options)
|
? JsonSerializer.Deserialize<List<ProductInventoryView>>(content, _options)
|
||||||
|
@ -60,18 +60,18 @@ public class HistoryHttpRepository : IHistoryHttpRepository
|
||||||
public async Task<List<ProductHistoryView>> FetchHistory(string companyId)
|
public async Task<List<ProductHistoryView>> FetchHistory(string companyId)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<List<ProductHistoryView>>(
|
return await _client.GetFromJsonAsync<List<ProductHistoryView>>(
|
||||||
$"{_api.CrmCustomer}/{companyId}/{_api.CrmProduct}");
|
$"{_api.CrmCustomers}/{companyId}/{_api.CrmProducts}");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<ProductHistoryView>> FetchHistory(string companyId, string sku)
|
public async Task<List<ProductHistoryView>> FetchHistory(string companyId, string sku)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<List<ProductHistoryView>>(
|
return await _client.GetFromJsonAsync<List<ProductHistoryView>>(
|
||||||
$"{_api.CrmCustomer}/{companyId}/{_api.CrmProduct}/{sku}");
|
$"{_api.CrmCustomers}/{companyId}/{_api.CrmProducts}/{sku}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> UpdateProductHistory(string companyId, string syncDate = "2010-01-01")
|
public async Task<string> UpdateProductHistory(string companyId, string syncDate = "2010-01-01")
|
||||||
{
|
{
|
||||||
return await _client.GetStringAsync($"{_api.CrmCustomer}/{companyId}/{_api.CrmSync}/{syncDate}");
|
return await _client.GetStringAsync($"{_api.CrmCustomers}/{companyId}/{_api.CrmSync}/{syncDate}");
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -25,7 +25,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpRepository;
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
public class ReportHttpRepository :IReportHttpRepository
|
public class CrmReportHttpRepository :ICrmReportHttpRepository
|
||||||
{
|
{
|
||||||
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
||||||
{
|
{
|
||||||
|
@ -33,12 +33,12 @@ public class ReportHttpRepository :IReportHttpRepository
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly NavigationManager _navigation;
|
private readonly NavigationManager _navigation;
|
||||||
private ILogger<ReportHttpRepository> _logger;
|
private ILogger<CrmReportHttpRepository> _logger;
|
||||||
private readonly HttpClient _client;
|
private readonly HttpClient _client;
|
||||||
private readonly ApiConfig _apiConfig;
|
private readonly ApiConfig _apiConfig;
|
||||||
|
|
||||||
public ReportHttpRepository(HttpClient client,
|
public CrmReportHttpRepository(HttpClient client,
|
||||||
ILogger<ReportHttpRepository> logger,
|
ILogger<CrmReportHttpRepository> logger,
|
||||||
NavigationManager navigation, IOptions<ApiConfig> configuration)
|
NavigationManager navigation, IOptions<ApiConfig> configuration)
|
||||||
{
|
{
|
||||||
_client = client;
|
_client = client;
|
||||||
|
@ -49,32 +49,32 @@ public class ReportHttpRepository :IReportHttpRepository
|
||||||
|
|
||||||
public async Task<List<NgSalesReportListView>> GetReports()
|
public async Task<List<NgSalesReportListView>> GetReports()
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<List<NgSalesReportListView>>($"{_apiConfig.CrmReport}");
|
return await _client.GetFromJsonAsync<List<NgSalesReportListView>>($"{_apiConfig.CrmReports}");
|
||||||
}
|
}
|
||||||
public async Task<bool> ReportExist(string workDate)
|
public async Task<bool> ReportExist(string workDate)
|
||||||
{
|
{
|
||||||
var result =
|
var result =
|
||||||
await _client
|
await _client
|
||||||
.GetFromJsonAsync<SalesReportClosedView>($"{_apiConfig.CrmReport}/exist/{workDate}");
|
.GetFromJsonAsync<SalesReportClosedView>($"{_apiConfig.CrmReports}/exist/{workDate}");
|
||||||
return result.ReportClosed;
|
return result.ReportClosed;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ReportView> GetReport(string workDate)
|
public async Task<ReportView> GetReport(string workDate)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<ReportView>($"{_apiConfig.CrmReport}/{workDate}");
|
return await _client.GetFromJsonAsync<ReportView>($"{_apiConfig.CrmReports}/{workDate}");
|
||||||
|
|
||||||
}
|
}
|
||||||
public async Task<ReportInitDto> InitializeReportData(string workDate)
|
public async Task<ReportInitDto> InitializeReportData(string workDate)
|
||||||
{
|
{
|
||||||
var initData = await _client
|
var initData = await _client
|
||||||
.GetFromJsonAsync<ReportInitDto>($"{_apiConfig.CrmReport}/init/{workDate}");
|
.GetFromJsonAsync<ReportInitDto>($"{_apiConfig.CrmReports}/init/{workDate}");
|
||||||
return initData ?? new ReportInitDto();
|
return initData ?? new ReportInitDto();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ApiResponseView> PostReport(string workDate, ReportDto reportDto)
|
public async Task<ApiResponseView> PostReport(string workDate, ReportDto reportDto)
|
||||||
{
|
{
|
||||||
var response = await _client
|
var response = await _client
|
||||||
.PostAsJsonAsync($"{_apiConfig.CrmReport}/{workDate}", reportDto, _options);
|
.PostAsJsonAsync($"{_apiConfig.CrmReports}/{workDate}", reportDto, _options);
|
||||||
|
|
||||||
var jsonDate = await response.Content.ReadAsStringAsync();
|
var jsonDate = await response.Content.ReadAsStringAsync();
|
||||||
var result = JsonSerializer.Deserialize<ApiResponseView>(jsonDate);
|
var result = JsonSerializer.Deserialize<ApiResponseView>(jsonDate);
|
|
@ -26,7 +26,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpRepository;
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
public class TaskItemHttpRepository : ITaskItemHttpRepository
|
public class CrmTaskItemHttpRepository : ICrmTaskItemHttpRepository
|
||||||
{
|
{
|
||||||
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
||||||
{
|
{
|
||||||
|
@ -35,12 +35,12 @@ public class TaskItemHttpRepository : ITaskItemHttpRepository
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly NavigationManager _navigation;
|
private readonly NavigationManager _navigation;
|
||||||
private ILogger<TaskItemHttpRepository> _logger;
|
private ILogger<CrmTaskItemHttpRepository> _logger;
|
||||||
private readonly HttpClient _client;
|
private readonly HttpClient _client;
|
||||||
private readonly ApiConfig _apiConfig;
|
private readonly ApiConfig _apiConfig;
|
||||||
|
|
||||||
public TaskItemHttpRepository(HttpClient client,
|
public CrmTaskItemHttpRepository(HttpClient client,
|
||||||
ILogger<TaskItemHttpRepository> logger,
|
ILogger<CrmTaskItemHttpRepository> logger,
|
||||||
NavigationManager navigation, IOptions<ApiConfig> configuration)
|
NavigationManager navigation, IOptions<ApiConfig> configuration)
|
||||||
{
|
{
|
||||||
_client = client;
|
_client = client;
|
||||||
|
@ -52,31 +52,31 @@ public class TaskItemHttpRepository : ITaskItemHttpRepository
|
||||||
|
|
||||||
public async Task<List<TaskItemDto>?> GetTaskList()
|
public async Task<List<TaskItemDto>?> GetTaskList()
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<List<TaskItemDto>>($"{_apiConfig.CrmTask}", _options);
|
return await _client.GetFromJsonAsync<List<TaskItemDto>>($"{_apiConfig.CrmTasks}", _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<TaskItemDto>?> GetTaskList(string workDate)
|
public async Task<List<TaskItemDto>?> GetTaskList(string workDate)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<List<TaskItemDto>>($"{_apiConfig.CrmTask}/date/{workDate}", _options);
|
return await _client.GetFromJsonAsync<List<TaskItemDto>>($"{_apiConfig.CrmTasks}/date/{workDate}", _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<TaskItemDto?> GetTaskItem(string taskItemId)
|
public async Task<TaskItemDto?> GetTaskItem(string taskItemId)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<TaskItemDto>($"{_apiConfig.CrmTask}/{taskItemId}", _options);
|
return await _client.GetFromJsonAsync<TaskItemDto>($"{_apiConfig.CrmTasks}/{taskItemId}", _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task CreateTaskItem(TaskItemDto taskItem)
|
public async Task CreateTaskItem(TaskItemDto taskItem)
|
||||||
{
|
{
|
||||||
await _client.PostAsJsonAsync($"{_apiConfig.CrmTask}", taskItem, _options);
|
await _client.PostAsJsonAsync($"{_apiConfig.CrmTasks}", taskItem, _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task UpdateTaskItem(string taskItemId, TaskItemDto taskItem)
|
public async Task UpdateTaskItem(string taskItemId, TaskItemDto taskItem)
|
||||||
{
|
{
|
||||||
await _client.PutAsJsonAsync($"{_apiConfig.CrmTask}/{taskItemId}", taskItem, _options);
|
await _client.PutAsJsonAsync($"{_apiConfig.CrmTasks}/{taskItemId}", taskItem, _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task DeleteTaskItem(string taskItemId)
|
public async Task DeleteTaskItem(string taskItemId)
|
||||||
{
|
{
|
||||||
await _client.DeleteAsync($"{_apiConfig.CrmTask}/{taskItemId}");
|
await _client.DeleteAsync($"{_apiConfig.CrmTasks}/{taskItemId}");
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -24,7 +24,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpRepository;
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
public class WorkplaceHttpRepository : IWorkplaceHttpRepository
|
public class CrmWorkplaceHttpRepository : ICrmWorkplaceHttpRepository
|
||||||
{
|
{
|
||||||
private readonly JsonSerializerOptions? _options = new JsonSerializerOptions
|
private readonly JsonSerializerOptions? _options = new JsonSerializerOptions
|
||||||
{
|
{
|
||||||
|
@ -32,12 +32,12 @@ public class WorkplaceHttpRepository : IWorkplaceHttpRepository
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly NavigationManager _navigation;
|
private readonly NavigationManager _navigation;
|
||||||
private ILogger<WorkplaceHttpRepository> _logger;
|
private ILogger<CrmWorkplaceHttpRepository> _logger;
|
||||||
private readonly HttpClient _client;
|
private readonly HttpClient _client;
|
||||||
private readonly ApiConfig _api;
|
private readonly ApiConfig _api;
|
||||||
|
|
||||||
public WorkplaceHttpRepository(HttpClient client,
|
public CrmWorkplaceHttpRepository(HttpClient client,
|
||||||
ILogger<WorkplaceHttpRepository> logger,
|
ILogger<CrmWorkplaceHttpRepository> logger,
|
||||||
NavigationManager navigation,
|
NavigationManager navigation,
|
||||||
IOptions<ApiConfig> configuration)
|
IOptions<ApiConfig> configuration)
|
||||||
{
|
{
|
||||||
|
@ -50,32 +50,32 @@ public class WorkplaceHttpRepository : IWorkplaceHttpRepository
|
||||||
public async Task<List<WorkplaceListView>> GetWorkplaces(string companyId)
|
public async Task<List<WorkplaceListView>> GetWorkplaces(string companyId)
|
||||||
{
|
{
|
||||||
var result = await _client.GetFromJsonAsync<List<WorkplaceListView>>(
|
var result = await _client.GetFromJsonAsync<List<WorkplaceListView>>(
|
||||||
$"{_api.CrmCustomer}/{companyId}/{_api.CrmWorkplace}", _options);
|
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaces}", _options);
|
||||||
return result ?? new List<WorkplaceListView>();
|
return result ?? new List<WorkplaceListView>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<WorkplaceDto> GetWorkplace(string companyId, string workplaceId)
|
public async Task<WorkplaceDto> GetWorkplace(string companyId, string workplaceId)
|
||||||
{
|
{
|
||||||
var result = await _client.GetFromJsonAsync<WorkplaceDto>(
|
var result = await _client.GetFromJsonAsync<WorkplaceDto>(
|
||||||
$"{_api.CrmCustomer}/{companyId}/{_api.CrmWorkplace}/{workplaceId}", _options);
|
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaces}/{workplaceId}", _options);
|
||||||
return result ?? new WorkplaceDto();
|
return result ?? new WorkplaceDto();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task CreateWorkplace(string companyId, WorkplaceDto workplace)
|
public async Task CreateWorkplace(string companyId, WorkplaceDto workplace)
|
||||||
{
|
{
|
||||||
await _client.PostAsJsonAsync(
|
await _client.PostAsJsonAsync(
|
||||||
$"{_api.CrmCustomer}/{companyId}/{_api.CrmWorkplace}", workplace, _options);
|
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaces}", workplace, _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task UpdateWorkplace(string companyId, WorkplaceDto workplace)
|
public async Task UpdateWorkplace(string companyId, WorkplaceDto workplace)
|
||||||
{
|
{
|
||||||
await _client.PutAsJsonAsync(
|
await _client.PutAsJsonAsync(
|
||||||
$"{_api.CrmCustomer}/{companyId}/{_api.CrmWorkplace}/{workplace.WorkplaceId}", workplace, _options);
|
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaces}/{workplace.WorkplaceId}", workplace, _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task DeleteWorkplace(string companyId, string workplaceId)
|
public async Task DeleteWorkplace(string companyId, string workplaceId)
|
||||||
{
|
{
|
||||||
await _client.DeleteAsync(
|
await _client.DeleteAsync(
|
||||||
$"{_api.CrmCustomer}/{companyId}/{_api.CrmWorkplace}/{workplaceId}");
|
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaces}/{workplaceId}");
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpRepository;
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
public class CompanyHttpRepository : ICompanyHttpRepository
|
public class OfficeCustomerHttpRepository : IOfficeCustomerHttpRepository
|
||||||
{
|
{
|
||||||
private readonly JsonSerializerOptions _options = new ()
|
private readonly JsonSerializerOptions _options = new ()
|
||||||
{
|
{
|
||||||
|
@ -42,12 +42,12 @@ public class CompanyHttpRepository : ICompanyHttpRepository
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly NavigationManager _navigation;
|
private readonly NavigationManager _navigation;
|
||||||
private ILogger<CompanyHttpRepository> _logger;
|
private ILogger<OfficeCustomerHttpRepository> _logger;
|
||||||
private readonly HttpClient _client;
|
private readonly HttpClient _client;
|
||||||
private readonly ApiConfig _apiConfig;
|
private readonly ApiConfig _apiConfig;
|
||||||
|
|
||||||
public CompanyHttpRepository(HttpClient client,
|
public OfficeCustomerHttpRepository(HttpClient client,
|
||||||
ILogger<CompanyHttpRepository> logger,
|
ILogger<OfficeCustomerHttpRepository> logger,
|
||||||
NavigationManager navigation,
|
NavigationManager navigation,
|
||||||
IOptions<ApiConfig> apiConfig)
|
IOptions<ApiConfig> apiConfig)
|
||||||
{
|
{
|
||||||
|
@ -56,8 +56,12 @@ public class CompanyHttpRepository : ICompanyHttpRepository
|
||||||
_navigation = navigation;
|
_navigation = navigation;
|
||||||
_apiConfig = apiConfig.Value;
|
_apiConfig = apiConfig.Value;
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
public async Task<PagingResponse<CompanyDto>> GetAllCustomersPaged(CompanyPagingParams pagingParameters)
|
/// Get from crm endpoint
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pagingParameters"></param>
|
||||||
|
/// <returns>Paged response</returns>
|
||||||
|
public async Task<PagingResponse<CompanyDto>> GetCompanies(CompanyPagingParams pagingParameters)
|
||||||
{
|
{
|
||||||
var queryString = new Dictionary<string, string>
|
var queryString = new Dictionary<string, string>
|
||||||
{
|
{
|
||||||
|
@ -69,31 +73,7 @@ public class CompanyHttpRepository : ICompanyHttpRepository
|
||||||
["isHidden"] = pagingParameters.IsHidden.ToString(),
|
["isHidden"] = pagingParameters.IsHidden.ToString(),
|
||||||
["hasFolded"] = pagingParameters.HasFolded.ToString()
|
["hasFolded"] = pagingParameters.HasFolded.ToString()
|
||||||
};
|
};
|
||||||
var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.CrmCustomer}/page", queryString));
|
var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.CrmCustomers}/page", queryString));
|
||||||
|
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
|
||||||
|
|
||||||
var pagingResponse = new PagingResponse<CompanyDto>
|
|
||||||
{
|
|
||||||
Items = JsonSerializer.Deserialize<List<CompanyDto>>(content, _options),
|
|
||||||
MetaData = JsonSerializer.Deserialize<MetaData>(response.Headers.GetValues("X-Pagination").First(), _options)
|
|
||||||
};
|
|
||||||
return pagingResponse;
|
|
||||||
|
|
||||||
}
|
|
||||||
public async Task<PagingResponse<CompanyDto>> GetCompaniesPaged(CompanyPagingParams pagingParameters)
|
|
||||||
{
|
|
||||||
var queryString = new Dictionary<string, string>
|
|
||||||
{
|
|
||||||
["pageNumber"] = pagingParameters.PageNumber.ToString(),
|
|
||||||
["pageSize"] = pagingParameters.PageSize.ToString(),
|
|
||||||
["searchTerm"] = pagingParameters.SearchTerm,
|
|
||||||
["searchColumn"] = pagingParameters.SearchColumn,
|
|
||||||
["orderBy"] = pagingParameters.OrderBy,
|
|
||||||
["isHidden"] = pagingParameters.IsHidden.ToString(),
|
|
||||||
["hasFolded"] = pagingParameters.HasFolded.ToString()
|
|
||||||
};
|
|
||||||
var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.CrmCustomer}/page", queryString));
|
|
||||||
|
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
|
@ -105,40 +85,35 @@ public class CompanyHttpRepository : ICompanyHttpRepository
|
||||||
return pagingResponse;
|
return pagingResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<PagingResponse<CompanyDto>> GetAdminAdvisorCompaniesPaged(string userId, CompanyPagingParams pagingParameters)
|
/// <summary>
|
||||||
|
/// Get customer by account
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="accountNumber"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<CompanyDto> GetCompanyAccount(string accountNumber)
|
||||||
{
|
{
|
||||||
var queryString = new Dictionary<string, string>
|
var company = await _client.GetFromJsonAsync<CompanyDto>($"{_apiConfig.CrmCustomers}/account/{accountNumber}");
|
||||||
{
|
|
||||||
["pageNumber"] = pagingParameters.PageNumber.ToString(),
|
|
||||||
["pageSize"] = pagingParameters.PageSize.ToString(),
|
|
||||||
["searchTerm"] = pagingParameters.SearchTerm,
|
|
||||||
["searchColumn"] = pagingParameters.SearchColumn,
|
|
||||||
["orderBy"] = pagingParameters.OrderBy,
|
|
||||||
["isHidden"] = pagingParameters.IsHidden.ToString(),
|
|
||||||
["hasFolded"] = pagingParameters.HasFolded.ToString()
|
|
||||||
};
|
|
||||||
var response = await _client
|
|
||||||
.GetAsync(QueryHelpers.AddQueryString($"{_apiConfig.AdminUser}/{userId}/companies", queryString));
|
|
||||||
|
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
|
||||||
|
|
||||||
var pagingResponse = new PagingResponse<CompanyDto>
|
|
||||||
{
|
|
||||||
Items = JsonSerializer.Deserialize<List<CompanyDto>>(content, _options),
|
|
||||||
MetaData = JsonSerializer.Deserialize<MetaData>(response.Headers.GetValues("X-Pagination").First(), _options)
|
|
||||||
};
|
|
||||||
return pagingResponse;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<CompanyDto> GetCompanyByAccount(string accountNumber)
|
|
||||||
{
|
|
||||||
var company = await _client.GetFromJsonAsync<CompanyDto>($"{_apiConfig.CrmCustomer}/account/{accountNumber}");
|
|
||||||
return company ?? new CompanyDto();
|
return company ?? new CompanyDto();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Task<PagingResponse<CompanyDto>> GetCompaniesPaged(CompanyPagingParams pagingParameters)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task<PagingResponse<CompanyDto>> GetCompaniesPaged(string userId, CompanyPagingParams pagingParameters)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task<CompanyDto> GetCompanyByAccount(string accountNumber)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<CompanyDto> GetCompanyById(string companyId)
|
public async Task<CompanyDto> GetCompanyById(string companyId)
|
||||||
{
|
{
|
||||||
var company = await _client.GetFromJsonAsync<CompanyDto>($"{_apiConfig.CrmCustomer}/{companyId}");
|
var company = await _client.GetFromJsonAsync<CompanyDto>($"{_apiConfig.CrmCustomers}/{companyId}");
|
||||||
return company ?? new CompanyDto();
|
return company ?? new CompanyDto();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,23 +124,34 @@ public class CompanyHttpRepository : ICompanyHttpRepository
|
||||||
/// <returns>company id</returns>
|
/// <returns>company id</returns>
|
||||||
public async Task<string> CreateCompany(CompanyDto model)
|
public async Task<string> CreateCompany(CompanyDto model)
|
||||||
{
|
{
|
||||||
var response = await _client.PostAsJsonAsync($"{_apiConfig.CrmCustomer}", model);
|
var response = await _client.PostAsJsonAsync($"{_apiConfig.CrmCustomers}", model);
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
var result = JsonSerializer.Deserialize<CompanyDto>(content, _options);
|
var result = JsonSerializer.Deserialize<CompanyDto>(content, _options);
|
||||||
return result.CompanyId;
|
return result.CompanyId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Update company card
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="companyId"></param>
|
||||||
|
/// <param name="model"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public async Task<bool> UpdateCompany(string companyId, CompanyDto model)
|
public async Task<bool> UpdateCompany(string companyId, CompanyDto model)
|
||||||
{
|
{
|
||||||
var response = await _client.PutAsJsonAsync($"{_apiConfig.CrmCustomer}/{companyId}", model);
|
var response = await _client.PutAsJsonAsync($"{_apiConfig.CrmCustomers}/{companyId}", model);
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
Console.WriteLine(content);
|
Console.WriteLine(content);
|
||||||
return response.IsSuccessStatusCode;
|
return response.IsSuccessStatusCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Delete company
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="companyId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public async Task<bool> DeleteCompany(string companyId)
|
public async Task<bool> DeleteCompany(string companyId)
|
||||||
{
|
{
|
||||||
var response = await _client.DeleteAsync($"{_apiConfig.CrmCustomer}/{companyId}");
|
var response = await _client.DeleteAsync($"{_apiConfig.CrmCustomers}/{companyId}");
|
||||||
return response.IsSuccessStatusCode;
|
return response.IsSuccessStatusCode;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -24,7 +24,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpRepository;
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
public class AdminReportHttpRepository : IAdminReportHttpRepository
|
public class OfficeReportHttpRepository : IOfficeReportHttpRepository
|
||||||
{
|
{
|
||||||
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
||||||
{
|
{
|
||||||
|
@ -32,12 +32,12 @@ public class AdminReportHttpRepository : IAdminReportHttpRepository
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly NavigationManager _navigation;
|
private readonly NavigationManager _navigation;
|
||||||
private ILogger<AdminReportHttpRepository> _logger;
|
private ILogger<OfficeReportHttpRepository> _logger;
|
||||||
private readonly HttpClient _client;
|
private readonly HttpClient _client;
|
||||||
private readonly ApiConfig _apiConfig;
|
private readonly ApiConfig _apiConfig;
|
||||||
|
|
||||||
public AdminReportHttpRepository(HttpClient client,
|
public OfficeReportHttpRepository(HttpClient client,
|
||||||
ILogger<AdminReportHttpRepository> logger,
|
ILogger<OfficeReportHttpRepository> logger,
|
||||||
NavigationManager navigation, IOptions<ApiConfig> configuration)
|
NavigationManager navigation, IOptions<ApiConfig> configuration)
|
||||||
{
|
{
|
||||||
_client = client;
|
_client = client;
|
||||||
|
@ -48,12 +48,12 @@ public class AdminReportHttpRepository : IAdminReportHttpRepository
|
||||||
|
|
||||||
public async Task<List<NgSalesReportListView>> GetReports(string userId)
|
public async Task<List<NgSalesReportListView>> GetReports(string userId)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<List<NgSalesReportListView>>($"{_apiConfig.AdminUser}/{userId}/reports");
|
return await _client.GetFromJsonAsync<List<NgSalesReportListView>>($"{_apiConfig.OfficeAdvisors}/{userId}/reports");
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ReportView> GetReport(string userId, string workDate)
|
public async Task<ReportView> GetReport(string userId, string workDate)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<ReportView>($"{_apiConfig.AdminUser}/{userId}/reports/{workDate}");
|
return await _client.GetFromJsonAsync<ReportView>($"{_apiConfig.OfficeAdvisors}/{userId}/reports/{workDate}");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -25,7 +25,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpRepository;
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
public class UserHttpRepository : IUserHttpRepository
|
public class OfficeUserHttpRepository : IOfficeUserHttpRepository
|
||||||
{
|
{
|
||||||
private readonly JsonSerializerOptions? _options = new JsonSerializerOptions
|
private readonly JsonSerializerOptions? _options = new JsonSerializerOptions
|
||||||
{
|
{
|
||||||
|
@ -33,12 +33,12 @@ public class UserHttpRepository : IUserHttpRepository
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly NavigationManager _navigation;
|
private readonly NavigationManager _navigation;
|
||||||
private ILogger<UserHttpRepository> _logger;
|
private ILogger<OfficeUserHttpRepository> _logger;
|
||||||
private readonly HttpClient _client;
|
private readonly HttpClient _client;
|
||||||
private readonly ApiConfig _api;
|
private readonly ApiConfig _api;
|
||||||
|
|
||||||
public UserHttpRepository(HttpClient client,
|
public OfficeUserHttpRepository(HttpClient client,
|
||||||
ILogger<UserHttpRepository> logger,
|
ILogger<OfficeUserHttpRepository> logger,
|
||||||
NavigationManager navigation,
|
NavigationManager navigation,
|
||||||
IOptions<ApiConfig> configuration)
|
IOptions<ApiConfig> configuration)
|
||||||
{
|
{
|
||||||
|
@ -50,43 +50,43 @@ public class UserHttpRepository : IUserHttpRepository
|
||||||
|
|
||||||
public async Task<List<UserListAdminView>> GetAdvisors()
|
public async Task<List<UserListAdminView>> GetAdvisors()
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<List<UserListAdminView>>(_api.AdminUser);
|
return await _client.GetFromJsonAsync<List<UserListAdminView>>(_api.OfficeAdvisors);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<UserInfoDto> GetAdvisorInfo(string userId)
|
public async Task<UserInfoDto> GetAdvisorInfo(string userId)
|
||||||
{
|
{
|
||||||
var user = await _client.GetFromJsonAsync<UserInfoDto>($"{_api.AdminUser}/{userId}");
|
var user = await _client.GetFromJsonAsync<UserInfoDto>($"{_api.OfficeAdvisors}/{userId}");
|
||||||
Console.WriteLine(JsonSerializer.Serialize(user));
|
Console.WriteLine(JsonSerializer.Serialize(user));
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task UpdateAdvisor(string userId, UserUpdateDto model)
|
public async Task UpdateAdvisor(string userId, UserUpdateDto model)
|
||||||
{
|
{
|
||||||
await _client.PutAsJsonAsync($"{_api.AdminUser}/{userId}", model, _options);
|
await _client.PutAsJsonAsync($"{_api.OfficeAdvisors}/{userId}", model, _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<UserListAdminView>> GetAdminUsers()
|
public async Task<List<UserListAdminView>> GetAdminUsers()
|
||||||
{
|
{
|
||||||
var users =await _client.GetFromJsonAsync<List<UserListAdminView>>(_api.AdminOffice);
|
var users =await _client.GetFromJsonAsync<List<UserListAdminView>>(_api.OfficeUsers);
|
||||||
Console.WriteLine(JsonSerializer.Serialize(users));
|
Console.WriteLine(JsonSerializer.Serialize(users));
|
||||||
return users;
|
return users;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<UserInfoDto> GetAdminUserInfo(string userId)
|
public async Task<UserInfoDto> GetAdminUserInfo(string userId)
|
||||||
{
|
{
|
||||||
var user = await _client.GetFromJsonAsync<UserInfoDto>($"{_api.AdminOffice}/{userId}");
|
var user = await _client.GetFromJsonAsync<UserInfoDto>($"{_api.OfficeUsers}/{userId}");
|
||||||
Console.WriteLine(JsonSerializer.Serialize(user));
|
Console.WriteLine(JsonSerializer.Serialize(user));
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task UpdateAdminUser(string userId, UserUpdateDto model)
|
public async Task UpdateAdminUser(string userId, UserUpdateDto model)
|
||||||
{
|
{
|
||||||
await _client.PutAsJsonAsync($"{_api.AdminOffice}/{userId}", model, _options);
|
await _client.PutAsJsonAsync($"{_api.OfficeUsers}/{userId}", model, _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task ResetUserPassword(string userId, string newPasswd, string confirmPasswd)
|
public async Task ResetUserPassword(string userId, string newPasswd, string confirmPasswd)
|
||||||
{
|
{
|
||||||
var passwd = new Dictionary<string, string> {{"newPassword", newPasswd}, {"confirmPassword", confirmPasswd}};
|
var passwd = new Dictionary<string, string> {{"newPassword", newPasswd}, {"confirmPassword", confirmPasswd}};
|
||||||
await _client.PostAsJsonAsync($"{_api.AdminPasswd}/{userId}", passwd, _options);
|
await _client.PostAsJsonAsync($"{_api.OfficeUserPasswd}/{userId}", passwd, _options);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -24,11 +24,11 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class KrvItemViewPage : IDisposable
|
public partial class AdminKrvItemViewPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string SalesItemId { get; set; } = "";
|
[Parameter] public string SalesItemId { get; set; } = "";
|
||||||
private SalesItemView _item { get; set; } = new ();
|
private SalesItemView _item { get; set; } = new ();
|
||||||
[Inject] private ISalesItemHttpRepository _itemRepo { get; set; }
|
[Inject] private ICatalogHttpRepository _itemRepo { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -22,13 +22,13 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class ProductHistoryItemPage : IDisposable
|
public partial class CrmHistoryItemPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string Sku { get; set; } = "";
|
[Parameter] public string Sku { get; set; } = "";
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private IHistoryHttpRepository _historyRepo { get; set; }
|
[Inject] private ICrmHistoryHttpRepository CrmHistoryRepo { get; set; }
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
[Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; }
|
||||||
private List<ProductHistoryView> _lines { get; set; } = new();
|
private List<ProductHistoryView> _lines { get; set; } = new();
|
||||||
private CompanyDto _company { get; set; } = new();
|
private CompanyDto _company { get; set; } = new();
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ public partial class ProductHistoryItemPage : IDisposable
|
||||||
_interceptor.RegisterEvent();
|
_interceptor.RegisterEvent();
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
_company = await _companyRepo.GetCompanyById(CompanyId);
|
_company = await _companyRepo.GetCompanyById(CompanyId);
|
||||||
_lines = await _historyRepo.FetchHistory(CompanyId, Sku);
|
_lines = await CrmHistoryRepo.FetchHistory(CompanyId, Sku);
|
||||||
_lines = _lines.OrderByDescending(x => x.DeliveryDate).ToList();
|
_lines = _lines.OrderByDescending(x => x.DeliveryDate).ToList();
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,12 +23,12 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class ProductHistoryListPage : IDisposable
|
public partial class CrmHistoryListPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private IHistoryHttpRepository _historyRepo { get; set; }
|
[Inject] private ICrmHistoryHttpRepository CrmHistoryRepo { get; set; }
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
[Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; }
|
||||||
private List<ProductHistoryView> _lines { get; set; } = new();
|
private List<ProductHistoryView> _lines { get; set; } = new();
|
||||||
private CompanyDto _company { get; set; } = new();
|
private CompanyDto _company { get; set; } = new();
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ public partial class ProductHistoryListPage : IDisposable
|
||||||
_interceptor.RegisterEvent();
|
_interceptor.RegisterEvent();
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
_company = await _companyRepo.GetCompanyById(CompanyId);
|
_company = await _companyRepo.GetCompanyById(CompanyId);
|
||||||
_lines = await _historyRepo.FetchHistory(CompanyId);
|
_lines = await CrmHistoryRepo.FetchHistory(CompanyId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
|
@ -24,11 +24,11 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class ProductInventoryPage : IDisposable
|
public partial class CrmInventoryPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Inject] private IHistoryHttpRepository _historyRepo { get; set; }
|
[Inject] private ICrmHistoryHttpRepository CrmHistoryRepo { get; set; }
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
[Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
private CompanyDto _company { get; set; } = new();
|
private CompanyDto _company { get; set; } = new();
|
||||||
|
@ -42,7 +42,7 @@ public partial class ProductInventoryPage : IDisposable
|
||||||
_interceptor.RegisterEvent();
|
_interceptor.RegisterEvent();
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
_company = await _companyRepo.GetCompanyById(CompanyId);
|
_company = await _companyRepo.GetCompanyById(CompanyId);
|
||||||
_inventory = await _historyRepo.FetchInventory(CompanyId);
|
_inventory = await CrmHistoryRepo.FetchInventory(CompanyId);
|
||||||
_inventory = _inventory.OrderBy(x => x.Description).ToList();
|
_inventory = _inventory.OrderBy(x => x.Description).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,10 +51,10 @@ public partial class ProductInventoryPage : IDisposable
|
||||||
_working = true;
|
_working = true;
|
||||||
_btnUpdateText = "vent venligst ...";
|
_btnUpdateText = "vent venligst ...";
|
||||||
_toast.ShowInfo("Vent mens data checkes ...");
|
_toast.ShowInfo("Vent mens data checkes ...");
|
||||||
var ts = await _historyRepo.UpdateProductHistory(_company.CompanyId, $"{DateTime.Parse(_company.HistorySync):yyyy-MM-dd}");;
|
var ts = await CrmHistoryRepo.UpdateProductHistory(_company.CompanyId, $"{DateTime.Parse(_company.HistorySync):yyyy-MM-dd}");;
|
||||||
_company.HistorySync = ts.Replace("\"", "");
|
_company.HistorySync = ts.Replace("\"", "");
|
||||||
_btnUpdateText = "check";
|
_btnUpdateText = "check";
|
||||||
_inventory = await _historyRepo.FetchInventory(CompanyId);
|
_inventory = await CrmHistoryRepo.FetchInventory(CompanyId);
|
||||||
_inventory = _inventory.OrderBy(x => x.Description).ToList();
|
_inventory = _inventory.OrderBy(x => x.Description).ToList();
|
||||||
_working = false;
|
_working = false;
|
||||||
|
|
|
@ -8,13 +8,13 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class AdvisorListActivityCustomerPage : IDisposable
|
public partial class CrmListActivityCompanyPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
|
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private IActivityHttpRepository _activityRepo { get; set; }
|
[Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; }
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
[Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; }
|
||||||
private List<ReportItemView> _activities { get; set; }
|
private List<ReportItemView> _activities { get; set; }
|
||||||
private CompanyDto _company { get; set; }
|
private CompanyDto _company { get; set; }
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ public partial class AdvisorListActivityCustomerPage : IDisposable
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
_company = await _companyRepo.GetCompanyById(CompanyId);
|
_company = await _companyRepo.GetCompanyById(CompanyId);
|
||||||
|
|
||||||
_activities = await _activityRepo.GetCustomerActivities(CompanyId);
|
_activities = await CrmActivityRepo.GetCustomerActivities(CompanyId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,14 +25,14 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class AdvisorListActivityTodayPage : IDisposable
|
public partial class CrmListActivityTodayPage : IDisposable
|
||||||
{
|
{
|
||||||
[Inject] private UserPreferenceService _preferenceService { get; set; }
|
[Inject] private UserPreferenceService _preferenceService { get; set; }
|
||||||
[Inject] private ILogger<AdvisorListActivityTodayPage> _logger { get; set; }
|
[Inject] private ILogger<CrmListActivityTodayPage> _logger { 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 IActivityHttpRepository _activityRepo { get; set; }
|
[Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; }
|
||||||
[Inject] private IReportHttpRepository _reportRepo { get; set; }
|
[Inject] private ICrmReportHttpRepository CrmReportRepo { get; set; }
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
private ReportStatusView? ReportStatusView { get; set; } = new();
|
private ReportStatusView? ReportStatusView { get; set; } = new();
|
||||||
private Preferences _prefs { get; set; } = new();
|
private Preferences _prefs { get; set; } = new();
|
||||||
|
@ -49,7 +49,7 @@ public partial class AdvisorListActivityTodayPage : IDisposable
|
||||||
_interceptor.RegisterEvent();
|
_interceptor.RegisterEvent();
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
|
|
||||||
_reportExist = await _reportRepo.ReportExist(_workDate);
|
_reportExist = await CrmReportRepo.ReportExist(_workDate);
|
||||||
|
|
||||||
await GetActivities(_workDate);
|
await GetActivities(_workDate);
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ public partial class AdvisorListActivityTodayPage : IDisposable
|
||||||
_toast.ShowInfo("Vent nogle sekunder for data");
|
_toast.ShowInfo("Vent nogle sekunder for data");
|
||||||
_workDate = workDate;
|
_workDate = workDate;
|
||||||
ReportStatusView = new ReportStatusView();
|
ReportStatusView = new ReportStatusView();
|
||||||
ReportStatusView = await _activityRepo.GetActivities(workDate);
|
ReportStatusView = await CrmActivityRepo.GetActivities(workDate);
|
||||||
_logger.LogDebug("Activities => {}", JsonSerializer.Serialize(ReportStatusView));
|
_logger.LogDebug("Activities => {}", JsonSerializer.Serialize(ReportStatusView));
|
||||||
Loading = false;
|
Loading = false;
|
||||||
}
|
}
|
|
@ -54,4 +54,4 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<AdvisorCustomerTableComponent Companies="_companyList" OnDelete="DeleteCompany" />
|
<AdvisorCompanyTableComponent Companies="_companyList" OnDelete="DeleteCompany" />
|
|
@ -27,11 +27,11 @@ using Wonky.Entity.Requests;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages
|
namespace Wonky.Client.Pages
|
||||||
{
|
{
|
||||||
public partial class AdvisorListCustomerPage : IDisposable
|
public partial class CrmListCompanyPage : IDisposable
|
||||||
{
|
{
|
||||||
[Inject] private ILocalStorageService _storage { get; set; }
|
[Inject] private ILocalStorageService _storage { get; set; }
|
||||||
[Inject] private UserPreferenceService _preferenceService { get; set; }
|
[Inject] private UserPreferenceService _preferenceService { get; set; }
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
[Inject] private ICrmCompanyHttpRepository _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; }
|
||||||
private List<CompanyDto> _companyList { get; set; } = new();
|
private List<CompanyDto> _companyList { get; set; } = new();
|
||||||
|
@ -124,7 +124,7 @@ namespace Wonky.Client.Pages
|
||||||
|
|
||||||
private async Task GetCompanies()
|
private async Task GetCompanies()
|
||||||
{
|
{
|
||||||
var pagingResponse = await _companyRepo.GetCompaniesPaged(_paging);
|
var pagingResponse = await _companyRepo.GetCompanies(_paging);
|
||||||
_companyList = pagingResponse.Items;
|
_companyList = pagingResponse.Items;
|
||||||
_metaData = pagingResponse.MetaData;
|
_metaData = pagingResponse.MetaData;
|
||||||
}
|
}
|
|
@ -22,9 +22,9 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class AdvisorListReportPage : IDisposable
|
public partial class CrmListReportPage : IDisposable
|
||||||
{
|
{
|
||||||
[Inject] private IReportHttpRepository _reportRepo { get; set; }
|
[Inject] private ICrmReportHttpRepository CrmReportRepo { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
|
|
||||||
private List<NgSalesReportListView> _reports { get; set; }
|
private List<NgSalesReportListView> _reports { get; set; }
|
||||||
|
@ -34,7 +34,7 @@ public partial class AdvisorListReportPage : IDisposable
|
||||||
_interceptor.RegisterEvent();
|
_interceptor.RegisterEvent();
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
|
|
||||||
_reports = await _reportRepo.GetReports();
|
_reports = await CrmReportRepo.GetReports();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
|
@ -30,22 +30,22 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class AdvisorNewActivityPage : IDisposable
|
public partial class CrmNewActivityPage : IDisposable
|
||||||
{
|
{
|
||||||
// Parameters
|
// Parameters
|
||||||
[CascadingParameter] DraftStateProvider DraftStateProvider { get; set; }
|
[CascadingParameter] DraftStateProvider DraftStateProvider { get; set; }
|
||||||
[Parameter] public string CompanyId { get; set; }
|
[Parameter] public string CompanyId { get; set; }
|
||||||
// Services
|
// Services
|
||||||
[Inject] private ILogger<AdvisorNewActivityPage> _logger { get; set; }
|
[Inject] private ILogger<CrmNewActivityPage> _logger { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private UserPreferenceService _userPrefs { get; set; }
|
[Inject] private UserPreferenceService _userPrefs { get; set; }
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
[Inject] private NavigationManager _navigator { get; set; }
|
[Inject] private NavigationManager _navigator { get; set; }
|
||||||
[Inject] private ILocalStorageService _storage { get; set; }
|
[Inject] private ILocalStorageService _storage { get; set; }
|
||||||
[Inject] private ISalesItemHttpRepository _itemRepo { get; set; }
|
[Inject] private ICatalogHttpRepository _itemRepo { get; set; }
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
[Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; }
|
||||||
[Inject] private IActivityHttpRepository _activityRepo { get; set; }
|
[Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; }
|
||||||
[Inject] private IReportHttpRepository _reportRepo { get; set; }
|
[Inject] private ICrmReportHttpRepository CrmReportRepo { get; set; }
|
||||||
// variables
|
// variables
|
||||||
private readonly JsonSerializerOptions? _options = new JsonSerializerOptions{PropertyNameCaseInsensitive = true};
|
private readonly JsonSerializerOptions? _options = new JsonSerializerOptions{PropertyNameCaseInsensitive = true};
|
||||||
private PriceListModal _priceListModal { get; set; }
|
private PriceListModal _priceListModal { get; set; }
|
||||||
|
@ -86,7 +86,7 @@ public partial class AdvisorNewActivityPage : IDisposable
|
||||||
_workDate = DateTime.Parse(_prefs.WorkDate);
|
_workDate = DateTime.Parse(_prefs.WorkDate);
|
||||||
_selectedDate = $"{_workDate:yyyy-MM-dd}";
|
_selectedDate = $"{_workDate:yyyy-MM-dd}";
|
||||||
// raise flag if report is closed
|
// raise flag if report is closed
|
||||||
_reportClosdd = await _reportRepo.ReportExist(_selectedDate);
|
_reportClosdd = await CrmReportRepo.ReportExist(_selectedDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
|
@ -183,7 +183,7 @@ public partial class AdvisorNewActivityPage : IDisposable
|
||||||
_selectedDate = workDate;
|
_selectedDate = workDate;
|
||||||
_workDate = DateTime.Parse(_selectedDate);
|
_workDate = DateTime.Parse(_selectedDate);
|
||||||
_draft.ActivityDate = _selectedDate;
|
_draft.ActivityDate = _selectedDate;
|
||||||
_reportClosdd = await _reportRepo.ReportExist(_selectedDate);
|
_reportClosdd = await CrmReportRepo.ReportExist(_selectedDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task CreateActivity()
|
private async Task CreateActivity()
|
||||||
|
@ -235,7 +235,8 @@ public partial class AdvisorNewActivityPage : IDisposable
|
||||||
Text = item.Item.Name,
|
Text = item.Item.Name,
|
||||||
ShortName = item.Item.ShortName,
|
ShortName = item.Item.ShortName,
|
||||||
LineNumber = ++ln,
|
LineNumber = ++ln,
|
||||||
Sas = item.Sas
|
Sas = item.Sas,
|
||||||
|
Location = item.Item.Location
|
||||||
})
|
})
|
||||||
.ToList();
|
.ToList();
|
||||||
_draft.Lines = lines;
|
_draft.Lines = lines;
|
||||||
|
@ -247,7 +248,7 @@ public partial class AdvisorNewActivityPage : IDisposable
|
||||||
// _toast.ShowInfo("Kunde telefon nummer er opdateret.");
|
// _toast.ShowInfo("Kunde telefon nummer er opdateret.");
|
||||||
}
|
}
|
||||||
// post to api
|
// post to api
|
||||||
var result = await _activityRepo.CreateActivity(_draft);
|
var result = await CrmActivityRepo.CreateActivity(_draft);
|
||||||
// show result message
|
// show result message
|
||||||
_toast.ShowSuccess($"{result.Message}.");
|
_toast.ShowSuccess($"{result.Message}.");
|
||||||
_selectedItem = new SalesItemView();
|
_selectedItem = new SalesItemView();
|
|
@ -36,13 +36,13 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages
|
namespace Wonky.Client.Pages
|
||||||
{
|
{
|
||||||
public partial class AdvisorNewCustomerPage : IDisposable
|
public partial class CrmNewCustomerPage : IDisposable
|
||||||
{
|
{
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
[Inject] private ILogger<AdvisorNewCustomerPage> _logger { get; set; }
|
[Inject] private ILogger<CrmNewCustomerPage> _logger { get; set; }
|
||||||
[Inject] private ILocalStorageService _storage { get; set; }
|
[Inject] private ILocalStorageService _storage { get; set; }
|
||||||
[Inject] private NavigationManager _navigator { get; set; }
|
[Inject] private NavigationManager _navigator { get; set; }
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
[Inject] private ICrmCompanyHttpRepository _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; }
|
||||||
private EditContext _editContext { get; set; }
|
private EditContext _editContext { get; set; }
|
|
@ -30,14 +30,14 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class AdvisorNewReportPage : IDisposable
|
public partial class CrmNewReportPage : IDisposable
|
||||||
{
|
{
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private UserPreferenceService _userPrefs { get; set; }
|
[Inject] private UserPreferenceService _userPrefs { get; set; }
|
||||||
[Inject] private IActivityHttpRepository _activityRepo { get; set; }
|
[Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; }
|
||||||
[Inject] private IReportHttpRepository _reportRepo { get; set; }
|
[Inject] private ICrmReportHttpRepository CrmReportRepo { get; set; }
|
||||||
[Inject] private NavigationManager _navigator { get; set; }
|
[Inject] private NavigationManager _navigator { get; set; }
|
||||||
[Inject] private ILogger<AdvisorNewReportPage> _logger { get; set; }
|
[Inject] private ILogger<CrmNewReportPage> _logger { get; set; }
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
private EditContext _editContext { get; set; }
|
private EditContext _editContext { get; set; }
|
||||||
private ReportDto _report { get; set; } = new();
|
private ReportDto _report { get; set; } = new();
|
||||||
|
@ -65,7 +65,7 @@ public partial class AdvisorNewReportPage : IDisposable
|
||||||
if (!string.IsNullOrWhiteSpace(_prefs.WorkDate))
|
if (!string.IsNullOrWhiteSpace(_prefs.WorkDate))
|
||||||
_workDate = DateTime.Parse(_prefs.WorkDate);
|
_workDate = DateTime.Parse(_prefs.WorkDate);
|
||||||
|
|
||||||
if(await _reportRepo.ReportExist(_prefs.WorkDate))
|
if(await CrmReportRepo.ReportExist(_prefs.WorkDate))
|
||||||
_navigator.NavigateTo($"/sales-reports/view/{_prefs.WorkDate}");
|
_navigator.NavigateTo($"/sales-reports/view/{_prefs.WorkDate}");
|
||||||
|
|
||||||
_leaveBegin = _workDate;
|
_leaveBegin = _workDate;
|
||||||
|
@ -133,7 +133,7 @@ public partial class AdvisorNewReportPage : IDisposable
|
||||||
_logger.LogDebug("_workDate => {workDate}", $"{_workDate:yyyy-MM-dd}");
|
_logger.LogDebug("_workDate => {workDate}", $"{_workDate:yyyy-MM-dd}");
|
||||||
_logger.LogDebug("_report => {report}", JsonSerializer.Serialize(_report));
|
_logger.LogDebug("_report => {report}", JsonSerializer.Serialize(_report));
|
||||||
|
|
||||||
var result = await _reportRepo.PostReport($"{_workDate:yyyy-MM-dd}", _report);
|
var result = await CrmReportRepo.PostReport($"{_workDate:yyyy-MM-dd}", _report);
|
||||||
await _userPrefs.SetKmMorning(0);
|
await _userPrefs.SetKmMorning(0);
|
||||||
|
|
||||||
_toast.ShowInfo($"Rapport oprettet {_workDate}");
|
_toast.ShowInfo($"Rapport oprettet {_workDate}");
|
||||||
|
@ -170,7 +170,7 @@ public partial class AdvisorNewReportPage : IDisposable
|
||||||
private async Task GetKeyFigures()
|
private async Task GetKeyFigures()
|
||||||
{
|
{
|
||||||
_working = true;
|
_working = true;
|
||||||
var data = await _reportRepo.InitializeReportData($"{_workDate:yyyy-MM-dd}");
|
var data = await CrmReportRepo.InitializeReportData($"{_workDate:yyyy-MM-dd}");
|
||||||
if(data.ReportClosed)
|
if(data.ReportClosed)
|
||||||
_navigator.NavigateTo($"/sales-reports/view/{_workDate:yyyy-MM-dd}");
|
_navigator.NavigateTo($"/sales-reports/view/{_workDate:yyyy-MM-dd}");
|
||||||
_noFigures = false;
|
_noFigures = false;
|
|
@ -25,13 +25,13 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class TaskItemListPage : IDisposable
|
public partial class CrmTaskItemListPage : IDisposable
|
||||||
{
|
{
|
||||||
[Inject] public UserPreferenceService UserPrefs { get; set; }
|
[Inject] public UserPreferenceService UserPrefs { get; set; }
|
||||||
[Inject] public ILogger<TaskItemListPage> Logger { get; set; }
|
[Inject] public ILogger<CrmTaskItemListPage> Logger { 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 ITaskItemHttpRepository _taskItemRepo { get; set; }
|
[Inject] private ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; }
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
private Preferences _prefs { get; set; } = new();
|
private Preferences _prefs { get; set; } = new();
|
||||||
private string _workDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}";
|
private string _workDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}";
|
||||||
|
@ -52,7 +52,7 @@ public partial class TaskItemListPage : IDisposable
|
||||||
private async Task GetTaskItems(string workDate)
|
private async Task GetTaskItems(string workDate)
|
||||||
{
|
{
|
||||||
_toast.ShowInfo("Vent nogle sekunder for data");
|
_toast.ShowInfo("Vent nogle sekunder for data");
|
||||||
_taskItems = await _taskItemRepo.GetTaskList(workDate);
|
_taskItems = await CrmTaskItemRepo.GetTaskList(workDate);
|
||||||
}
|
}
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
|
@ -24,11 +24,11 @@ using Wonky.Entity.DTO;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class TaskItemViewPage : IDisposable
|
public partial class CrmTaskItemViewPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string TaskItemId { get; set; }
|
[Parameter] public string TaskItemId { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private ITaskItemHttpRepository _taskItemRepo { get; set; }
|
[Inject] private ICrmTaskItemHttpRepository CrmTaskItemRepo { get; set; }
|
||||||
private TaskItemDto _taskItem = new ();
|
private TaskItemDto _taskItem = new ();
|
||||||
private EditContext _editContext { get; set; }
|
private EditContext _editContext { get; set; }
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ public partial class TaskItemViewPage : IDisposable
|
||||||
_interceptor.RegisterEvent();
|
_interceptor.RegisterEvent();
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
|
|
||||||
_taskItem = await _taskItemRepo.GetTaskItem(TaskItemId);
|
_taskItem = await CrmTaskItemRepo.GetTaskItem(TaskItemId);
|
||||||
Console.WriteLine(JsonSerializer.Serialize(_taskItem));
|
Console.WriteLine(JsonSerializer.Serialize(_taskItem));
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,13 +11,13 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class AdvisorViewActivityPage : IDisposable
|
public partial class CrmViewActivityPage : 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; } = "";
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private IActivityHttpRepository _activityRepo { get; set; }
|
[Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; }
|
||||||
[Inject] private ILogger<AdvisorViewActivityPage> _logger { get; set; }
|
[Inject] private ILogger<CrmViewActivityPage> _logger { get; set; }
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
private ReportItemView ReportItem { get; set; } = new();
|
private ReportItemView ReportItem { get; set; } = new();
|
||||||
private ActivityOfficeNote _note { get; set; } = new();
|
private ActivityOfficeNote _note { get; set; } = new();
|
||||||
|
@ -31,7 +31,7 @@ public partial class AdvisorViewActivityPage : IDisposable
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
OfficeNote = new EditContext(_note);
|
OfficeNote = new EditContext(_note);
|
||||||
OfficeNote.OnFieldChanged += HandleFieldChanged;
|
OfficeNote.OnFieldChanged += HandleFieldChanged;
|
||||||
ReportItem = await _activityRepo.GetReportItem(OrderId);
|
ReportItem = await CrmActivityRepo.GetReportItem(OrderId);
|
||||||
_note.ActivityId = ReportItem.ActivityId;
|
_note.ActivityId = ReportItem.ActivityId;
|
||||||
_note.OfficeNote = ReportItem.OfficeNote;
|
_note.OfficeNote = ReportItem.OfficeNote;
|
||||||
_logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(ReportItem));
|
_logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(ReportItem));
|
||||||
|
@ -46,7 +46,7 @@ public partial class AdvisorViewActivityPage : IDisposable
|
||||||
{
|
{
|
||||||
_disabled = true;
|
_disabled = true;
|
||||||
_logger.LogDebug("OfficeNote => \n {}", JsonSerializer.Serialize(_note));
|
_logger.LogDebug("OfficeNote => \n {}", JsonSerializer.Serialize(_note));
|
||||||
await _activityRepo.UpdateOfficeNote(_note);
|
await CrmActivityRepo.UpdateOfficeNote(_note);
|
||||||
_toast.ShowInfo($"{ReportItem.ESalesNumber} - notat opdateret");
|
_toast.ShowInfo($"{ReportItem.ESalesNumber} - notat opdateret");
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,14 +34,14 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class AdvisorViewCustomerPage : IDisposable
|
public partial class CrmViewCompanyPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
[Inject] private ILogger<AdvisorViewCustomerPage> _logger { get; set; }
|
[Inject] private ILogger<CrmViewCompanyPage> _logger { get; set; }
|
||||||
[Inject] private NavigationManager _navigator { get; set; }
|
[Inject] private NavigationManager _navigator { get; set; }
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
[Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; }
|
||||||
[Inject] private IHistoryHttpRepository _historyRepo { get; set; }
|
[Inject] private ICrmHistoryHttpRepository CrmHistoryRepo { 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 ILocalStorageService _storage { get; set; }
|
[Inject] private ILocalStorageService _storage { get; set; }
|
||||||
|
@ -191,6 +191,7 @@ public partial class AdvisorViewCustomerPage : IDisposable
|
||||||
_toast.ShowSuccess("Opdatering er afsendt. Der går nogle minutter inden data er opdateret.");
|
_toast.ShowSuccess("Opdatering er afsendt. Der går nogle minutter inden data er opdateret.");
|
||||||
_company = await _companyRepo.GetCompanyById(_company.CompanyId);
|
_company = await _companyRepo.GetCompanyById(_company.CompanyId);
|
||||||
_company.ValidVat = 1;
|
_company.ValidVat = 1;
|
||||||
|
_enableActivity = _company.ValidVat;
|
||||||
if (_virkRegInfo.States[0].State.ToLower() != "normal")
|
if (_virkRegInfo.States[0].State.ToLower() != "normal")
|
||||||
{
|
{
|
||||||
_company.HasFolded = 1;
|
_company.HasFolded = 1;
|
|
@ -21,10 +21,10 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class AdvisorViewReportPage
|
public partial class CrmViewReportPage
|
||||||
{
|
{
|
||||||
[Parameter] public string ReportDate { get; set; }
|
[Parameter] public string ReportDate { get; set; }
|
||||||
[Inject] private IReportHttpRepository _reportRepo { get; set; }
|
[Inject] private ICrmReportHttpRepository CrmReportRepo { get; set; }
|
||||||
[Inject] private NavigationManager _navigator { get; set; }
|
[Inject] private NavigationManager _navigator { get; set; }
|
||||||
private ReportView _report { get; set; } = new();
|
private ReportView _report { get; set; } = new();
|
||||||
private List<ReportItemView> _items { get; set; } = new ();
|
private List<ReportItemView> _items { get; set; } = new ();
|
||||||
|
@ -43,7 +43,7 @@ public partial class AdvisorViewReportPage
|
||||||
_items = new List<ReportItemView>();
|
_items = new List<ReportItemView>();
|
||||||
if(workDate != ReportDate)
|
if(workDate != ReportDate)
|
||||||
_navigator.NavigateTo($"/sales-reports/view/{workDate}");
|
_navigator.NavigateTo($"/sales-reports/view/{workDate}");
|
||||||
_report = await _reportRepo.GetReport(workDate);
|
_report = await CrmReportRepo.GetReport(workDate);
|
||||||
|
|
||||||
_items = _report.ReportItems.Where(x => x.Lines.Any()).ToList();
|
_items = _report.ReportItems.Where(x => x.Lines.Any()).ToList();
|
||||||
|
|
|
@ -5,13 +5,13 @@ using Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class WorkplaceDocumentListPage
|
public partial class CrmWorkplaceDocumentListPage
|
||||||
{
|
{
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Parameter] public string WorkplaceId { get; set; } = "";
|
[Parameter] public string WorkplaceId { get; set; } = "";
|
||||||
|
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private IWorkplaceHttpRepository _workplaceRepo { get; set; }
|
[Inject] private ICrmWorkplaceHttpRepository CrmWorkplaceRepo { get; set; }
|
||||||
|
|
||||||
protected override async Task OnParametersSetAsync()
|
protected override async Task OnParametersSetAsync()
|
||||||
{
|
{
|
|
@ -24,11 +24,11 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class WorkplaceListPage : IDisposable
|
public partial class CrmWorkplaceListPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Inject] private IWorkplaceHttpRepository _workplaceRepo { get; set; }
|
[Inject] private ICrmWorkplaceHttpRepository CrmWorkplaceRepo { get; set; }
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
[Inject] private ICrmCompanyHttpRepository _companyRepo { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
private List<WorkplaceListView> _workplaces { get; set; } = new();
|
private List<WorkplaceListView> _workplaces { get; set; } = new();
|
||||||
private CompanyDto _company { get; set; } = new();
|
private CompanyDto _company { get; set; } = new();
|
||||||
|
@ -42,7 +42,7 @@ public partial class WorkplaceListPage : IDisposable
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
_workplaces = await _workplaceRepo.GetWorkplaces(CompanyId);
|
_workplaces = await CrmWorkplaceRepo.GetWorkplaces(CompanyId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
|
@ -25,12 +25,12 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class WorkplaceViewPage : IDisposable
|
public partial class CrmWorkplaceViewPage : 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; } = "";
|
||||||
[Inject] private IWorkplaceHttpRepository _workplaceRepo { get; set; }
|
[Inject] private ICrmWorkplaceHttpRepository CrmWorkplaceRepo { get; set; }
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
[Inject] private ICrmCompanyHttpRepository _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; }
|
||||||
private WorkplaceDto _workplace { get; set; } = new();
|
private WorkplaceDto _workplace { get; set; } = new();
|
||||||
|
@ -40,7 +40,7 @@ public partial class WorkplaceViewPage : IDisposable
|
||||||
{
|
{
|
||||||
_interceptor.RegisterEvent();
|
_interceptor.RegisterEvent();
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
_workplace = await _workplaceRepo.GetWorkplace(CompanyId, WorkplaceId);
|
_workplace = await CrmWorkplaceRepo.GetWorkplace(CompanyId, WorkplaceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnInitialized()
|
protected override void OnInitialized()
|
||||||
|
@ -50,12 +50,12 @@ public partial class WorkplaceViewPage : IDisposable
|
||||||
|
|
||||||
private async Task SubmitUpdate()
|
private async Task SubmitUpdate()
|
||||||
{
|
{
|
||||||
await _workplaceRepo.UpdateWorkplace(CompanyId, _workplace);
|
await CrmWorkplaceRepo.UpdateWorkplace(CompanyId, _workplace);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task DeleteWorkplace()
|
private async Task DeleteWorkplace()
|
||||||
{
|
{
|
||||||
await _workplaceRepo.DeleteWorkplace(CompanyId, _workplace.WorkplaceId);
|
await CrmWorkplaceRepo.DeleteWorkplace(CompanyId, _workplace.WorkplaceId);
|
||||||
_navigator.NavigateTo($"/companies/{CompanyId}/workplaces");
|
_navigator.NavigateTo($"/companies/{CompanyId}/workplaces");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,56 +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 Wonky.Client.Components
|
|
||||||
@page "/admin/users/advisors/{CountryCode}/{UserId}/companies"
|
|
||||||
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-header bg-dark text-white">
|
|
||||||
<div class="card-title">
|
|
||||||
<h3>@UserInfoDto.FirstName @UserInfoDto.LastName Kunder</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
<div class="sticky-top bg-success bg-opacity-50 rounded-2 px-3">
|
|
||||||
<div class="container-fluid pt-3">
|
|
||||||
<div class="row mb-2">
|
|
||||||
<div class="col-md-3">
|
|
||||||
<CompanySearchColumnComponent OnChanged="SetSearchCol" />
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3">
|
|
||||||
<CompanySearchPhraseComponent SavedSearch="@_savedSearch" OnChanged="SetSearchPhrase" />
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3">
|
|
||||||
<CompanySortComponent OnChanged="SetSortCol" />
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3">
|
|
||||||
<PageSizeComponent OnChanged="SetPageSize" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row mb-2">
|
|
||||||
<div class="col-md-10">
|
|
||||||
<PaginationComponent MetaData="_metaData" Spread="2" SelectedPage="SelectedPage" />
|
|
||||||
</div>
|
|
||||||
<div class="col-md-2 justify-content-end">
|
|
||||||
<a class="btn btn-success" href="/companies/new">Opret kunde</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<AdvisorCustomerTableComponent Companies="_companyList" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -1,108 +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.Client.Services;
|
|
||||||
using Wonky.Entity.DTO;
|
|
||||||
using Wonky.Entity.Requests;
|
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
|
||||||
|
|
||||||
public partial class OfficeListAdvisorCustomerPage : IDisposable
|
|
||||||
{
|
|
||||||
[Parameter] public string CountryCode { get; set; } = "";
|
|
||||||
|
|
||||||
[Inject] private ILogger<OfficeListAdvisorCustomerPage> _logger { get; set; }
|
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
|
||||||
[Inject] private UserPreferenceService _preferenceService { get; set; }
|
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
|
||||||
private MetaData _metaData { get; set; } = new();
|
|
||||||
private CompanyPagingParams _paging = new();
|
|
||||||
private Preferences _preferences { get; set; } = new();
|
|
||||||
private string _savedSearch { get; set; } = "";
|
|
||||||
private UserInfoDto UserInfoDto { get; set; } = new();
|
|
||||||
private List<CompanyDto> _companyList { get; set; } = new();
|
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
|
||||||
{
|
|
||||||
// set preferences
|
|
||||||
_preferences = await _preferenceService.GetPreferences();
|
|
||||||
_paging.OrderBy = _preferences.CompanySort;
|
|
||||||
_paging.SearchColumn = _preferences.CompanySearch;
|
|
||||||
_paging.PageSize = Convert.ToInt32(_preferences.PageSize);
|
|
||||||
|
|
||||||
// load saved search
|
|
||||||
_savedSearch = _preferences.CompanyFilterPhrase;
|
|
||||||
_paging.SearchTerm = _savedSearch;
|
|
||||||
|
|
||||||
_interceptor.RegisterEvent();
|
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
|
||||||
// get companies
|
|
||||||
await GetCompanies();
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task GetCompanies()
|
|
||||||
{
|
|
||||||
_companyList = new List<CompanyDto>();
|
|
||||||
var pagingResponse = await _companyRepo.GetAllCustomersPaged(_paging);
|
|
||||||
_companyList = pagingResponse.Items;
|
|
||||||
_metaData = pagingResponse.MetaData;
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task SelectedPage(int page)
|
|
||||||
{
|
|
||||||
_companyList = new List<CompanyDto>();
|
|
||||||
_paging.PageNumber = page;
|
|
||||||
await GetCompanies();
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task SetSearchCol(string searchColumn)
|
|
||||||
{
|
|
||||||
_companyList = new List<CompanyDto>();
|
|
||||||
_paging.SearchColumn = searchColumn;
|
|
||||||
_paging.PageNumber = 1;
|
|
||||||
await GetCompanies();
|
|
||||||
}
|
|
||||||
private async Task SetPageSize(string pageSize)
|
|
||||||
{
|
|
||||||
_companyList = new List<CompanyDto>();
|
|
||||||
_paging.PageSize = Convert.ToInt32(pageSize);
|
|
||||||
_paging.PageNumber = 1;
|
|
||||||
await GetCompanies();
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task SetSearchPhrase(string searchTerm)
|
|
||||||
{
|
|
||||||
_savedSearch = searchTerm;
|
|
||||||
await _preferenceService.SetCompanyFilterPhrase(searchTerm);
|
|
||||||
_companyList = new List<CompanyDto>();
|
|
||||||
_paging.PageNumber = 1;
|
|
||||||
_paging.SearchTerm = searchTerm;
|
|
||||||
await GetCompanies();
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task SetSortCol(string orderBy)
|
|
||||||
{
|
|
||||||
_companyList = new List<CompanyDto>();
|
|
||||||
_paging.OrderBy = orderBy;
|
|
||||||
await GetCompanies();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Dispose() => _interceptor.DisposeEvent();
|
|
||||||
}
|
|
|
@ -26,7 +26,7 @@ public partial class OfficeListCrmUserPage : IDisposable
|
||||||
{
|
{
|
||||||
[Parameter] public string CountryCode { get; set; } = "";
|
[Parameter] public string CountryCode { get; set; } = "";
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private IUserHttpRepository _userRepo { get; set; }
|
[Inject] private IOfficeUserHttpRepository OfficeUserRepo { get; set; }
|
||||||
private List<UserListAdminView> _salesReps { get; set; } = new();
|
private List<UserListAdminView> _salesReps { get; set; } = new();
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ public partial class OfficeListCrmUserPage : IDisposable
|
||||||
{
|
{
|
||||||
_interceptor.RegisterEvent();
|
_interceptor.RegisterEvent();
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
var AdvisorList = await _userRepo.GetAdvisors();
|
var AdvisorList = await OfficeUserRepo.GetAdvisors();
|
||||||
_salesReps = AdvisorList
|
_salesReps = AdvisorList
|
||||||
.Where(x => x.CountryCode.ToLower() == CountryCode && Convert.ToInt32(x.SalesRep) < 100)
|
.Where(x => x.CountryCode.ToLower() == CountryCode && Convert.ToInt32(x.SalesRep) < 100)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
|
@ -24,6 +24,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<AdvisorCustomerTableComponent Companies="_companyList"></AdvisorCustomerTableComponent>
|
<OfficeCustomerTableComponent Companies="_companyList"></OfficeCustomerTableComponent>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -26,7 +26,7 @@ public partial class OfficeListReportPage : 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] private IAdminReportHttpRepository _reportRepo { get; set; }
|
[Inject] private IOfficeReportHttpRepository _reportRepo { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
private List<NgSalesReportListView> _reports { get; set; }
|
private List<NgSalesReportListView> _reports { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -17,10 +17,10 @@ public partial class OfficeNewOrderPage : IDisposable
|
||||||
[CascadingParameter] DraftStateProvider DraftStateProvider { get; set; }
|
[CascadingParameter] DraftStateProvider DraftStateProvider { get; set; }
|
||||||
[Parameter] public string CompanyId { get; set; }
|
[Parameter] public string CompanyId { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private ICompanyHttpRepository _companyRepo { get; set; }
|
[Inject] private IOfficeCustomerHttpRepository _companyRepo { get; set; }
|
||||||
[Inject] private IUserHttpRepository _userRepo { get; set; }
|
[Inject] private IOfficeUserHttpRepository OfficeUserRepo { get; set; }
|
||||||
[Inject] private ISalesItemHttpRepository _itemRepo { get; set; }
|
[Inject] private ICatalogHttpRepository _itemRepo { get; set; }
|
||||||
[Inject] private IActivityHttpRepository _activityRepo { get; set; }
|
[Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; }
|
||||||
[Inject] private ILogger<OfficeNewOrderPage> _logger { get; set; }
|
[Inject] private ILogger<OfficeNewOrderPage> _logger { get; set; }
|
||||||
private PriceListModal _priceList { get; set; } = new();
|
private PriceListModal _priceList { get; set; } = new();
|
||||||
private CompanyDto _company { get; set; } = new();
|
private CompanyDto _company { get; set; } = new();
|
||||||
|
@ -46,7 +46,7 @@ public partial class OfficeNewOrderPage : IDisposable
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
_userInfo = await _userRepo.GetAdvisorInfo(_company.SalesRepId);
|
_userInfo = await OfficeUserRepo.GetAdvisorInfo(_company.SalesRepId);
|
||||||
|
|
||||||
_editContext = new EditContext(_draft);
|
_editContext = new EditContext(_draft);
|
||||||
_editContext.OnFieldChanged += HandleFieldChanged;
|
_editContext.OnFieldChanged += HandleFieldChanged;
|
||||||
|
@ -118,7 +118,7 @@ public partial class OfficeNewOrderPage : IDisposable
|
||||||
|
|
||||||
private async Task CreateOrder()
|
private async Task CreateOrder()
|
||||||
{
|
{
|
||||||
await _activityRepo.CreateActivity(_draft);
|
await CrmActivityRepo.CreateActivity(_draft);
|
||||||
}
|
}
|
||||||
private async Task AddItem(SalesItemView salesItem)
|
private async Task AddItem(SalesItemView salesItem)
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,7 +30,7 @@ public partial class OfficeViewCrmUserPage : 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] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private IUserHttpRepository _userRepo { get; set; }
|
[Inject] private IOfficeUserHttpRepository OfficeUserRepo { get; set; }
|
||||||
[Inject] private ILogger<OfficeViewCrmUserPage> _logger { get; set; }
|
[Inject] private ILogger<OfficeViewCrmUserPage> _logger { get; set; }
|
||||||
[Inject] private NavigationManager _navigator { get; set; }
|
[Inject] private NavigationManager _navigator { get; set; }
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
|
@ -54,7 +54,7 @@ public partial class OfficeViewCrmUserPage : IDisposable
|
||||||
_interceptor.RegisterEvent();
|
_interceptor.RegisterEvent();
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
|
|
||||||
UserInfoDto = await _userRepo.GetAdvisorInfo(UserId);
|
UserInfoDto = await OfficeUserRepo.GetAdvisorInfo(UserId);
|
||||||
|
|
||||||
_updateInfo.Email = UserInfoDto.Email;
|
_updateInfo.Email = UserInfoDto.Email;
|
||||||
_updateInfo.CountryCode = UserInfoDto.CountryCode;
|
_updateInfo.CountryCode = UserInfoDto.CountryCode;
|
||||||
|
@ -71,7 +71,7 @@ public partial class OfficeViewCrmUserPage : IDisposable
|
||||||
private async Task UpdateAdvisor()
|
private async Task UpdateAdvisor()
|
||||||
{
|
{
|
||||||
_toast.ShowInfo("Sender data til server ...");
|
_toast.ShowInfo("Sender data til server ...");
|
||||||
await _userRepo.UpdateAdvisor(UserId, _updateInfo);
|
await OfficeUserRepo.UpdateAdvisor(UserId, _updateInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PwHandleFieldChanged(object sender, FieldChangedEventArgs e)
|
private void PwHandleFieldChanged(object sender, FieldChangedEventArgs e)
|
||||||
|
@ -95,7 +95,7 @@ public partial class OfficeViewCrmUserPage : IDisposable
|
||||||
|
|
||||||
private async Task SetPassword()
|
private async Task SetPassword()
|
||||||
{
|
{
|
||||||
await _userRepo.ResetUserPassword(UserId, _passwords.NewPassword, _passwords.ConfirmPassword);
|
await OfficeUserRepo.ResetUserPassword(UserId, _passwords.NewPassword, _passwords.ConfirmPassword);
|
||||||
_toast.ShowInfo("Password er nulstillet.");
|
_toast.ShowInfo("Password er nulstillet.");
|
||||||
_passwords.NewPassword = "";
|
_passwords.NewPassword = "";
|
||||||
_passwords.ConfirmPassword = "";
|
_passwords.ConfirmPassword = "";
|
||||||
|
|
|
@ -22,7 +22,7 @@ using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class OfficeViewAdvisorReportPage : IDisposable
|
public partial class OfficeViewReportPage : IDisposable
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Country code from url parameter
|
/// Country code from url parameter
|
||||||
|
@ -43,7 +43,7 @@ public partial class OfficeViewAdvisorReportPage : IDisposable
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Injected administrative report http repo
|
/// Injected administrative report http repo
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Inject] private IAdminReportHttpRepository _reportRepo { get; set; }
|
[Inject] private IOfficeReportHttpRepository _reportRepo { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Navigation Manager
|
/// Navigation Manager
|
||||||
/// </summary>
|
/// </summary>
|
|
@ -13,13 +13,13 @@ public partial class OfficeViewSalesActivityPage
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Parameter] public string OrderId { get; set; } = "";
|
[Parameter] public string OrderId { get; set; } = "";
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private IActivityHttpRepository _activityRepo { get; set; }
|
[Inject] private ICrmActivityHttpRepository CrmActivityRepo { get; set; }
|
||||||
private ReportItemView _item { get; set; } = new();
|
private ReportItemView _item { get; set; } = new();
|
||||||
|
|
||||||
protected override async Task OnParametersSetAsync()
|
protected override async Task OnParametersSetAsync()
|
||||||
{
|
{
|
||||||
_interceptor.RegisterEvent();
|
_interceptor.RegisterEvent();
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
_item = await _activityRepo.GetReportItem(OrderId);
|
_item = await CrmActivityRepo.GetReportItem(OrderId);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -32,7 +32,7 @@ namespace Wonky.Client.Pages;
|
||||||
public partial class SalesCatalogPage : IDisposable
|
public partial class SalesCatalogPage : IDisposable
|
||||||
{
|
{
|
||||||
[Inject] private ILocalStorageService _storage { get; set; }
|
[Inject] private ILocalStorageService _storage { get; set; }
|
||||||
[Inject] private ISalesItemHttpRepository _itemRepo { get; set; }
|
[Inject] private ICatalogHttpRepository _itemRepo { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private UserPreferenceService _preferenceService { get; set; }
|
[Inject] private UserPreferenceService _preferenceService { get; set; }
|
||||||
private List<SalesItemView> _items { get; set; } = new();
|
private List<SalesItemView> _items { get; set; } = new();
|
||||||
|
|
|
@ -70,6 +70,7 @@
|
||||||
<table class="table table-striped">
|
<table class="table table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
<th scope="col">Placering</th>
|
||||||
<th scope="col">Antal</th>
|
<th scope="col">Antal</th>
|
||||||
<th scope="col">Varenr</th>
|
<th scope="col">Varenr</th>
|
||||||
<th scope="col">Beskrivelse</th>
|
<th scope="col">Beskrivelse</th>
|
||||||
|
@ -79,6 +80,7 @@
|
||||||
@foreach (var line in _order.Lines)
|
@foreach (var line in _order.Lines)
|
||||||
{
|
{
|
||||||
<tr>
|
<tr>
|
||||||
|
<td class="fw-bold">@line.Location</td>
|
||||||
<td>@line.Quantity</td>
|
<td>@line.Quantity</td>
|
||||||
<td>@line.Sku</td>
|
<td>@line.Sku</td>
|
||||||
<td>
|
<td>
|
||||||
|
@ -99,22 +101,22 @@
|
||||||
}
|
}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<a class="btn btn-lg btn-primary text-nowrap" href="/warehouse/orders">Oversigt</a>
|
<a class="btn btn-outline-primary text-nowrap" href="/warehouse/orders/none">Oversigt</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
@if (_order.ProcessStatusEnum.ToLower() == "none")
|
@if (_order.ProcessStatusEnum.ToLower() == "none")
|
||||||
{
|
{
|
||||||
<button class="btn btn-lg btn-primary text-nowrap" type="button" @onclick="SetProcessStatusPicked">Sæt status plukket</button>
|
<button class="btn btn-lg btn-warning text-nowrap" type="button" @onclick="SetProcessStatusPicked">Sæt status plukket</button>
|
||||||
}
|
}
|
||||||
@if (_order.ProcessStatusEnum.ToLower() == "picked")
|
@if (_order.ProcessStatusEnum.ToLower() == "picked")
|
||||||
{
|
{
|
||||||
<button class="btn btn-lg btn-primary text-nowrap" type="button" @onclick="SetProcessStatusPacked">Sæt status pakket</button>
|
<button class="btn btn-lg btn-success text-nowrap" type="button" @onclick="SetProcessStatusPacked">Sæt status pakket</button>
|
||||||
}
|
}
|
||||||
@if (_order.ProcessStatusEnum.ToLower() == "packed")
|
@if (_order.ProcessStatusEnum.ToLower() == "packed")
|
||||||
{
|
{
|
||||||
<button class="btn btn-lg btn-primary text-nowrap" type="button" @onclick="SetProcessStatusShipped">Sæt status afsendt</button>
|
<button class="btn btn-lg btn-dark text-nowrap" type="button" @onclick="SetProcessStatusShipped">Sæt status afsendt</button>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
|
using System.Text.Json;
|
||||||
using Blazored.Toast.Services;
|
using Blazored.Toast.Services;
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
using Wonky.Client.HttpInterceptors;
|
using Wonky.Client.HttpInterceptors;
|
||||||
|
@ -30,6 +31,7 @@ public partial class WarehouseOrderViewPage : IDisposable
|
||||||
[Inject] private IWarehouseHttpRepository _warehouseRepo { get; set; }
|
[Inject] private IWarehouseHttpRepository _warehouseRepo { get; set; }
|
||||||
[Inject] private NavigationManager _navigator { get; set; }
|
[Inject] private NavigationManager _navigator { get; set; }
|
||||||
[Inject] private IToastService _toast { get; set; }
|
[Inject] private IToastService _toast { get; set; }
|
||||||
|
[Inject] private ILogger<WarehouseOrderViewPage> _logger { get; set; }
|
||||||
|
|
||||||
private WarehouseOrderView _order { get; set; } = new();
|
private WarehouseOrderView _order { get; set; } = new();
|
||||||
private bool Loading { get; set; }
|
private bool Loading { get; set; }
|
||||||
|
@ -40,6 +42,8 @@ public partial class WarehouseOrderViewPage : IDisposable
|
||||||
_interceptor.RegisterBeforeSendEvent();
|
_interceptor.RegisterBeforeSendEvent();
|
||||||
if (!string.IsNullOrWhiteSpace(OrderId))
|
if (!string.IsNullOrWhiteSpace(OrderId))
|
||||||
_order = await _warehouseRepo.GetWarehouseOrder(OrderId);
|
_order = await _warehouseRepo.GetWarehouseOrder(OrderId);
|
||||||
|
|
||||||
|
_logger.LogDebug("Warehouse OrderView =>\n{}", JsonSerializer.Serialize(_order));
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task SetProcessStatusPicked()
|
private async Task SetProcessStatusPicked()
|
||||||
|
|
|
@ -53,16 +53,20 @@ builder.Services.AddHttpClientInterceptor();
|
||||||
builder.Services.Configure<ApiConfig>(builder.Configuration.GetSection("ApiConfig"));
|
builder.Services.Configure<ApiConfig>(builder.Configuration.GetSection("ApiConfig"));
|
||||||
builder.Services.Configure<AppInfo>(builder.Configuration.GetSection("AppInfo"));
|
builder.Services.Configure<AppInfo>(builder.Configuration.GetSection("AppInfo"));
|
||||||
|
|
||||||
builder.Services.AddScoped<ICompanyHttpRepository, CompanyHttpRepository>();
|
builder.Services.AddScoped<ICatalogHttpRepository, CatalogHttpRepository>();
|
||||||
builder.Services.AddScoped<ISalesItemHttpRepository, SalesItemHttpRepository>();
|
|
||||||
builder.Services.AddScoped<IActivityHttpRepository, ActivityHttpRepository>();
|
builder.Services.AddScoped<ICrmCompanyHttpRepository, CrmCompanyHttpRepository>();
|
||||||
builder.Services.AddScoped<IReportHttpRepository, ReportHttpRepository>();
|
builder.Services.AddScoped<ICrmActivityHttpRepository, CrmActivityHttpRepository>();
|
||||||
builder.Services.AddScoped<ITaskItemHttpRepository, TaskItemHttpRepository>();
|
builder.Services.AddScoped<ICrmReportHttpRepository, CrmReportHttpRepository>();
|
||||||
builder.Services.AddScoped<IHistoryHttpRepository, HistoryHttpRepository>();
|
builder.Services.AddScoped<ICrmTaskItemHttpRepository, CrmTaskItemHttpRepository>();
|
||||||
builder.Services.AddScoped<IUserHttpRepository, UserHttpRepository>();
|
builder.Services.AddScoped<ICrmHistoryHttpRepository, CrmHistoryHttpRepository>();
|
||||||
builder.Services.AddScoped<IAdminReportHttpRepository, AdminReportHttpRepository>();
|
builder.Services.AddScoped<ICrmWorkplaceHttpRepository, CrmWorkplaceHttpRepository>();
|
||||||
|
|
||||||
|
builder.Services.AddScoped<IOfficeUserHttpRepository, OfficeUserHttpRepository>();
|
||||||
|
builder.Services.AddScoped<IOfficeReportHttpRepository, OfficeReportHttpRepository>();
|
||||||
|
builder.Services.AddScoped<IOfficeCustomerHttpRepository, OfficeCustomerHttpRepository>();
|
||||||
|
|
||||||
builder.Services.AddScoped<IWarehouseHttpRepository, WarehouseHttpRepository>();
|
builder.Services.AddScoped<IWarehouseHttpRepository, WarehouseHttpRepository>();
|
||||||
builder.Services.AddScoped<IWorkplaceHttpRepository, WorkplaceHttpRepository>();
|
|
||||||
|
|
||||||
builder.Services.AddScoped<HttpInterceptorService>();
|
builder.Services.AddScoped<HttpInterceptorService>();
|
||||||
builder.Services.AddBlazoredLocalStorage();
|
builder.Services.AddBlazoredLocalStorage();
|
||||||
|
|
|
@ -56,7 +56,7 @@ namespace Wonky.Client.Services
|
||||||
};
|
};
|
||||||
|
|
||||||
var response = await _client
|
var response = await _client
|
||||||
.PostAsync(_apiConfig.Value.CrmAuth, new FormUrlEncodedContent(credForm));
|
.PostAsync(_apiConfig.Value.Token, new FormUrlEncodedContent(credForm));
|
||||||
|
|
||||||
var resContent = await response.Content.ReadAsStringAsync();
|
var resContent = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ namespace Wonky.Client.Services
|
||||||
["grant_type"] = "refresh_token",
|
["grant_type"] = "refresh_token",
|
||||||
["refresh_token"] = refreshToken
|
["refresh_token"] = refreshToken
|
||||||
};
|
};
|
||||||
var response = await _client.PostAsync(_apiConfig.Value.CrmAuth, new FormUrlEncodedContent(credentials));
|
var response = await _client.PostAsync(_apiConfig.Value.Token, new FormUrlEncodedContent(credentials));
|
||||||
if (!response.IsSuccessStatusCode)
|
if (!response.IsSuccessStatusCode)
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ namespace Wonky.Client.Services
|
||||||
|
|
||||||
public async Task<UserInfoView> UserInfo(bool write = false)
|
public async Task<UserInfoView> UserInfo(bool write = false)
|
||||||
{
|
{
|
||||||
var infoResponse = await _client.GetAsync(_apiConfig.Value.CrmUser);
|
var infoResponse = await _client.GetAsync(_apiConfig.Value.UserInfo);
|
||||||
var infoContent = await infoResponse.Content.ReadAsStringAsync();
|
var infoContent = await infoResponse.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
_logger.LogDebug("UserInfo <= {}", infoContent);
|
_logger.LogDebug("UserInfo <= {}", infoContent);
|
||||||
|
|
|
@ -30,7 +30,7 @@ public partial class PriceListModal : IDisposable
|
||||||
private bool _showBackdrop;
|
private bool _showBackdrop;
|
||||||
private List<SalesItemView> _items { get; set; } = new();
|
private List<SalesItemView> _items { get; set; } = new();
|
||||||
[Parameter] public EventCallback<SelectedSku> OnSelected { get; set; }
|
[Parameter] public EventCallback<SelectedSku> OnSelected { get; set; }
|
||||||
[Inject] private ISalesItemHttpRepository _itemRepo { get; set; }
|
[Inject] private ICatalogHttpRepository _itemRepo { get; set; }
|
||||||
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
[Inject] private HttpInterceptorService _interceptor { get; set; }
|
||||||
[Inject] private UserPreferenceService _preferenceService { get; set; }
|
[Inject] private UserPreferenceService _preferenceService { get; set; }
|
||||||
private MetaData? _metaData { get; set; } = new();
|
private MetaData? _metaData { get; set; } = new();
|
||||||
|
|
|
@ -29,7 +29,7 @@ public partial class ProductHistoryModal
|
||||||
// [Parameter] public EventCallback<decimal> OnSelected { get; set; }
|
// [Parameter] public EventCallback<decimal> OnSelected { get; set; }
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Parameter] public string ItemSku { get; set; } = "";
|
[Parameter] public string ItemSku { get; set; } = "";
|
||||||
[Inject] public IHistoryHttpRepository _historyRepo { get; set; }
|
[Inject] public ICrmHistoryHttpRepository CrmHistoryRepo { get; set; }
|
||||||
private List<ProductHistoryView> History { get; set; }
|
private List<ProductHistoryView> History { get; set; }
|
||||||
private string ProductName { get; set; } = "";
|
private string ProductName { get; set; } = "";
|
||||||
private string _modalDisplay = "";
|
private string _modalDisplay = "";
|
||||||
|
@ -37,7 +37,7 @@ public partial class ProductHistoryModal
|
||||||
|
|
||||||
protected override async Task OnParametersSetAsync()
|
protected override async Task OnParametersSetAsync()
|
||||||
{
|
{
|
||||||
History = await _historyRepo.FetchHistory(CompanyId, ItemSku);
|
History = await CrmHistoryRepo.FetchHistory(CompanyId, ItemSku);
|
||||||
if (History.Any())
|
if (History.Any())
|
||||||
{
|
{
|
||||||
ProductName = History[0].Description;
|
ProductName = History[0].Description;
|
||||||
|
|
|
@ -29,7 +29,7 @@ public partial class ProductPriceHistoryModal
|
||||||
[Parameter] public EventCallback<decimal> OnSelected { get; set; }
|
[Parameter] public EventCallback<decimal> OnSelected { get; set; }
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
[Parameter] public string ItemSku { get; set; } = "";
|
[Parameter] public string ItemSku { get; set; } = "";
|
||||||
[Inject] public IHistoryHttpRepository _historyRepo { get; set; }
|
[Inject] public ICrmHistoryHttpRepository CrmHistoryRepo { get; set; }
|
||||||
private List<ProductHistoryView> History { get; set; }
|
private List<ProductHistoryView> History { get; set; }
|
||||||
private string ProductName { get; set; } = "";
|
private string ProductName { get; set; } = "";
|
||||||
private string _modalDisplay = "";
|
private string _modalDisplay = "";
|
||||||
|
@ -40,7 +40,7 @@ public partial class ProductPriceHistoryModal
|
||||||
if (string.IsNullOrWhiteSpace(ItemSku))
|
if (string.IsNullOrWhiteSpace(ItemSku))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
History = await _historyRepo.FetchHistory(CompanyId, ItemSku);
|
History = await CrmHistoryRepo.FetchHistory(CompanyId, ItemSku);
|
||||||
if (History.Any())
|
if (History.Any())
|
||||||
{
|
{
|
||||||
ProductName = History[0].Description;
|
ProductName = History[0].Description;
|
||||||
|
|
|
@ -1,32 +1,34 @@
|
||||||
{
|
{
|
||||||
"appInfo": {
|
"appInfo": {
|
||||||
"name": "Wonky Client",
|
"name": "Wonky Client",
|
||||||
"version": "0.15.2",
|
"version": "0.16.1",
|
||||||
"rc": false,
|
"rc": true,
|
||||||
"sandBox": false,
|
"sandBox": true,
|
||||||
"image": "grumpy-coder.png"
|
"image": "grumpy-coder.png"
|
||||||
},
|
},
|
||||||
"apiConfig": {
|
"apiConfig": {
|
||||||
"innoBaseUrl": "https://app.innotec.dk",
|
"innoBaseUrl": "https://dev.innotec.dk",
|
||||||
"glsTrackUrl": "https://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/DK01/DA/5004.htm?txtAction=71000&txtRefNo=",
|
"glsTrackUrl": "https://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/DK01/DA/5004.htm?txtAction=71000&txtRefNo=",
|
||||||
"glsId": "",
|
"glsId": "",
|
||||||
"serviceVirk": "api/v2/services/virk",
|
"serviceVirk": "api/v2/services/virk",
|
||||||
"serviceBrReg": "api/v2/services/brReg",
|
"serviceBrReg": "api/v2/services/brReg",
|
||||||
"serviceVies": "api/v2/services/vies",
|
"serviceVies": "api/v2/services/vies",
|
||||||
"crmAuth": "token",
|
"Token": "token",
|
||||||
"crmUser": "api/auth/userinfo",
|
"UserInfo": "api/auth/userinfo",
|
||||||
"crmCatalog": "api/v2/crm/catalog",
|
"Catalog": "api/v2/catalog",
|
||||||
"crmSale": "api/v2/crm/advisors/sales",
|
"crmSales": "api/v2/crm/advisors/sales",
|
||||||
"crmReport": "api/v2/crm/advisors/reports",
|
"crmReports": "api/v2/crm/advisors/reports",
|
||||||
"crmTask": "api/v2/crm/advisors/tasks",
|
"crmTasks": "api/v2/crm/advisors/tasks",
|
||||||
"crmCustomer": "api/v2/crm/companies",
|
"crmCustomers": "api/v2/crm/companies",
|
||||||
"crmInventory": "history/inventory",
|
"crmInventory": "history/inventory",
|
||||||
"crmProduct": "history/products",
|
"crmProducts": "history/products",
|
||||||
"crmSync": "history/sync",
|
"crmSync": "history/sync",
|
||||||
"crmWorkplace": "workplaces",
|
"crmWorkplaces": "workplaces",
|
||||||
"adminUser": "api/v2/admin/users/advisors",
|
"officeAdvisors": "api/v2/office/users/advisors",
|
||||||
"adminOffice": "api/v2/admin/users/office",
|
"officeUsers": "api/v2/office/users/office",
|
||||||
"adminPasswd": "api/v2/admin/users/passwd",
|
"officeUserPasswd": "api/v2/office/users/passwd",
|
||||||
|
"officeCustomers": "api/v2/office/customers",
|
||||||
|
"officeReports": "api/v2/office/reports",
|
||||||
"warehouse": "api/v2/warehouse/orders"
|
"warehouse": "api/v2/warehouse/orders"
|
||||||
},
|
},
|
||||||
"Logging": {
|
"Logging": {
|
||||||
|
|
|
@ -49,37 +49,37 @@ public class ApiConfig
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for token request
|
/// Application uri for token request
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CrmAuth { get; set; } = "";
|
public string Token { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for user information request
|
/// Application uri for user information request
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CrmUser { get; set; } = "";
|
public string UserInfo { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for product catalog request
|
/// Application uri for product catalog request
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CrmCatalog { get; set; } = "";
|
public string Catalog { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for activity request
|
/// Application uri for activity request
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CrmSale { get; set; } = "";
|
public string CrmSales { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for sales report request
|
/// Application uri for sales report request
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CrmReport { get; set; } = "";
|
public string CrmReports { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for task items request
|
/// Application uri for task items request
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CrmTask { get; set; } = "";
|
public string CrmTasks { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for customer information request
|
/// Application uri for customer information request
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CrmCustomer { get; set; } = "";
|
public string CrmCustomers { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for customer product inventory request
|
/// Application uri for customer product inventory request
|
||||||
|
@ -89,7 +89,7 @@ public class ApiConfig
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for customer product sale request
|
/// Application uri for customer product sale request
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CrmProduct { get; set; } = "";
|
public string CrmProducts { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for updating customer product sale request
|
/// Application uri for updating customer product sale request
|
||||||
|
@ -99,28 +99,39 @@ public class ApiConfig
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for getting workplace(s)
|
/// Application uri for getting workplace(s)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CrmWorkplace { get; set; } = "";
|
public string CrmWorkplaces { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for administration of sales representatives
|
/// Application uri for administration of sales representatives
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string AdminUser { get; set; } = "";
|
public string OfficeAdvisors { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for administration of administrative users
|
/// Application uri for administration of administrative users
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string AdminOffice { get; set; } = "";
|
public string OfficeUsers { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Application uri for administrative reset of user credentials
|
/// Application uri for administrative reset of user credentials
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string AdminPasswd { get; set; } = "";
|
public string OfficeUserPasswd { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// office uri for customer requests
|
||||||
|
/// </summary>
|
||||||
|
public string OfficeCustomers { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// office uri for reports
|
||||||
|
/// </summary>
|
||||||
|
public string OfficeReports { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Uri for warehouse requests
|
/// Uri for warehouse requests
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Warehouse { get; set; } = "";
|
public string Warehouse { get; set; } = "";
|
||||||
|
|
||||||
|
|
||||||
// /// <summary>
|
// /// <summary>
|
||||||
// /// Application uri for reading salesReports
|
// /// Application uri for reading salesReports
|
||||||
// /// </summary>
|
// /// </summary>
|
||||||
|
|
|
@ -61,4 +61,9 @@ public class ActivityLineDto
|
||||||
/// Sas indicator
|
/// Sas indicator
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool Sas { get; set; }
|
public bool Sas { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// warehouse pick location
|
||||||
|
/// </summary>
|
||||||
|
public string Location { get; set; } = "";
|
||||||
}
|
}
|
|
@ -49,4 +49,8 @@ public class ReportItemLine
|
||||||
/// Flag line as picked
|
/// Flag line as picked
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool Picked { get; set; }
|
public bool Picked { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Warehouse pick location
|
||||||
|
/// </summary>
|
||||||
|
public string Location { get; set; } = "";
|
||||||
}
|
}
|
|
@ -24,5 +24,6 @@ public class SalesItemView
|
||||||
public string ShortName { get; set; } = "";
|
public string ShortName { get; set; } = "";
|
||||||
public string ProductGroup { get; set; } = "";
|
public string ProductGroup { get; set; } = "";
|
||||||
public string PictureLink { get; set; } = "";
|
public string PictureLink { get; set; } = "";
|
||||||
|
public string Location { get; set; } = "";
|
||||||
public List<SalesRateView> Rates { get; set; } = new();
|
public List<SalesRateView> Rates { get; set; } = new();
|
||||||
}
|
}
|
|
@ -22,11 +22,6 @@ public class WarehouseOrderView
|
||||||
/// Customer company info
|
/// Customer company info
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ReportItemCustomer Company { get; set; } = new();
|
public ReportItemCustomer Company { get; set; } = new();
|
||||||
/// <summary>
|
|
||||||
/// Lines
|
|
||||||
/// </summary>
|
|
||||||
public List<ReportItemLine> Lines { get; set; } = new();
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Entity id (reference to SalesHeadId)
|
/// Entity id (reference to SalesHeadId)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -63,4 +58,8 @@ public class WarehouseOrderView
|
||||||
/// express flag
|
/// express flag
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool Express { get; set; }
|
public bool Express { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Lines
|
||||||
|
/// </summary>
|
||||||
|
public List<ReportItemLine> Lines { get; set; } = new();
|
||||||
}
|
}
|
Loading…
Reference in a new issue