Supervisor functionality
This commit is contained in:
parent
defb654022
commit
a03af89686
136 changed files with 994 additions and 436 deletions
|
@ -13,6 +13,7 @@
|
||||||
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
||||||
*@
|
*@
|
||||||
|
|
||||||
|
@using Wonky.Client.Pages
|
||||||
|
|
||||||
<CascadingAuthenticationState>
|
<CascadingAuthenticationState>
|
||||||
<DraftStateProvider>
|
<DraftStateProvider>
|
||||||
|
@ -30,7 +31,7 @@
|
||||||
</Found>
|
</Found>
|
||||||
<NotFound>
|
<NotFound>
|
||||||
<LayoutView Layout="@typeof(MainLayout)">
|
<LayoutView Layout="@typeof(MainLayout)">
|
||||||
<Page404/>
|
<ErrorPage404 />
|
||||||
</LayoutView>
|
</LayoutView>
|
||||||
</NotFound>
|
</NotFound>
|
||||||
</Router>
|
</Router>
|
||||||
|
|
|
@ -29,7 +29,7 @@ namespace Wonky.Client.Components;
|
||||||
|
|
||||||
public partial class AdvisorCustomerListComponent
|
public partial class AdvisorCustomerListComponent
|
||||||
{
|
{
|
||||||
[Parameter] public List<CompanyDto> CompanyList { get; set; } = new();
|
[Parameter] public List<CompanyModel> CompanyList { get; set; } = new();
|
||||||
[Parameter] public EventCallback<string> OnDelete { get; set; }
|
[Parameter] public EventCallback<string> OnDelete { get; set; }
|
||||||
[Parameter] public EventCallback<string> OnSelect { get; set; }
|
[Parameter] public EventCallback<string> OnSelect { get; set; }
|
||||||
[Inject] public NavigationManager Navigator { get; set; }
|
[Inject] public NavigationManager Navigator { get; set; }
|
||||||
|
|
|
@ -87,6 +87,6 @@
|
||||||
@code{
|
@code{
|
||||||
|
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public ReportFiguresDto ReportData { get; set; } = new();
|
public ReportFiguresModel ReportData { get; set; } = new();
|
||||||
|
|
||||||
}
|
}
|
|
@ -32,7 +32,7 @@ public partial class CatalogGroupComponent
|
||||||
|
|
||||||
private async Task OnSelectionChanged(ChangeEventArgs e)
|
private async Task OnSelectionChanged(ChangeEventArgs e)
|
||||||
{
|
{
|
||||||
var val = e.Value.ToString();
|
var val = e.Value!.ToString();
|
||||||
if (val == "-1") return;
|
if (val == "-1") return;
|
||||||
await OnChanged.InvokeAsync(val);
|
await OnChanged.InvokeAsync(val);
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,10 +15,11 @@
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
using Wonky.Entity.DTO;
|
using Wonky.Entity.DTO;
|
||||||
|
using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.Components;
|
namespace Wonky.Client.Components;
|
||||||
|
|
||||||
public partial class OfficeCountryAdvisorListComponent
|
public partial class OfficeCountryAdvisorListComponent
|
||||||
{
|
{
|
||||||
[Parameter] public List<UserManagerListView> UserList { get; set; } = new();
|
[Parameter] public List<UserInfoListView> UserList { get; set; } = new();
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@ public partial class OfficeCountryCustomerListComponent
|
||||||
// ******************************************************
|
// ******************************************************
|
||||||
// parameters
|
// parameters
|
||||||
[Parameter] public string CountryCode { get; set; } = "";
|
[Parameter] public string CountryCode { get; set; } = "";
|
||||||
[Parameter] public List<CompanyDto> CompanyList { get; set; } = new();
|
[Parameter] public List<CompanyModel> CompanyList { get; set; } = new();
|
||||||
// [Parameter] public EventCallback<DraftItem> OnOrderItem { get; set; }
|
// [Parameter] public EventCallback<DraftItem> OnOrderItem { get; set; }
|
||||||
[CascadingParameter] public DraftStateProvider DraftProvider { get; set; }
|
[CascadingParameter] public DraftStateProvider DraftProvider { get; set; }
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ public partial class OfficeCountryCustomerListComponent
|
||||||
private InvoiceListView InvoiceList { get; set; } = new();
|
private InvoiceListView InvoiceList { get; set; } = new();
|
||||||
private List<ReportItemView> ActivityList { get; set; } = new();
|
private List<ReportItemView> ActivityList { get; set; } = new();
|
||||||
private List<ProductInventoryView> ProductList { get; set; } = new();
|
private List<ProductInventoryView> ProductList { get; set; } = new();
|
||||||
private CompanyDto SelectedCompany { get; set; } = new();
|
private CompanyModel SelectedCompany { get; set; } = new();
|
||||||
|
|
||||||
// ******************************************************
|
// ******************************************************
|
||||||
// functions
|
// functions
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
|
|
||||||
@using Wonky.Client.Helpers
|
@using Wonky.Client.Helpers
|
||||||
@using Wonky.Client.Helpers
|
|
||||||
@if (ActivityList.Any())
|
@if (ActivityList.Any())
|
||||||
{
|
{
|
||||||
<table class="table table-sm table-bordered d-print-table table-striped">
|
<table class="table table-sm table-bordered d-print-table table-striped">
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="bg-dark text-white opacity-75 border-bottom">
|
<tr class="bg-dark text-white opacity-75 border-bottom">
|
||||||
<th></th>
|
<th></th>
|
||||||
<th class="text-center" colspan="2" scope="col">Dagens Demo @(ReportData.NewDemoCount + ReportData.RecallDemoCount)</th>
|
<th class="text-center" colspan="2" scope="col">Dagens Demo @(ReportDataView.NewDemoCount + ReportDataView.RecallDemoCount)</th>
|
||||||
<th class="text-center border-end" colspan="2" scope="col">Dagens Resultat</th>
|
<th class="text-center border-end" colspan="2" scope="col">Dagens Resultat</th>
|
||||||
<th class="text-center" colspan="4" scope="col">Måneds Resultat</th>
|
<th class="text-center" colspan="4" scope="col">Måneds Resultat</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -40,47 +40,47 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">N</th>
|
<th scope="row">N</th>
|
||||||
<td class="text-end">@ReportData.NewVisitCount</td>
|
<td class="text-end">@ReportDataView.NewVisitCount</td>
|
||||||
<td class="text-end">@ReportData.NewDemoCount</td>
|
<td class="text-end">@ReportDataView.NewDemoCount</td>
|
||||||
<td class="text-end">@ReportData.NewSaleCount</td>
|
<td class="text-end">@ReportDataView.NewSaleCount</td>
|
||||||
<td class="text-end border-end">@ReportData.NewTurnover</td>
|
<td class="text-end border-end">@ReportDataView.NewTurnover</td>
|
||||||
<td class="text-end">@ReportData.NewVisitCountMonth</td>
|
<td class="text-end">@ReportDataView.NewVisitCountMonth</td>
|
||||||
<td class="text-end">@ReportData.NewDemoCountMonth</td>
|
<td class="text-end">@ReportDataView.NewDemoCountMonth</td>
|
||||||
<td class="text-end">@ReportData.NewSaleCountMonth</td>
|
<td class="text-end">@ReportDataView.NewSaleCountMonth</td>
|
||||||
<td class="text-end">@ReportData.NewTurnoverMonth</td>
|
<td class="text-end">@ReportDataView.NewTurnoverMonth</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">R</th>
|
<th scope="row">R</th>
|
||||||
<td class="text-end">@ReportData.RecallVisitCount</td>
|
<td class="text-end">@ReportDataView.RecallVisitCount</td>
|
||||||
<td class="text-end">@ReportData.RecallDemoCount</td>
|
<td class="text-end">@ReportDataView.RecallDemoCount</td>
|
||||||
<td class="text-end">@ReportData.RecallSaleCount</td>
|
<td class="text-end">@ReportDataView.RecallSaleCount</td>
|
||||||
<td class="text-end border-end">@ReportData.RecallTurnover</td>
|
<td class="text-end border-end">@ReportDataView.RecallTurnover</td>
|
||||||
<td class="text-end">@ReportData.RecallVisitCountMonth</td>
|
<td class="text-end">@ReportDataView.RecallVisitCountMonth</td>
|
||||||
<td class="text-end">@ReportData.RecallDemoCountMonth</td>
|
<td class="text-end">@ReportDataView.RecallDemoCountMonth</td>
|
||||||
<td class="text-end">@ReportData.RecallSaleCountMonth</td>
|
<td class="text-end">@ReportDataView.RecallSaleCountMonth</td>
|
||||||
<td class="text-end">@ReportData.RecallTurnoverMonth</td>
|
<td class="text-end">@ReportDataView.RecallTurnoverMonth</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">SAS</th>
|
<th scope="row">SAS</th>
|
||||||
<td class="bg-light"></td>
|
<td class="bg-light"></td>
|
||||||
<td class="bg-light"></td>
|
<td class="bg-light"></td>
|
||||||
<td class="text-end">@ReportData.SasCount</td>
|
<td class="text-end">@ReportDataView.SasCount</td>
|
||||||
<td class="text-end border-end">@ReportData.SasTurnover</td>
|
<td class="text-end border-end">@ReportDataView.SasTurnover</td>
|
||||||
<td class="bg-light"></td>
|
<td class="bg-light"></td>
|
||||||
<td class="bg-light"></td>
|
<td class="bg-light"></td>
|
||||||
<td class="text-end">@ReportData.SasCountMonth</td>
|
<td class="text-end">@ReportDataView.SasCountMonth</td>
|
||||||
<td class="text-end">@ReportData.SasTurnoverMonth</td>
|
<td class="text-end">@ReportDataView.SasTurnoverMonth</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">TOTAL</th>
|
<th scope="row">TOTAL</th>
|
||||||
<td class="text-end">@ReportData.TotalVisitCount</td>
|
<td class="text-end">@ReportDataView.TotalVisitCount</td>
|
||||||
<td class="text-end">@ReportData.TotalDemoCount</td>
|
<td class="text-end">@ReportDataView.TotalDemoCount</td>
|
||||||
<td class="text-end">@ReportData.TotalSaleCount</td>
|
<td class="text-end">@ReportDataView.TotalSaleCount</td>
|
||||||
<td class="text-end border-end">@ReportData.TotalTurnover</td>
|
<td class="text-end border-end">@ReportDataView.TotalTurnover</td>
|
||||||
<td class="text-end">@ReportData.TotalVisitCountMonth</td>
|
<td class="text-end">@ReportDataView.TotalVisitCountMonth</td>
|
||||||
<td class="text-end">@ReportData.TotalDemoCountMonth</td>
|
<td class="text-end">@ReportDataView.TotalDemoCountMonth</td>
|
||||||
<td class="text-end">@ReportData.TotalSaleCountMonth</td>
|
<td class="text-end">@ReportDataView.TotalSaleCountMonth</td>
|
||||||
<td class="text-end">@ReportData.TotalTurnoverMonth</td>
|
<td class="text-end">@ReportDataView.TotalTurnoverMonth</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -88,5 +88,5 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@code{
|
@code{
|
||||||
[Parameter] public ReportData ReportData { get; set; } = new();
|
[Parameter] public ReportDataView ReportDataView { get; set; } = new();
|
||||||
}
|
}
|
|
@ -26,27 +26,27 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">Aften</th>
|
<th scope="row">Aften</th>
|
||||||
<td class="text-end">@ReportData.KmEvening</td>
|
<td class="text-end">@ReportDataView.KmEvening</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">Morgen</th>
|
<th scope="row">Morgen</th>
|
||||||
<td class="text-end">@ReportData.KmMorning</td>
|
<td class="text-end">@ReportDataView.KmMorning</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">Kørt Dag</th>
|
<th scope="row">Kørt Dag</th>
|
||||||
<td class="text-end">@ReportData.Distance</td>
|
<td class="text-end">@ReportDataView.Distance</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">Kørt Md.</th>
|
<th scope="row">Kørt Md.</th>
|
||||||
<td class="text-end">@ReportData.DistanceMonth</td>
|
<td class="text-end">@ReportDataView.DistanceMonth</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">Privat</th>
|
<th scope="row">Privat</th>
|
||||||
<td class="text-end">@ReportData.DistancePrivate</td>
|
<td class="text-end">@ReportDataView.DistancePrivate</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">Privat Md.</th>
|
<th scope="row">Privat Md.</th>
|
||||||
<td class="text-end">@ReportData.DistancePrivateMonth</td>
|
<td class="text-end">@ReportDataView.DistancePrivateMonth</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -20,6 +20,6 @@ namespace Wonky.Client.Components;
|
||||||
|
|
||||||
public partial class ReportDistanceLedgerComponent
|
public partial class ReportDistanceLedgerComponent
|
||||||
{
|
{
|
||||||
[Parameter] public ReportData ReportData { get; set; } = new();
|
[Parameter] public ReportDataView ReportDataView { get; set; } = new();
|
||||||
|
|
||||||
}
|
}
|
|
@ -24,20 +24,20 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">Beskrivelse</th>
|
<th scope="row">Beskrivelse</th>
|
||||||
<td colspan="2">@ReportData.Description</td>
|
<td colspan="2">@ReportDataView.Description</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">Supervisor</th>
|
<th scope="row">Supervisor</th>
|
||||||
<td colspan="2">@ReportData.SupervisedBy</td>
|
<td colspan="2">@ReportDataView.SupervisedBy</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">Dækkende</th>
|
<th scope="row">Dækkende</th>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
@{
|
@{
|
||||||
switch (ReportData.DayTypeEnum)
|
switch (ReportDataView.DayTypeEnum)
|
||||||
{
|
{
|
||||||
case "Sales":
|
case "Sales":
|
||||||
<span>Salgsdag @ReportData.SalesDayNumber</span>
|
<span>Salgsdag @ReportDataView.SalesDayNumber</span>
|
||||||
break;
|
break;
|
||||||
case "SickLeave":
|
case "SickLeave":
|
||||||
<span>Sygefravær</span>
|
<span>Sygefravær</span>
|
||||||
|
@ -65,16 +65,16 @@
|
||||||
<th scope="row">Periode</th>
|
<th scope="row">Periode</th>
|
||||||
<td>
|
<td>
|
||||||
@{
|
@{
|
||||||
switch (ReportData.DayTypeEnum)
|
switch (ReportDataView.DayTypeEnum)
|
||||||
{
|
{
|
||||||
case "Sales":
|
case "Sales":
|
||||||
<span>@(ReportData.FromDateTime.Split(" ")[1])</span>
|
<span>@(ReportDataView.FromDateTime.Split(" ")[1])</span>
|
||||||
break;
|
break;
|
||||||
case "SickLeave":
|
case "SickLeave":
|
||||||
<span>@(ReportData.FromDateTime.Split(" ")[0])</span>
|
<span>@(ReportDataView.FromDateTime.Split(" ")[0])</span>
|
||||||
break;
|
break;
|
||||||
case "Leave":
|
case "Leave":
|
||||||
<span>@(ReportData.FromDateTime.Split(" ")[0])</span>
|
<span>@(ReportDataView.FromDateTime.Split(" ")[0])</span>
|
||||||
break;
|
break;
|
||||||
case "Office":
|
case "Office":
|
||||||
<span></span>
|
<span></span>
|
||||||
|
@ -90,16 +90,16 @@
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@{
|
@{
|
||||||
switch (ReportData.DayTypeEnum)
|
switch (ReportDataView.DayTypeEnum)
|
||||||
{
|
{
|
||||||
case "Sales":
|
case "Sales":
|
||||||
<span>@(ReportData.ToDateTime.Split(" ")[1])</span>
|
<span>@(ReportDataView.ToDateTime.Split(" ")[1])</span>
|
||||||
break;
|
break;
|
||||||
case "SickLeave":
|
case "SickLeave":
|
||||||
<span>@(ReportData.ToDateTime.Split(" ")[0])</span>
|
<span>@(ReportDataView.ToDateTime.Split(" ")[0])</span>
|
||||||
break;
|
break;
|
||||||
case "Leave":
|
case "Leave":
|
||||||
<span>@(ReportData.ToDateTime.Split(" ")[0])</span>
|
<span>@(ReportDataView.ToDateTime.Split(" ")[0])</span>
|
||||||
break;
|
break;
|
||||||
case "Office":
|
case "Office":
|
||||||
<span></span>
|
<span></span>
|
||||||
|
|
|
@ -21,6 +21,6 @@ namespace Wonky.Client.Components;
|
||||||
|
|
||||||
public partial class ReportSummaryComponent
|
public partial class ReportSummaryComponent
|
||||||
{
|
{
|
||||||
[Parameter] public ReportData ReportData { get; set; } = new();
|
[Parameter] public ReportDataView ReportDataView { get; set; } = new();
|
||||||
|
|
||||||
}
|
}
|
|
@ -24,7 +24,7 @@ namespace Wonky.Client.Components;
|
||||||
|
|
||||||
public partial class TaskItemTableComponent
|
public partial class TaskItemTableComponent
|
||||||
{
|
{
|
||||||
[Parameter] public List<TaskItemDto> TaskItemList { get; set; } = new();
|
[Parameter] public List<TaskItemModel> TaskItemList { get; set; } = new();
|
||||||
[Parameter] public EventCallback<string> OnDeleteTask { get; set; }
|
[Parameter] public EventCallback<string> OnDeleteTask { get; set; }
|
||||||
[Parameter] public EventCallback<string> OnCompleteTask { get; set; }
|
[Parameter] public EventCallback<string> OnCompleteTask { get; set; }
|
||||||
[Parameter] public EventCallback<string> OnTaskCompleted { get; set; }
|
[Parameter] public EventCallback<string> OnTaskCompleted { get; set; }
|
||||||
|
|
|
@ -22,9 +22,9 @@ internal interface IValidator<in T>
|
||||||
bool Validate(T t);
|
bool Validate(T t);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CustomerValidator : IValidator<CompanyDto>
|
public class CustomerValidator : IValidator<CompanyModel>
|
||||||
{
|
{
|
||||||
public bool Validate(CompanyDto t)
|
public bool Validate(CompanyModel t)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(t.Name)
|
if (string.IsNullOrWhiteSpace(t.Name)
|
||||||
|| string.IsNullOrWhiteSpace(t.ZipCode)
|
|| string.IsNullOrWhiteSpace(t.ZipCode)
|
||||||
|
|
|
@ -50,7 +50,7 @@ public class HttpInterceptorService
|
||||||
|
|
||||||
public void RegisterEvent()
|
public void RegisterEvent()
|
||||||
{
|
{
|
||||||
_interceptor.AfterSend += AfterSend;
|
_interceptor.AfterSend += AfterSend!;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegisterBeforeSendEvent()
|
public void RegisterBeforeSendEvent()
|
||||||
|
@ -60,7 +60,7 @@ public class HttpInterceptorService
|
||||||
|
|
||||||
public void DisposeEvent()
|
public void DisposeEvent()
|
||||||
{
|
{
|
||||||
_interceptor.AfterSend -= AfterSend;
|
_interceptor.AfterSend -= AfterSend!;
|
||||||
_interceptor.BeforeSendAsync -= InterceptBeforeSend;
|
_interceptor.BeforeSendAsync -= InterceptBeforeSend;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,7 @@ public class AdvisorActivityRepository : IAdvisorActivityRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ApiResponseView> CreateActivity(ActivityDto model)
|
public async Task<ApiResponseView> CreateActivity(ActivityModel model)
|
||||||
{
|
{
|
||||||
var response = await _client.PostAsJsonAsync($"{_api.CrmActivities}", model, _options);
|
var response = await _client.PostAsJsonAsync($"{_api.CrmActivities}", model, _options);
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
|
@ -115,11 +115,11 @@ public class AdvisorActivityRepository : IAdvisorActivityRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="activityId"></param>
|
/// <param name="activityId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ActivityDto> GetActivity(string activityId)
|
public async Task<ActivityModel> GetActivity(string activityId)
|
||||||
{
|
{
|
||||||
var salesItem = await _client
|
var salesItem = await _client
|
||||||
.GetFromJsonAsync<ActivityDto>($"{_api.CrmActivities}/{activityId}");
|
.GetFromJsonAsync<ActivityModel>($"{_api.CrmActivities}/{activityId}");
|
||||||
return salesItem ?? new ActivityDto();
|
return salesItem ?? new ActivityModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -173,7 +173,7 @@ public class AdvisorActivityRepository : IAdvisorActivityRepository
|
||||||
/// Update office note for activity
|
/// Update office note for activity
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
public async Task UpdateOfficeNote(ActivityOfficeNote model)
|
public async Task UpdateOfficeNote(ActivityOfficeNoteModel model)
|
||||||
{
|
{
|
||||||
await _client.PutAsJsonAsync($"{_api.CrmActivities}/note/{model.ActivityId}", model, _options);
|
await _client.PutAsJsonAsync($"{_api.CrmActivities}/note/{model.ActivityId}", model, _options);
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,7 @@ public class AdvisorContactRepository : IAdvisorContactRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<string> CreateContact(ContactDto model)
|
public async Task<string> CreateContact(ContactModel model)
|
||||||
{
|
{
|
||||||
var response = await _client.PostAsJsonAsync(
|
var response = await _client.PostAsJsonAsync(
|
||||||
$"{_conf.CrmCustomers}/{model.CompanyId}/contacts", model, _options);
|
$"{_conf.CrmCustomers}/{model.CompanyId}/contacts", model, _options);
|
||||||
|
@ -63,9 +63,9 @@ public class AdvisorContactRepository : IAdvisorContactRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="contactId"></param>
|
/// <param name="contactId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ContactDto> GetContact(string companyId, string contactId)
|
public async Task<ContactModel> GetContact(string companyId, string contactId)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<ContactDto>(
|
return await _client.GetFromJsonAsync<ContactModel>(
|
||||||
$"{_conf.CrmCustomers}/{companyId}/contacts/{contactId}");
|
$"{_conf.CrmCustomers}/{companyId}/contacts/{contactId}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,14 +74,14 @@ public class AdvisorContactRepository : IAdvisorContactRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<ContactDto>> GetContacts(string companyId)
|
public async Task<List<ContactModel>> GetContacts(string companyId)
|
||||||
{
|
{
|
||||||
var response = await _client.GetAsync(
|
var response = await _client.GetAsync(
|
||||||
$"{_conf.CrmCustomers}/{companyId}/contacts");
|
$"{_conf.CrmCustomers}/{companyId}/contacts");
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
return string.IsNullOrWhiteSpace(content)
|
return string.IsNullOrWhiteSpace(content)
|
||||||
? new List<ContactDto>()
|
? new List<ContactModel>()
|
||||||
: JsonSerializer.Deserialize<List<ContactDto>>(content, _options);
|
: JsonSerializer.Deserialize<List<ContactModel>>(content, _options);
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Delete Contact
|
/// Delete Contact
|
||||||
|
@ -100,7 +100,7 @@ public class AdvisorContactRepository : IAdvisorContactRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task UpdateContact(ContactDto model)
|
public async Task UpdateContact(ContactModel model)
|
||||||
{
|
{
|
||||||
await _client.PutAsJsonAsync(
|
await _client.PutAsJsonAsync(
|
||||||
$"{_conf.CrmCustomers}/{model.CompanyId}/contacts/{model.ContactId}", model, _options);
|
$"{_conf.CrmCustomers}/{model.CompanyId}/contacts/{model.ContactId}", model, _options);
|
||||||
|
|
|
@ -55,7 +55,7 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="pagingParameters"></param>
|
/// <param name="pagingParameters"></param>
|
||||||
/// <returns>A paged response defined by pagingParameters</returns>
|
/// <returns>A paged response defined by pagingParameters</returns>
|
||||||
public async Task<PagingResponse<CompanyDto>> GetCompanies(CustomerPaging pagingParameters)
|
public async Task<PagingResponse<CompanyModel>> GetCompanies(CustomerPaging pagingParameters)
|
||||||
{
|
{
|
||||||
var queryString = new Dictionary<string, string>
|
var queryString = new Dictionary<string, string>
|
||||||
{
|
{
|
||||||
|
@ -71,18 +71,18 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
||||||
|
|
||||||
if (!response.IsSuccessStatusCode)
|
if (!response.IsSuccessStatusCode)
|
||||||
{
|
{
|
||||||
return new PagingResponse<CompanyDto>
|
return new PagingResponse<CompanyModel>
|
||||||
{
|
{
|
||||||
Items = new List<CompanyDto>(),
|
Items = new List<CompanyModel>(),
|
||||||
MetaData = new MetaData()
|
MetaData = new MetaData()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
var pagingResponse = new PagingResponse<CompanyDto>
|
var pagingResponse = new PagingResponse<CompanyModel>
|
||||||
{
|
{
|
||||||
Items = JsonSerializer.Deserialize<List<CompanyDto>>(content, _options),
|
Items = JsonSerializer.Deserialize<List<CompanyModel>>(content, _options),
|
||||||
MetaData = JsonSerializer.Deserialize<MetaData>(response.Headers.GetValues("X-Pagination").First(),
|
MetaData = JsonSerializer.Deserialize<MetaData>(response.Headers.GetValues("X-Pagination").First(),
|
||||||
_options)
|
_options)
|
||||||
};
|
};
|
||||||
|
@ -94,9 +94,9 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <returns>A CRM Company entity</returns>
|
/// <returns>A CRM Company entity</returns>
|
||||||
public async Task<CompanyDto> GetCompanyById(string companyId)
|
public async Task<CompanyModel> GetCompanyById(string companyId)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<CompanyDto>($"{_conf.CrmCustomers}/{companyId}", _options);
|
return await _client.GetFromJsonAsync<CompanyModel>($"{_conf.CrmCustomers}/{companyId}", _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -104,11 +104,11 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns>The Id of the entity</returns>
|
/// <returns>The Id of the entity</returns>
|
||||||
public async Task<string> CreateCompany(CompanyDto model)
|
public async Task<string> CreateCompany(CompanyModel model)
|
||||||
{
|
{
|
||||||
var response = await _client.PostAsJsonAsync($"{_conf.CrmCustomers}", model, _options);
|
var response = await _client.PostAsJsonAsync($"{_conf.CrmCustomers}", model, _options);
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
var result = JsonSerializer.Deserialize<CompanyDto>(content, _options);
|
var result = JsonSerializer.Deserialize<CompanyModel>(content, _options);
|
||||||
return result.CompanyId;
|
return result.CompanyId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,9 +129,9 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns>A CRM Company entity</returns>
|
/// <returns>A CRM Company entity</returns>
|
||||||
public async Task<CompanyDto> UpdateCrmData(string companyId, CompanyDto model)
|
public async Task<CompanyModel> UpdateCrmData(string companyId, CompanyModel model)
|
||||||
{
|
{
|
||||||
var updateModel = new UpdateCrmDto
|
var updateModel = new UpdateCrmModel
|
||||||
{
|
{
|
||||||
Interval = model.Interval,
|
Interval = model.Interval,
|
||||||
Note = model.Note,
|
Note = model.Note,
|
||||||
|
@ -142,7 +142,7 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
||||||
};
|
};
|
||||||
var response = await _client.PutAsJsonAsync($"{_conf.CrmCustomers}/{companyId}/crmData", updateModel, _options);
|
var response = await _client.PutAsJsonAsync($"{_conf.CrmCustomers}/{companyId}/crmData", updateModel, _options);
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
return JsonSerializer.Deserialize<CompanyDto>(content);
|
return JsonSerializer.Deserialize<CompanyModel>(content);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -151,9 +151,9 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns>A CRM Company entity</returns>
|
/// <returns>A CRM Company entity</returns>
|
||||||
public async Task<CompanyDto> UpdateErpData(string companyId, CompanyDto model)
|
public async Task<CompanyModel> UpdateErpData(string companyId, CompanyModel model)
|
||||||
{
|
{
|
||||||
var updateModel = new UpdateErpDto
|
var updateModel = new UpdateErpModel
|
||||||
{
|
{
|
||||||
Address1 = model.Address1,
|
Address1 = model.Address1,
|
||||||
Address2 = model.Address2,
|
Address2 = model.Address2,
|
||||||
|
@ -168,7 +168,7 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
||||||
|
|
||||||
var response = await _client.PutAsJsonAsync($"{_conf.CrmCustomers}/{companyId}/erpData", updateModel, _options);
|
var response = await _client.PutAsJsonAsync($"{_conf.CrmCustomers}/{companyId}/erpData", updateModel, _options);
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
return JsonSerializer.Deserialize<CompanyDto>(content);
|
return JsonSerializer.Deserialize<CompanyModel>(content);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -177,7 +177,7 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="vatNumber"></param>
|
/// <param name="vatNumber"></param>
|
||||||
/// <returns>A CRM Company entity</returns>
|
/// <returns>A CRM Company entity</returns>
|
||||||
public async Task<CompanyDto> UpdateCompanyVat(string companyId, string vatNumber)
|
public async Task<CompanyModel> UpdateCompanyVat(string companyId, string vatNumber)
|
||||||
{
|
{
|
||||||
var model = new Dictionary<string, string>
|
var model = new Dictionary<string, string>
|
||||||
{
|
{
|
||||||
|
@ -185,10 +185,10 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
||||||
};
|
};
|
||||||
var response = await _client.PutAsJsonAsync($"{_conf.CrmCustomers}/{companyId}/vat", model, _options);
|
var response = await _client.PutAsJsonAsync($"{_conf.CrmCustomers}/{companyId}/vat", model, _options);
|
||||||
if (!response.IsSuccessStatusCode)
|
if (!response.IsSuccessStatusCode)
|
||||||
return new CompanyDto();
|
return new CompanyModel();
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
return JsonSerializer.Deserialize<CompanyDto>(content)
|
return JsonSerializer.Deserialize<CompanyModel>(content)
|
||||||
?? new CompanyDto { Name = "ERROR", VatNumber = vatNumber, CrmNotes = $"FEJL: {content}" };
|
?? new CompanyModel { Name = "ERROR", VatNumber = vatNumber, CrmNotes = $"FEJL: {content}" };
|
||||||
}
|
}
|
||||||
|
|
||||||
// public async Task<bool> ToggleVisibility(string companyId, bool hide)
|
// public async Task<bool> ToggleVisibility(string companyId, bool hide)
|
||||||
|
|
|
@ -85,23 +85,23 @@ public class AdvisorReportRepository : IAdvisorReportRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="workDate"></param>
|
/// <param name="workDate"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ReportInitDto> InitializeReportData(string workDate)
|
public async Task<ReportInitModel> InitializeReportData(string workDate)
|
||||||
{
|
{
|
||||||
var initData = await _client
|
var initData = await _client
|
||||||
.GetFromJsonAsync<ReportInitDto>($"{_api.CrmReports}/init/{workDate}");
|
.GetFromJsonAsync<ReportInitModel>($"{_api.CrmReports}/init/{workDate}");
|
||||||
return initData ?? new ReportInitDto();
|
return initData ?? new ReportInitModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create Report for given data - using reportData
|
/// Create Report for given data - using reportData
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="workDate"></param>
|
/// <param name="workDate"></param>
|
||||||
/// <param name="reportDto"></param>
|
/// <param name="reportModel"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ApiResponseView> CreateReport(string workDate, ReportDto reportDto)
|
public async Task<ApiResponseView> CreateReport(string workDate, ReportModel reportModel)
|
||||||
{
|
{
|
||||||
var response = await _client
|
var response = await _client
|
||||||
.PostAsJsonAsync($"{_api.CrmReports}/{workDate}", reportDto, _options);
|
.PostAsJsonAsync($"{_api.CrmReports}/{workDate}", reportModel, _options);
|
||||||
if (!response.IsSuccessStatusCode)
|
if (!response.IsSuccessStatusCode)
|
||||||
return new ApiResponseView
|
return new ApiResponseView
|
||||||
{
|
{
|
||||||
|
|
|
@ -49,9 +49,9 @@ public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository
|
||||||
/// Get Task List (SalesRep)
|
/// Get Task List (SalesRep)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<TaskItemDto>?> GetTaskList()
|
public async Task<List<TaskItemModel>> GetTaskList()
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<List<TaskItemDto>>($"{_apiConfig.CrmTasks}", _options);
|
return await _client.GetFromJsonAsync<List<TaskItemModel>>($"{_apiConfig.CrmTasks}", _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -59,9 +59,9 @@ public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="workDate"></param>
|
/// <param name="workDate"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<TaskItemDto>?> GetTaskList(string workDate)
|
public async Task<List<TaskItemModel>> GetTaskList(string workDate)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<List<TaskItemDto>>($"{_apiConfig.CrmTasks}/date/{workDate}", _options);
|
return await _client.GetFromJsonAsync<List<TaskItemModel>>($"{_apiConfig.CrmTasks}/date/{workDate}", _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -69,9 +69,9 @@ public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="taskItemId"></param>
|
/// <param name="taskItemId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<TaskItemDto?> GetTaskItem(string taskItemId)
|
public async Task<TaskItemModel> GetTaskItem(string taskItemId)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<TaskItemDto>($"{_apiConfig.CrmTasks}/{taskItemId}", _options);
|
return await _client.GetFromJsonAsync<TaskItemModel>($"{_apiConfig.CrmTasks}/{taskItemId}", _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -79,7 +79,7 @@ public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="taskItem"></param>
|
/// <param name="taskItem"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task CreateTaskItem(TaskItemDto taskItem)
|
public async Task CreateTaskItem(TaskItemModel taskItem)
|
||||||
{
|
{
|
||||||
await _client.PostAsJsonAsync($"{_apiConfig.CrmTasks}", taskItem, _options);
|
await _client.PostAsJsonAsync($"{_apiConfig.CrmTasks}", taskItem, _options);
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="taskItemId"></param>
|
/// <param name="taskItemId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task UpdateTaskItem(string taskItemId, TaskItemDto taskItem)
|
public async Task UpdateTaskItem(string taskItemId, TaskItemModel taskItem)
|
||||||
{
|
{
|
||||||
await _client.PutAsJsonAsync($"{_apiConfig.CrmTasks}/{taskItemId}", taskItem, _options);
|
await _client.PutAsJsonAsync($"{_apiConfig.CrmTasks}/{taskItemId}", taskItem, _options);
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,11 +64,11 @@ public class AdvisorWorkplaceRepository : IAdvisorWorkplaceRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="workplaceId"></param>
|
/// <param name="workplaceId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<WorkplaceDto> GetWorkplace(string companyId, string workplaceId)
|
public async Task<WorkplaceModel> GetWorkplace(string companyId, string workplaceId)
|
||||||
{
|
{
|
||||||
var result = await _client.GetFromJsonAsync<WorkplaceDto>(
|
var result = await _client.GetFromJsonAsync<WorkplaceModel>(
|
||||||
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaceExt}/{workplaceId}", _options);
|
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaceExt}/{workplaceId}", _options);
|
||||||
return result ?? new WorkplaceDto();
|
return result ?? new WorkplaceModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -77,7 +77,7 @@ public class AdvisorWorkplaceRepository : IAdvisorWorkplaceRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="workplace"></param>
|
/// <param name="workplace"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task CreateWorkplace(string companyId, WorkplaceDto workplace)
|
public async Task CreateWorkplace(string companyId, WorkplaceModel workplace)
|
||||||
{
|
{
|
||||||
await _client.PostAsJsonAsync(
|
await _client.PostAsJsonAsync(
|
||||||
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaceExt}", workplace, _options);
|
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaceExt}", workplace, _options);
|
||||||
|
@ -89,7 +89,7 @@ public class AdvisorWorkplaceRepository : IAdvisorWorkplaceRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="workplace"></param>
|
/// <param name="workplace"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task UpdateWorkplace(string companyId, WorkplaceDto workplace)
|
public async Task UpdateWorkplace(string companyId, WorkplaceModel workplace)
|
||||||
{
|
{
|
||||||
await _client.PutAsJsonAsync(
|
await _client.PutAsJsonAsync(
|
||||||
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaceExt}/{workplace.WorkplaceId}", workplace, _options);
|
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaceExt}/{workplace.WorkplaceId}", workplace, _options);
|
||||||
|
|
|
@ -53,11 +53,11 @@ public class CountryActivityRepository : ICountryActivityRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="activityId"></param>
|
/// <param name="activityId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ActivityDto> RequestActivity(string activityId)
|
public async Task<ActivityModel> RequestActivity(string activityId)
|
||||||
{
|
{
|
||||||
var activity = await _client
|
var activity = await _client
|
||||||
.GetFromJsonAsync<ActivityDto>($"{_api.CrmActivities}/{activityId}");
|
.GetFromJsonAsync<ActivityModel>($"{_api.CrmActivities}/{activityId}");
|
||||||
return activity ?? new ActivityDto();
|
return activity ?? new ActivityModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -76,7 +76,7 @@ public class CountryActivityRepository : ICountryActivityRepository
|
||||||
: JsonSerializer.Deserialize<List<ReportItemView>>(content, _options);
|
: JsonSerializer.Deserialize<List<ReportItemView>>(content, _options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ApiResponseView> CreatePhoneOrder(string customerId, ActivityDto activity)
|
public async Task<ApiResponseView> CreatePhoneOrder(string customerId, ActivityModel activity)
|
||||||
{
|
{
|
||||||
var response = await _client.PostAsJsonAsync($"{_api.OfficeCustomers}/{activity.CountryCode}/id/{customerId}/activities", activity);
|
var response = await _client.PostAsJsonAsync($"{_api.OfficeCustomers}/{activity.CountryCode}/id/{customerId}/activities", activity);
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
|
|
|
@ -56,7 +56,7 @@ public class CountryCustomerRepository : ICountryCustomerRepository
|
||||||
/// <param name="paging"></param>
|
/// <param name="paging"></param>
|
||||||
/// <param name="countryCode"></param>
|
/// <param name="countryCode"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<PagingResponse<CompanyDto>> GetCompaniesPaged(string countryCode, CustomerPaging paging)
|
public async Task<PagingResponse<CompanyModel>> GetCompaniesPaged(string countryCode, CustomerPaging paging)
|
||||||
{
|
{
|
||||||
var queryString = new Dictionary<string, string>
|
var queryString = new Dictionary<string, string>
|
||||||
{
|
{
|
||||||
|
@ -72,9 +72,9 @@ public class CountryCustomerRepository : ICountryCustomerRepository
|
||||||
var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_api.OfficeCustomers}/{countryCode}", queryString));
|
var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_api.OfficeCustomers}/{countryCode}", queryString));
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
var pagingResponse = new PagingResponse<CompanyDto>
|
var pagingResponse = new PagingResponse<CompanyModel>
|
||||||
{
|
{
|
||||||
Items = JsonSerializer.Deserialize<List<CompanyDto>>(content, _options),
|
Items = JsonSerializer.Deserialize<List<CompanyModel>>(content, _options),
|
||||||
MetaData = JsonSerializer.Deserialize<MetaData>(response.Headers.GetValues("X-Pagination").First(), _options)
|
MetaData = JsonSerializer.Deserialize<MetaData>(response.Headers.GetValues("X-Pagination").First(), _options)
|
||||||
};
|
};
|
||||||
return pagingResponse;
|
return pagingResponse;
|
||||||
|
@ -87,7 +87,7 @@ public class CountryCustomerRepository : ICountryCustomerRepository
|
||||||
/// <param name="salesRepId"></param>
|
/// <param name="salesRepId"></param>
|
||||||
/// <param name="paging"></param>
|
/// <param name="paging"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<PagingResponse<CompanyDto>> GetCompaniesPaged(string countryCode, string salesRepId,
|
public async Task<PagingResponse<CompanyModel>> GetCompaniesPaged(string countryCode, string salesRepId,
|
||||||
CustomerPaging paging)
|
CustomerPaging paging)
|
||||||
{
|
{
|
||||||
var queryString = new Dictionary<string, string>
|
var queryString = new Dictionary<string, string>
|
||||||
|
@ -103,9 +103,9 @@ public class CountryCustomerRepository : ICountryCustomerRepository
|
||||||
|
|
||||||
var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_api.OfficeCustomers}/{countryCode}/salesRep/{salesRepId}/", queryString));
|
var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_api.OfficeCustomers}/{countryCode}/salesRep/{salesRepId}/", queryString));
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
var pagingResponse = new PagingResponse<CompanyDto>
|
var pagingResponse = new PagingResponse<CompanyModel>
|
||||||
{
|
{
|
||||||
Items = JsonSerializer.Deserialize<List<CompanyDto>>(content, _options),
|
Items = JsonSerializer.Deserialize<List<CompanyModel>>(content, _options),
|
||||||
MetaData = JsonSerializer.Deserialize<MetaData>(response.Headers.GetValues("X-Pagination").First(), _options)
|
MetaData = JsonSerializer.Deserialize<MetaData>(response.Headers.GetValues("X-Pagination").First(), _options)
|
||||||
};
|
};
|
||||||
return pagingResponse;
|
return pagingResponse;
|
||||||
|
@ -118,10 +118,10 @@ public class CountryCustomerRepository : ICountryCustomerRepository
|
||||||
/// <param name="countryCode"></param>
|
/// <param name="countryCode"></param>
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<CompanyDto> GetByCustomerId(string countryCode, string companyId)
|
public async Task<CompanyModel> GetByCustomerId(string countryCode, string companyId)
|
||||||
{
|
{
|
||||||
var company = await _client.GetFromJsonAsync<CompanyDto>($"{_api.OfficeCustomers}/{countryCode}/id/{companyId}");
|
var company = await _client.GetFromJsonAsync<CompanyModel>($"{_api.OfficeCustomers}/{countryCode}/id/{companyId}");
|
||||||
return company ?? new CompanyDto();
|
return company ?? new CompanyModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -131,7 +131,7 @@ public class CountryCustomerRepository : ICountryCustomerRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<bool> UpdateCompany(string countryCode, string companyId, CompanyDto model)
|
public async Task<bool> UpdateCompany(string countryCode, string companyId, CompanyModel model)
|
||||||
{
|
{
|
||||||
var response = await _client.PutAsJsonAsync($"{_api.OfficeCustomers}/{countryCode}/{companyId}", model);
|
var response = await _client.PutAsJsonAsync($"{_api.OfficeCustomers}/{countryCode}/{companyId}", model);
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
|
|
|
@ -41,7 +41,7 @@ public interface IAdvisorActivityRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<ApiResponseView> CreateActivity(ActivityDto model);
|
Task<ApiResponseView> CreateActivity(ActivityModel model);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get activities by date
|
/// Get activities by date
|
||||||
|
@ -55,7 +55,7 @@ public interface IAdvisorActivityRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="activityId"></param>
|
/// <param name="activityId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<ActivityDto> GetActivity(string activityId);
|
Task<ActivityModel> GetActivity(string activityId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get activities for customer Id
|
/// Get activities for customer Id
|
||||||
|
@ -82,5 +82,5 @@ public interface IAdvisorActivityRepository
|
||||||
/// Update office note for activity
|
/// Update office note for activity
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
Task UpdateOfficeNote(ActivityOfficeNote model);
|
Task UpdateOfficeNote(ActivityOfficeNoteModel model);
|
||||||
}
|
}
|
|
@ -28,7 +28,7 @@ public interface IAdvisorContactRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<string> CreateContact(ContactDto model);
|
Task<string> CreateContact(ContactModel model);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get Contact
|
/// Get Contact
|
||||||
|
@ -36,14 +36,14 @@ public interface IAdvisorContactRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="contactId"></param>
|
/// <param name="contactId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<ContactDto> GetContact(string companyId, string contactId);
|
Task<ContactModel> GetContact(string companyId, string contactId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get Contacts
|
/// Get Contacts
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<ContactDto>> GetContacts(string companyId);
|
Task<List<ContactModel>> GetContacts(string companyId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Delete Contact
|
/// Delete Contact
|
||||||
|
@ -58,5 +58,5 @@ public interface IAdvisorContactRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdateContact(ContactDto model);
|
Task UpdateContact(ContactModel model);
|
||||||
}
|
}
|
|
@ -29,21 +29,21 @@ public interface IAdvisorCustomerRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="pagingParameters"></param>
|
/// <param name="pagingParameters"></param>
|
||||||
/// <returns>A paged response defined by pagingParameters</returns>
|
/// <returns>A paged response defined by pagingParameters</returns>
|
||||||
Task<PagingResponse<CompanyDto>> GetCompanies(CustomerPaging pagingParameters);
|
Task<PagingResponse<CompanyModel>> GetCompanies(CustomerPaging pagingParameters);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get CRM customer by Id (SalesRep)
|
/// Get CRM customer by Id (SalesRep)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <returns>A CRM Company entity</returns>
|
/// <returns>A CRM Company entity</returns>
|
||||||
Task<CompanyDto> GetCompanyById(string companyId);
|
Task<CompanyModel> GetCompanyById(string companyId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create Customer (SalesRep)
|
/// Create Customer (SalesRep)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns>The Id of the entity</returns>
|
/// <returns>The Id of the entity</returns>
|
||||||
Task<string> CreateCompany(CompanyDto model);
|
Task<string> CreateCompany(CompanyModel model);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Delete the CRM customer (SalesRep)
|
/// Delete the CRM customer (SalesRep)
|
||||||
|
@ -58,7 +58,7 @@ public interface IAdvisorCustomerRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns>A CRM Company entity</returns>
|
/// <returns>A CRM Company entity</returns>
|
||||||
Task<CompanyDto> UpdateCrmData(string companyId, CompanyDto model);
|
Task<CompanyModel> UpdateCrmData(string companyId, CompanyModel model);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Update ERP customer properties (SalesRep)
|
/// Update ERP customer properties (SalesRep)
|
||||||
|
@ -66,7 +66,7 @@ public interface IAdvisorCustomerRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns>A CRM Company entity</returns>
|
/// <returns>A CRM Company entity</returns>
|
||||||
Task<CompanyDto> UpdateErpData(string companyId, CompanyDto model);
|
Task<CompanyModel> UpdateErpData(string companyId, CompanyModel model);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Update customer Vat Number (SalesRep)
|
/// Update customer Vat Number (SalesRep)
|
||||||
|
@ -74,7 +74,7 @@ public interface IAdvisorCustomerRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="vatNumber"></param>
|
/// <param name="vatNumber"></param>
|
||||||
/// <returns>A CRM Company entity</returns>
|
/// <returns>A CRM Company entity</returns>
|
||||||
Task<CompanyDto> UpdateCompanyVat(string companyId, string vatNumber);
|
Task<CompanyModel> UpdateCompanyVat(string companyId, string vatNumber);
|
||||||
|
|
||||||
// Task<bool> ToggleVisibility(string companyId, bool hide);
|
// Task<bool> ToggleVisibility(string companyId, bool hide);
|
||||||
}
|
}
|
|
@ -48,13 +48,13 @@ public interface IAdvisorReportRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="workDate"></param>
|
/// <param name="workDate"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<ReportInitDto> InitializeReportData(string workDate);
|
Task<ReportInitModel> InitializeReportData(string workDate);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create Report for given data - using reportData
|
/// Create Report for given data - using reportData
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="workDate"></param>
|
/// <param name="workDate"></param>
|
||||||
/// <param name="reportDto"></param>
|
/// <param name="reportModel"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<ApiResponseView> CreateReport(string workDate, ReportDto reportDto);
|
Task<ApiResponseView> CreateReport(string workDate, ReportModel reportModel);
|
||||||
}
|
}
|
|
@ -26,35 +26,35 @@ public interface IAdvisorTaskItemRepository
|
||||||
/// Get Task List (SalesRep)
|
/// Get Task List (SalesRep)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<TaskItemDto>> GetTaskList();
|
Task<List<TaskItemModel>> GetTaskList();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get Task List for given workDate (SalesRep)
|
/// Get Task List for given workDate (SalesRep)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="workDate"></param>
|
/// <param name="workDate"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<TaskItemDto>> GetTaskList(string workDate);
|
Task<List<TaskItemModel>> GetTaskList(string workDate);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get Task Item by id (SalesRep)
|
/// Get Task Item by id (SalesRep)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="taskItemId"></param>
|
/// <param name="taskItemId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<TaskItemDto> GetTaskItem(string taskItemId);
|
Task<TaskItemModel> GetTaskItem(string taskItemId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create task using taskItem (SalesRep)
|
/// Create task using taskItem (SalesRep)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="taskItem"></param>
|
/// <param name="taskItem"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task CreateTaskItem(TaskItemDto taskItem);
|
Task CreateTaskItem(TaskItemModel taskItem);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Delete Task Item (SalesRep
|
/// Delete Task Item (SalesRep
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="taskItemId"></param>
|
/// <param name="taskItemId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdateTaskItem(string taskItemId, TaskItemDto taskItem);
|
Task UpdateTaskItem(string taskItemId, TaskItemModel taskItem);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Delete Task Item (SalesRep
|
/// Delete Task Item (SalesRep
|
||||||
|
|
|
@ -36,7 +36,7 @@ public interface IAdvisorWorkplaceRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="workplaceId"></param>
|
/// <param name="workplaceId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<WorkplaceDto> GetWorkplace(string companyId, string workplaceId);
|
Task<WorkplaceModel> GetWorkplace(string companyId, string workplaceId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create new workplace given the customer id and workplace data
|
/// Create new workplace given the customer id and workplace data
|
||||||
|
@ -44,7 +44,7 @@ public interface IAdvisorWorkplaceRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="workplace"></param>
|
/// <param name="workplace"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task CreateWorkplace(string companyId, WorkplaceDto workplace);
|
Task CreateWorkplace(string companyId, WorkplaceModel workplace);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Update workplace given the customer id and updated data
|
/// Update workplace given the customer id and updated data
|
||||||
|
@ -52,7 +52,7 @@ public interface IAdvisorWorkplaceRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="workplace"></param>
|
/// <param name="workplace"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdateWorkplace(string companyId, WorkplaceDto workplace);
|
Task UpdateWorkplace(string companyId, WorkplaceModel workplace);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Delete workplace given customer id and workplace id
|
/// Delete workplace given customer id and workplace id
|
||||||
|
|
|
@ -28,7 +28,7 @@ public interface ICountryActivityRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="activityId"></param>
|
/// <param name="activityId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<ActivityDto> RequestActivity(string activityId);
|
Task<ActivityModel> RequestActivity(string activityId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get activities for customer Id
|
/// Get activities for customer Id
|
||||||
|
@ -37,5 +37,5 @@ public interface ICountryActivityRepository
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<ReportItemView>> RequestActivityList(string customerId);
|
Task<List<ReportItemView>> RequestActivityList(string customerId);
|
||||||
|
|
||||||
Task<ApiResponseView> CreatePhoneOrder(string customerId, ActivityDto activity);
|
Task<ApiResponseView> CreatePhoneOrder(string customerId, ActivityModel activity);
|
||||||
}
|
}
|
|
@ -30,7 +30,7 @@ public interface ICountryCustomerRepository
|
||||||
/// <param name="paging"></param>
|
/// <param name="paging"></param>
|
||||||
/// <param name="countryCode"></param>
|
/// <param name="countryCode"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<PagingResponse<CompanyDto>> GetCompaniesPaged(string countryCode, CustomerPaging paging);
|
Task<PagingResponse<CompanyModel>> GetCompaniesPaged(string countryCode, CustomerPaging paging);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get customers paged for given sales rep
|
/// Get customers paged for given sales rep
|
||||||
|
@ -39,7 +39,7 @@ public interface ICountryCustomerRepository
|
||||||
/// <param name="salesRepId"></param>
|
/// <param name="salesRepId"></param>
|
||||||
/// <param name="paging"></param>
|
/// <param name="paging"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<PagingResponse<CompanyDto>> GetCompaniesPaged(string countryCode, string salesRepId, CustomerPaging paging);
|
Task<PagingResponse<CompanyModel>> GetCompaniesPaged(string countryCode, string salesRepId, CustomerPaging paging);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get customer by Id
|
/// Get customer by Id
|
||||||
|
@ -47,7 +47,7 @@ public interface ICountryCustomerRepository
|
||||||
/// <param name="countryCode"></param>
|
/// <param name="countryCode"></param>
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<CompanyDto> GetByCustomerId(string countryCode, string companyId);
|
Task<CompanyModel> GetByCustomerId(string countryCode, string companyId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Update Company data
|
/// Update Company data
|
||||||
|
@ -56,5 +56,5 @@ public interface ICountryCustomerRepository
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<bool> UpdateCompany(string countryCode, string companyId, CompanyDto model);
|
Task<bool> UpdateCompany(string countryCode, string companyId, CompanyModel model);
|
||||||
}
|
}
|
50
Wonky.Client/HttpRepository/IOfficeUserInfoRepository.cs
Normal file
50
Wonky.Client/HttpRepository/IOfficeUserInfoRepository.cs
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
// 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.Entity.DTO;
|
||||||
|
using Wonky.Entity.Views;
|
||||||
|
|
||||||
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Interface for User handling over http
|
||||||
|
/// </summary>
|
||||||
|
public interface IOfficeUserInfoRepository
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Get Users
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<UserInfoListView>> GetUsers();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get Users in role
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<UserInfoListView>> GetUsers(string role);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get users for logged in supervisor
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<UserInfoListView>> GetSupervisorUsers();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get User Info for given userId
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="userId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<UserAdvisorInfoView> GetUserInfo(string userId);
|
||||||
|
}
|
|
@ -48,7 +48,7 @@ public interface IOrderProcessRepository
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Update Order status setting new process status
|
/// Update Order status setting new process status
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="processState"></param>
|
/// <param name="processStateModel"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdateWarehouseOrderStatus(OrderProcessState processState);
|
Task UpdateWarehouseOrderStatus(OrderProcessStateModel processStateModel);
|
||||||
}
|
}
|
|
@ -27,7 +27,7 @@ public interface ISystemSendMailService
|
||||||
/// Send Mail
|
/// Send Mail
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="messageType"></param>
|
/// <param name="messageType"></param>
|
||||||
/// <param name="message"></param>
|
/// <param name="messageModel"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<ApiResponseView> SendMail(string messageType, EmailMessage message);
|
Task<ApiResponseView> SendMail(string messageType, EmailMessageModel messageModel);
|
||||||
}
|
}
|
|
@ -27,7 +27,7 @@ public interface ISystemSendSmsService
|
||||||
/// Send Mail
|
/// Send Mail
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="messageType"></param>
|
/// <param name="messageType"></param>
|
||||||
/// <param name="message"></param>
|
/// <param name="messageModel"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<ApiResponseView> SendSms(ShortMessage message);
|
Task<ApiResponseView> SendSms(ShortMessageModel messageModel);
|
||||||
}
|
}
|
|
@ -14,6 +14,7 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
using Wonky.Entity.DTO;
|
using Wonky.Entity.DTO;
|
||||||
|
using Wonky.Entity.Views;
|
||||||
|
|
||||||
namespace Wonky.Client.HttpRepository;
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
|
@ -23,32 +24,38 @@ namespace Wonky.Client.HttpRepository;
|
||||||
public interface ISystemUserRepository
|
public interface ISystemUserRepository
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get Advisors (Office)
|
/// Get Users
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<UserManagerListView>> GetUsers();
|
Task<List<UserInfoListView>> GetUsers();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get Advisor Info for given userId
|
/// Get Users in role
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<UserInfoListView>> GetUsers(string role);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get User Info for given userId
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="userId"></param>
|
/// <param name="userId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<UserManagerEditView> GetUserInfo(string userId);
|
Task<UserAdminEditView> GetUserInfo(string userId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Update Advisor using userId and updated data
|
/// Update User using userId and updated data
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<UserManagerEditView> CreateUser(UserManagerCreate model);
|
Task<UserAdminEditView> CreateUser(UserAdminCreateModel model);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Update Advisor using userId and updated data
|
/// Update User using userId and updated data
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="userId"></param>
|
/// <param name="userId"></param>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UpdateUserInfo(string userId, UserManagerEditView model);
|
Task UpdateUserInfo(string userId, UserAdminEditView model);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Delete the user with id
|
/// Delete the user with id
|
||||||
|
@ -58,7 +65,7 @@ public interface ISystemUserRepository
|
||||||
Task DeleteUser(string userId);
|
Task DeleteUser(string userId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Set new user password
|
/// Set user user password
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="userId"></param>
|
/// <param name="userId"></param>
|
||||||
/// <param name="newPasswd"></param>
|
/// <param name="newPasswd"></param>
|
||||||
|
|
83
Wonky.Client/HttpRepository/OfficeUserInfoRepository.cs
Normal file
83
Wonky.Client/HttpRepository/OfficeUserInfoRepository.cs
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
// 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.Net.Http.Json;
|
||||||
|
using System.Text.Json;
|
||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
|
using Wonky.Entity.Configuration;
|
||||||
|
using Wonky.Entity.DTO;
|
||||||
|
using Wonky.Entity.Views;
|
||||||
|
|
||||||
|
namespace Wonky.Client.HttpRepository;
|
||||||
|
|
||||||
|
public class OfficeUserInfoRepository : IOfficeUserInfoRepository
|
||||||
|
{
|
||||||
|
private readonly JsonSerializerOptions? _options = new JsonSerializerOptions
|
||||||
|
{
|
||||||
|
PropertyNameCaseInsensitive = true
|
||||||
|
};
|
||||||
|
|
||||||
|
private readonly NavigationManager _navigation;
|
||||||
|
private ILogger<OfficeUserInfoRepository> _logger;
|
||||||
|
private readonly HttpClient _client;
|
||||||
|
private readonly ApiConfig _api;
|
||||||
|
|
||||||
|
public OfficeUserInfoRepository(HttpClient client, ILogger<OfficeUserInfoRepository> logger,
|
||||||
|
NavigationManager navigation, IOptions<ApiConfig> configuration)
|
||||||
|
{
|
||||||
|
_client = client;
|
||||||
|
_logger = logger;
|
||||||
|
_navigation = navigation;
|
||||||
|
_api = configuration.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get Users
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<UserInfoListView>> GetUsers()
|
||||||
|
{
|
||||||
|
return await _client.GetFromJsonAsync<List<UserInfoListView>>(_api.UserData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get Users in role
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<UserInfoListView>> GetUsers(string role)
|
||||||
|
{
|
||||||
|
return await _client.GetFromJsonAsync<List<UserInfoListView>>($"{_api.UserData}/role/{role}");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get users for logged in supervisor
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<UserInfoListView>> GetSupervisorUsers()
|
||||||
|
{
|
||||||
|
return await _client.GetFromJsonAsync<List<UserInfoListView>>($"{_api.UserData}/supervisor");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get Advisor Info for given userId
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="userId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<UserAdvisorInfoView> GetUserInfo(string userId)
|
||||||
|
{
|
||||||
|
return await _client.GetFromJsonAsync<UserAdvisorInfoView>($"{_api.UserData}/{userId}");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -81,11 +81,11 @@ public class OrderProcessRepository : IOrderProcessRepository
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Update Order status setting new process status
|
/// Update Order status setting new process status
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="processState"></param>
|
/// <param name="processStateModel"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task UpdateWarehouseOrderStatus(OrderProcessState processState)
|
public async Task UpdateWarehouseOrderStatus(OrderProcessStateModel processStateModel)
|
||||||
{
|
{
|
||||||
_logger.LogDebug("process => {}", JsonSerializer.Serialize(processState, _options));
|
_logger.LogDebug("process => {}", JsonSerializer.Serialize(processStateModel, _options));
|
||||||
await _client.PutAsJsonAsync($"{_api.Warehouse}/{processState.OrderId}", processState, _options);
|
await _client.PutAsJsonAsync($"{_api.Warehouse}/{processStateModel.OrderId}", processStateModel, _options);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -48,11 +48,11 @@ public class SystemSendMailService : ISystemSendMailService
|
||||||
/// Send Mail
|
/// Send Mail
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="messageType"></param>
|
/// <param name="messageType"></param>
|
||||||
/// <param name="message"></param>
|
/// <param name="messageModel"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ApiResponseView> SendMail(string messageType, EmailMessage message)
|
public async Task<ApiResponseView> SendMail(string messageType, EmailMessageModel messageModel)
|
||||||
{
|
{
|
||||||
var response = await _client.PostAsJsonAsync($"{_api.ServicesMail}/{messageType}", message, _options);
|
var response = await _client.PostAsJsonAsync($"{_api.ServicesMail}/{messageType}", messageModel, _options);
|
||||||
if (!response.IsSuccessStatusCode)
|
if (!response.IsSuccessStatusCode)
|
||||||
return new ApiResponseView
|
return new ApiResponseView
|
||||||
{
|
{
|
||||||
|
|
|
@ -47,11 +47,11 @@ public class SystemSendSmsService : ISystemSendSmsService
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Send Mail
|
/// Send Mail
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="message"></param>
|
/// <param name="messageModel"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<ApiResponseView> SendSms(ShortMessage message)
|
public async Task<ApiResponseView> SendSms(ShortMessageModel messageModel)
|
||||||
{
|
{
|
||||||
var response = await _client.PostAsJsonAsync($"{_api.ServicesSms}", message, _options);
|
var response = await _client.PostAsJsonAsync($"{_api.ServicesSms}", messageModel, _options);
|
||||||
if (!response.IsSuccessStatusCode)
|
if (!response.IsSuccessStatusCode)
|
||||||
return new ApiResponseView
|
return new ApiResponseView
|
||||||
{
|
{
|
||||||
|
|
|
@ -44,12 +44,17 @@ public class SystemUserRepository : ISystemUserRepository
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get Advisors (Office)
|
/// Get Users
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<UserManagerListView>> GetUsers()
|
public async Task<List<UserInfoListView>> GetUsers()
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<List<UserManagerListView>>(_api.UserManager);
|
return await _client.GetFromJsonAsync<List<UserInfoListView>>(_api.UserManager);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<List<UserInfoListView>> GetUsers(string role)
|
||||||
|
{
|
||||||
|
return await _client.GetFromJsonAsync<List<UserInfoListView>>($"{_api.UserRoles}/role/{role}");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -57,9 +62,9 @@ public class SystemUserRepository : ISystemUserRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="userId"></param>
|
/// <param name="userId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<UserManagerEditView> GetUserInfo(string userId)
|
public async Task<UserAdminEditView> GetUserInfo(string userId)
|
||||||
{
|
{
|
||||||
return await _client.GetFromJsonAsync<UserManagerEditView>($"{_api.UserManager}/{userId}");
|
return await _client.GetFromJsonAsync<UserAdminEditView>($"{_api.UserManager}/{userId}");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -67,18 +72,18 @@ public class SystemUserRepository : ISystemUserRepository
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<UserManagerEditView> CreateUser(UserManagerCreate model)
|
public async Task<UserAdminEditView> CreateUser(UserAdminCreateModel model)
|
||||||
{
|
{
|
||||||
var result = await _client.PostAsJsonAsync($"{_api.UserManager}", model, _options);
|
var result = await _client.PostAsJsonAsync($"{_api.UserManager}", model, _options);
|
||||||
if (!result.IsSuccessStatusCode)
|
if (!result.IsSuccessStatusCode)
|
||||||
return new UserManagerEditView();
|
return new UserAdminEditView();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return await result.Content.ReadFromJsonAsync<UserManagerEditView>();
|
return await result.Content.ReadFromJsonAsync<UserAdminEditView>();
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
return new UserManagerEditView();
|
return new UserAdminEditView();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +93,7 @@ public class SystemUserRepository : ISystemUserRepository
|
||||||
/// <param name="userId"></param>
|
/// <param name="userId"></param>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task UpdateUserInfo(string userId, UserManagerEditView model)
|
public async Task UpdateUserInfo(string userId, UserAdminEditView model)
|
||||||
{
|
{
|
||||||
await _client.PutAsJsonAsync($"{_api.UserManager}/{userId}", model, _options);
|
await _client.PutAsJsonAsync($"{_api.UserManager}/{userId}", model, _options);
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ public partial class CustomerInventoryListOverlay : IDisposable
|
||||||
|
|
||||||
private string _modalDisplay = "";
|
private string _modalDisplay = "";
|
||||||
private bool _showBackdrop;
|
private bool _showBackdrop;
|
||||||
private CompanyDto Company { get; set; } = new();
|
private CompanyModel Company { get; set; } = new();
|
||||||
// private List<ProductInventoryView> ProductList { get; set; } = new();
|
// private List<ProductInventoryView> ProductList { get; set; } = new();
|
||||||
private DraftItem DraftItem { get; set; } = new();
|
private DraftItem DraftItem { get; set; } = new();
|
||||||
private SalesItemView SalesItem { get; set; } = new();
|
private SalesItemView SalesItem { get; set; } = new();
|
||||||
|
|
|
@ -22,7 +22,7 @@ namespace Wonky.Client.OverlayOffice;
|
||||||
|
|
||||||
public partial class OfficeCustomerActivityListOverlay
|
public partial class OfficeCustomerActivityListOverlay
|
||||||
{
|
{
|
||||||
[Parameter] public CompanyDto Company { get; set; } = new();
|
[Parameter] public CompanyModel Company { get; set; } = new();
|
||||||
[Parameter] public List<ReportItemView> ActivityList { get; set; } = new();
|
[Parameter] public List<ReportItemView> ActivityList { get; set; } = new();
|
||||||
|
|
||||||
private string _modalDisplay = "";
|
private string _modalDisplay = "";
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace Wonky.Client.OverlayOffice;
|
||||||
|
|
||||||
public partial class OfficeCustomerInventoryReorderOverlay
|
public partial class OfficeCustomerInventoryReorderOverlay
|
||||||
{
|
{
|
||||||
[Parameter] public CompanyDto Company { get; set; }
|
[Parameter] public CompanyModel Company { get; set; }
|
||||||
[Parameter] public SalesItemView SalesItem { get; set; } = new();
|
[Parameter] public SalesItemView SalesItem { get; set; } = new();
|
||||||
[Inject] public ICountryCustomerHistoryRepository HistoryRepo { get; set; }
|
[Inject] public ICountryCustomerHistoryRepository HistoryRepo { get; set; }
|
||||||
[Parameter] public EventCallback<DraftItem> OrderItemCallback { get; set; }
|
[Parameter] public EventCallback<DraftItem> OrderItemCallback { get; set; }
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace Wonky.Client.OverlayOffice;
|
||||||
public partial class OfficeCustomerInvoiceListOverlay
|
public partial class OfficeCustomerInvoiceListOverlay
|
||||||
{
|
{
|
||||||
[Parameter] public InvoiceListView InvoiceList { get; set; } = new();
|
[Parameter] public InvoiceListView InvoiceList { get; set; } = new();
|
||||||
[Parameter] public CompanyDto Company { get; set; } = new();
|
[Parameter] public CompanyModel Company { get; set; } = new();
|
||||||
// dependency injection
|
// dependency injection
|
||||||
[Inject] public ILogger<OfficeCustomerInvoiceListOverlay> Logger { get; set; }
|
[Inject] public ILogger<OfficeCustomerInvoiceListOverlay> Logger { get; set; }
|
||||||
private string InvoiceId { get; set; } = "";
|
private string InvoiceId { get; set; } = "";
|
||||||
|
|
|
@ -38,7 +38,7 @@ public partial class OfficeCustomerProductListOverlay : IDisposable
|
||||||
private OfficeCustomerInventoryReorderOverlay ReorderOverlay { get; set; } = new();
|
private OfficeCustomerInventoryReorderOverlay ReorderOverlay { get; set; } = new();
|
||||||
private bool Descending { get; set; }
|
private bool Descending { get; set; }
|
||||||
|
|
||||||
[Parameter] public CompanyDto Company { get; set; } = new();
|
[Parameter] public CompanyModel Company { get; set; } = new();
|
||||||
[Parameter] public List<ProductInventoryView> Inventory { get; set; } = new();
|
[Parameter] public List<ProductInventoryView> Inventory { get; set; } = new();
|
||||||
|
|
||||||
protected override void OnParametersSet()
|
protected override void OnParametersSet()
|
||||||
|
|
|
@ -30,7 +30,7 @@ public partial class OfficeOrderInventoryListOverlay : IDisposable
|
||||||
[Inject] public ICountryCatalogRepository CatalogRepo { get; set; }
|
[Inject] public ICountryCatalogRepository CatalogRepo { get; set; }
|
||||||
[Inject] public ILogger<OfficeOrderInventoryListOverlay> Logger { get; set; }
|
[Inject] public ILogger<OfficeOrderInventoryListOverlay> Logger { get; set; }
|
||||||
|
|
||||||
[Parameter] public CompanyDto Company { get; set; } = new();
|
[Parameter] public CompanyModel Company { get; set; } = new();
|
||||||
[Parameter] public List<ProductInventoryView> Inventory { get; set; } = new();
|
[Parameter] public List<ProductInventoryView> Inventory { get; set; } = new();
|
||||||
[Parameter] public EventCallback<DraftItem> OnSelected { get; set; }
|
[Parameter] public EventCallback<DraftItem> OnSelected { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ namespace Wonky.Client.OverlayOffice;
|
||||||
public partial class OfficeOrderInventoryReorderOverlay
|
public partial class OfficeOrderInventoryReorderOverlay
|
||||||
{
|
{
|
||||||
[Inject] public ICountryCustomerHistoryRepository HistoryRepo { get; set; }
|
[Inject] public ICountryCustomerHistoryRepository HistoryRepo { get; set; }
|
||||||
[Parameter] public CompanyDto Company { get; set; } = new();
|
[Parameter] public CompanyModel Company { get; set; } = new();
|
||||||
[Parameter] public SalesItemView SalesItem { get; set; } = new();
|
[Parameter] public SalesItemView SalesItem { get; set; } = new();
|
||||||
[Parameter] public EventCallback<DraftItem> OnSelected { get; set; }
|
[Parameter] public EventCallback<DraftItem> OnSelected { get; set; }
|
||||||
private List<ProductHistoryView>? ProductHistory { get; set; } = new();
|
private List<ProductHistoryView>? ProductHistory { get; set; } = new();
|
||||||
|
|
|
@ -64,8 +64,8 @@ public partial class AdvisorActivityCreatePage : IDisposable
|
||||||
private readonly JsonSerializerOptions _options = new() { PropertyNameCaseInsensitive = true };
|
private readonly JsonSerializerOptions _options = new() { PropertyNameCaseInsensitive = true };
|
||||||
private SalesItemView SelectedItem { get; set; } = new();
|
private SalesItemView SelectedItem { get; set; } = new();
|
||||||
private UserProfile UserProfile { get; set; } = new();
|
private UserProfile UserProfile { get; set; } = new();
|
||||||
private ActivityDto Activity { get; set; } = new();
|
private ActivityModel Activity { get; set; } = new();
|
||||||
private CompanyDto Company { get; set; } = new();
|
private CompanyModel Company { get; set; } = new();
|
||||||
private EditContext? ActivityContext { get; set; }
|
private EditContext? ActivityContext { get; set; }
|
||||||
private bool PoFormInvalid { get; set; } = true;
|
private bool PoFormInvalid { get; set; } = true;
|
||||||
private bool ShowItem { get; set; }
|
private bool ShowItem { get; set; }
|
||||||
|
@ -77,7 +77,7 @@ public partial class AdvisorActivityCreatePage : IDisposable
|
||||||
private bool InvalidActivity { get; set; } = true;
|
private bool InvalidActivity { get; set; } = true;
|
||||||
private bool ReportClosed { get; set; }
|
private bool ReportClosed { get; set; }
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
private UserManagerEditView SalesRep { get; set; } = new();
|
private UserAdminEditView SalesRep { get; set; } = new();
|
||||||
private DateTime SelectedDate { get; set; }
|
private DateTime SelectedDate { get; set; }
|
||||||
private string OldPhone { get; set; } = "";
|
private string OldPhone { get; set; } = "";
|
||||||
private string PromptDateConfirm { get; set; } = "";
|
private string PromptDateConfirm { get; set; } = "";
|
||||||
|
|
|
@ -136,7 +136,7 @@
|
||||||
<EditForm EditContext="NoteContext">
|
<EditForm EditContext="NoteContext">
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<label class="form-label mb-1" for="office-note">Note /Kontor</label>
|
<label class="form-label mb-1" for="office-note">Note /Kontor</label>
|
||||||
<InputTextArea class="form-control mb-1" id="office-note" rows="5" @bind-Value="Note.OfficeNote"></InputTextArea>
|
<InputTextArea class="form-control mb-1" id="office-note" rows="5" @bind-Value="NoteModel.OfficeNote"></InputTextArea>
|
||||||
<div>
|
<div>
|
||||||
Ordre noten lukkes efter @GraceTime minutter eller når den er plukket.
|
Ordre noten lukkes efter @GraceTime minutter eller når den er plukket.
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -36,7 +36,7 @@ public partial class AdvisorActivityViewEditPage : IDisposable
|
||||||
[Inject] public IToastService Toaster { get; set; }
|
[Inject] public IToastService Toaster { get; set; }
|
||||||
[Inject] public NavigationManager Navigator { get; set; }
|
[Inject] public NavigationManager Navigator { get; set; }
|
||||||
private ReportItemView ReportItem { get; set; } = new();
|
private ReportItemView ReportItem { get; set; } = new();
|
||||||
private ActivityOfficeNote Note { get; set; } = new();
|
private ActivityOfficeNoteModel NoteModel { get; set; } = new();
|
||||||
private EditContext NoteContext { get; set; }
|
private EditContext NoteContext { get; set; }
|
||||||
private bool Disabled { get; set; }
|
private bool Disabled { get; set; }
|
||||||
private int GraceTime { get; set; } = 60;
|
private int GraceTime { get; set; } = 60;
|
||||||
|
@ -47,11 +47,11 @@ public partial class AdvisorActivityViewEditPage : IDisposable
|
||||||
{
|
{
|
||||||
Interceptor.RegisterEvent();
|
Interceptor.RegisterEvent();
|
||||||
Interceptor.RegisterBeforeSendEvent();
|
Interceptor.RegisterBeforeSendEvent();
|
||||||
NoteContext = new EditContext(Note);
|
NoteContext = new EditContext(NoteModel);
|
||||||
NoteContext.OnFieldChanged += HandleFieldChanged;
|
NoteContext.OnFieldChanged += HandleFieldChanged;
|
||||||
ReportItem = await AdvisorActivityRepo.GetReportItem(OrderId);
|
ReportItem = await AdvisorActivityRepo.GetReportItem(OrderId);
|
||||||
Note.ActivityId = ReportItem.ActivityId;
|
NoteModel.ActivityId = ReportItem.ActivityId;
|
||||||
Note.OfficeNote = ReportItem.OfficeNote;
|
NoteModel.OfficeNote = ReportItem.OfficeNote;
|
||||||
Logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(ReportItem));
|
Logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(ReportItem));
|
||||||
Working = false;
|
Working = false;
|
||||||
}
|
}
|
||||||
|
@ -65,8 +65,8 @@ public partial class AdvisorActivityViewEditPage : IDisposable
|
||||||
{
|
{
|
||||||
Working = true;
|
Working = true;
|
||||||
Disabled = true;
|
Disabled = true;
|
||||||
Logger.LogDebug("OfficeNote => \n {}", JsonSerializer.Serialize(Note));
|
Logger.LogDebug("OfficeNote => \n {}", JsonSerializer.Serialize(NoteModel));
|
||||||
await AdvisorActivityRepo.UpdateOfficeNote(Note);
|
await AdvisorActivityRepo.UpdateOfficeNote(NoteModel);
|
||||||
Toaster.ShowInfo($"{ReportItem.ESalesNumber} - notat opdateret");
|
Toaster.ShowInfo($"{ReportItem.ESalesNumber} - notat opdateret");
|
||||||
Navigator.NavigateTo("/advisor/activity-today");
|
Navigator.NavigateTo("/advisor/activity-today");
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ public partial class AdvisorCustomerActivityListPage : IDisposable
|
||||||
[Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; }
|
[Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; }
|
||||||
[Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; }
|
[Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; }
|
||||||
private List<ReportItemView> ActivityList { get; set; } = new();
|
private List<ReportItemView> ActivityList { get; set; } = new();
|
||||||
private CompanyDto Company { get; set; } = new();
|
private CompanyModel Company { get; set; } = new();
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
|
|
|
@ -44,7 +44,7 @@ public partial class AdvisorCustomerCreatePage : IDisposable
|
||||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||||
|
|
||||||
private EditContext CompanyContext { get; set; }
|
private EditContext CompanyContext { get; set; }
|
||||||
private CompanyDto Company { get; set; } = new();
|
private CompanyModel Company { get; set; } = new();
|
||||||
private VatAddress CompanyVatAddress { get; set; } = new();
|
private VatAddress CompanyVatAddress { get; set; } = new();
|
||||||
private VatLookupDkModal VatLookupPopup { get; set; } = new();
|
private VatLookupDkModal VatLookupPopup { get; set; } = new();
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ public partial class AdvisorCustomerInventoryListPage : IDisposable
|
||||||
|
|
||||||
|
|
||||||
private readonly JsonSerializerOptions _options = new JsonSerializerOptions(JsonSerializerDefaults.Web);
|
private readonly JsonSerializerOptions _options = new JsonSerializerOptions(JsonSerializerDefaults.Web);
|
||||||
private CompanyDto Company { get; set; } = new();
|
private CompanyModel Company { get; set; } = new();
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
private SalesItemView SalesItem { get; set; } = new();
|
private SalesItemView SalesItem { get; set; } = new();
|
||||||
private CustomerInventoryReorderOverlay ReorderOverlay { get; set; } = new();
|
private CustomerInventoryReorderOverlay ReorderOverlay { get; set; } = new();
|
||||||
|
|
|
@ -38,7 +38,7 @@ public partial class AdvisorCustomerInvoiceListPage : IDisposable
|
||||||
[Parameter] public string CompanyId { get; set; } = "";
|
[Parameter] public string CompanyId { get; set; } = "";
|
||||||
|
|
||||||
private InvoiceListView CompanyInvoices { get; set; } = new();
|
private InvoiceListView CompanyInvoices { get; set; } = new();
|
||||||
private CompanyDto Company { get; set; } = new();
|
private CompanyModel Company { get; set; } = new();
|
||||||
private CustomerInvoiceViewOverlay CustomerInvoiceView { get; set; } = new();
|
private CustomerInvoiceViewOverlay CustomerInvoiceView { get; set; } = new();
|
||||||
private string InvoiceId { get; set; } = "";
|
private string InvoiceId { get; set; } = "";
|
||||||
private bool Working { get; set; }
|
private bool Working { get; set; }
|
||||||
|
|
|
@ -35,9 +35,9 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
||||||
[Inject] public NavigationManager Navigator { get; set; }
|
[Inject] public NavigationManager Navigator { get; set; }
|
||||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||||
|
|
||||||
private List<CompanyDto> CompanyList { get; set; } = new();
|
private List<CompanyModel> CompanyList { get; set; } = new();
|
||||||
private UserProfile Profile { get; set; } = new();
|
private UserProfile Profile { get; set; } = new();
|
||||||
private UserManagerEditView UserInfo { get; set; } = new();
|
private UserAdminEditView UserInfo { get; set; } = new();
|
||||||
private string SavedSearch { get; set; } = "";
|
private string SavedSearch { get; set; } = "";
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
private MetaData PageData { get; set; } = new();
|
private MetaData PageData { get; set; } = new();
|
||||||
|
@ -78,7 +78,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
||||||
Working = true;
|
Working = true;
|
||||||
ShowFolded = !ShowFolded;
|
ShowFolded = !ShowFolded;
|
||||||
ToggleFoldedText = ShowFolded ? "Normal Visning" : "Vis Lukkede";
|
ToggleFoldedText = ShowFolded ? "Normal Visning" : "Vis Lukkede";
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
Paging.HasFolded = ShowFolded ? 1 : 0;
|
Paging.HasFolded = ShowFolded ? 1 : 0;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
|
@ -89,7 +89,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
||||||
Working = true;
|
Working = true;
|
||||||
ShowHidden = !ShowHidden;
|
ShowHidden = !ShowHidden;
|
||||||
ToggleHiddenText = ShowHidden ? "Normal Visning" : "Inkl. Skjulte";
|
ToggleHiddenText = ShowHidden ? "Normal Visning" : "Inkl. Skjulte";
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
Paging.IsHidden = ShowHidden ? 1 : 0;
|
Paging.IsHidden = ShowHidden ? 1 : 0;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
|
@ -97,14 +97,14 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
||||||
|
|
||||||
private async Task SetSelectedPage(int page)
|
private async Task SetSelectedPage(int page)
|
||||||
{
|
{
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.PageNumber = page;
|
Paging.PageNumber = page;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task SetSearchCol(string searchColumn)
|
private async Task SetSearchCol(string searchColumn)
|
||||||
{
|
{
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.SearchColumn = searchColumn;
|
Paging.SearchColumn = searchColumn;
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
|
@ -112,7 +112,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
||||||
|
|
||||||
private async Task SetPageSize(string pageSize)
|
private async Task SetPageSize(string pageSize)
|
||||||
{
|
{
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.PageSize = Convert.ToInt32(pageSize);
|
Paging.PageSize = Convert.ToInt32(pageSize);
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
|
@ -120,7 +120,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
||||||
|
|
||||||
private async Task SetSearchPhrase(string searchTerm)
|
private async Task SetSearchPhrase(string searchTerm)
|
||||||
{
|
{
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
Paging.SearchTerm = searchTerm;
|
Paging.SearchTerm = searchTerm;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
|
@ -128,7 +128,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
||||||
|
|
||||||
private async Task SetSortCol(string orderBy)
|
private async Task SetSortCol(string orderBy)
|
||||||
{
|
{
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.OrderBy = orderBy;
|
Paging.OrderBy = orderBy;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
}
|
}
|
||||||
|
@ -139,7 +139,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
||||||
/// <param name="companyId"></param>
|
/// <param name="companyId"></param>
|
||||||
private async Task DeleteCompany(string companyId)
|
private async Task DeleteCompany(string companyId)
|
||||||
{
|
{
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
await CompanyRepo.DeleteCompany(companyId);
|
await CompanyRepo.DeleteCompany(companyId);
|
||||||
if (Paging.PageNumber > 1 && CompanyList.Count == 1)
|
if (Paging.PageNumber > 1 && CompanyList.Count == 1)
|
||||||
Paging.PageNumber--;
|
Paging.PageNumber--;
|
||||||
|
@ -158,7 +158,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
PageData = new MetaData();
|
PageData = new MetaData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
||||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||||
|
|
||||||
private readonly JsonSerializerOptions _options = new() { PropertyNameCaseInsensitive = true };
|
private readonly JsonSerializerOptions _options = new() { PropertyNameCaseInsensitive = true };
|
||||||
private CompanyDto Company { get; set; } = new();
|
private CompanyModel Company { get; set; } = new();
|
||||||
private EditContext ErpContext { get; set; }
|
private EditContext ErpContext { get; set; }
|
||||||
private DateTime LastVisit { get; set; }
|
private DateTime LastVisit { get; set; }
|
||||||
private DateTime NextVisit { get; set; }
|
private DateTime NextVisit { get; set; }
|
||||||
|
@ -64,12 +64,12 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
||||||
private bool CountryIsDk { get; set; } = true;
|
private bool CountryIsDk { get; set; } = true;
|
||||||
private bool ErpEditDisabled { get; set; } = true;
|
private bool ErpEditDisabled { get; set; } = true;
|
||||||
private bool VatEditDisabled { get; set; } = true;
|
private bool VatEditDisabled { get; set; } = true;
|
||||||
private List<ContactDto> Contacts { get; set; } = new();
|
private List<ContactModel> Contacts { get; set; } = new();
|
||||||
private VatLookupDkModal VatLookupPopup { get; set; } = new();
|
private VatLookupDkModal VatLookupPopup { get; set; } = new();
|
||||||
private ContactDto SelectedContact { get; set; } = new();
|
private ContactModel SelectedContact { get; set; } = new();
|
||||||
private ContactDto DefaultContact { get; set; } = new();
|
private ContactModel DefaultContact { get; set; } = new();
|
||||||
private ContactModal ContactPopup { get; set; } = new();
|
private ContactModal ContactPopup { get; set; } = new();
|
||||||
private UserManagerEditView UserInfo { get; set; } = new();
|
private UserAdminEditView UserInfo { get; set; } = new();
|
||||||
private string ToggleButtonText { get; set; } = "";
|
private string ToggleButtonText { get; set; } = "";
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
|
@ -79,7 +79,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
||||||
Interceptor.RegisterBeforeSendEvent();
|
Interceptor.RegisterBeforeSendEvent();
|
||||||
|
|
||||||
// initialize default contact
|
// initialize default contact
|
||||||
DefaultContact = new ContactDto { CompanyId = CompanyId, ContactId = "", FirstName = "" };
|
DefaultContact = new ContactModel { CompanyId = CompanyId, ContactId = "", FirstName = "" };
|
||||||
// setup form context
|
// setup form context
|
||||||
ErpContext = new EditContext(Company);
|
ErpContext = new EditContext(Company);
|
||||||
|
|
||||||
|
@ -229,7 +229,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
||||||
/// Open contact edit popup
|
/// Open contact edit popup
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="contact"></param>
|
/// <param name="contact"></param>
|
||||||
private void OpenContactPopup(ContactDto contact)
|
private void OpenContactPopup(ContactModel contact)
|
||||||
{
|
{
|
||||||
// write contact to debug log
|
// write contact to debug log
|
||||||
Logger.LogDebug("CompanyView => SaveContactCallback <= {}", JsonSerializer.Serialize(contact));
|
Logger.LogDebug("CompanyView => SaveContactCallback <= {}", JsonSerializer.Serialize(contact));
|
||||||
|
@ -243,7 +243,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
||||||
/// Callback for writing contact to backend
|
/// Callback for writing contact to backend
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="contact"></param>
|
/// <param name="contact"></param>
|
||||||
private async Task WriteContactCallback(ContactDto contact)
|
private async Task WriteContactCallback(ContactModel contact)
|
||||||
{
|
{
|
||||||
Working = true;
|
Working = true;
|
||||||
// write contact to debug log
|
// write contact to debug log
|
||||||
|
@ -265,7 +265,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
||||||
}
|
}
|
||||||
|
|
||||||
// reset selected contact
|
// reset selected contact
|
||||||
SelectedContact = new ContactDto();
|
SelectedContact = new ContactModel();
|
||||||
// reload contacts from backend
|
// reload contacts from backend
|
||||||
await FetchContacts(CompanyId);
|
await FetchContacts(CompanyId);
|
||||||
Working = false;
|
Working = false;
|
||||||
|
@ -282,7 +282,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
||||||
// send delete request to backend
|
// send delete request to backend
|
||||||
await AdvisorContactRepo.DeleteContact(CompanyId, contactId);
|
await AdvisorContactRepo.DeleteContact(CompanyId, contactId);
|
||||||
// reset selected contact
|
// reset selected contact
|
||||||
SelectedContact = new ContactDto();
|
SelectedContact = new ContactModel();
|
||||||
// reload contacts from backend
|
// reload contacts from backend
|
||||||
await FetchContacts(CompanyId);
|
await FetchContacts(CompanyId);
|
||||||
Working = false;
|
Working = false;
|
||||||
|
@ -368,7 +368,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model"></param>
|
/// <param name="model"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private static VatAddress PrepareVatAddress(CompanyDto model)
|
private static VatAddress PrepareVatAddress(CompanyModel model)
|
||||||
{
|
{
|
||||||
var digits = "1234567890".ToCharArray();
|
var digits = "1234567890".ToCharArray();
|
||||||
// process address1
|
// process address1
|
||||||
|
|
|
@ -39,9 +39,9 @@ public partial class AdvisorReportCreatePage : IDisposable
|
||||||
[Inject] public ILogger<AdvisorReportCreatePage> Logger { get; set; }
|
[Inject] public ILogger<AdvisorReportCreatePage> Logger { get; set; }
|
||||||
[Inject] public IToastService Toaster { get; set; }
|
[Inject] public IToastService Toaster { get; set; }
|
||||||
private EditContext ReportContext { get; set; }
|
private EditContext ReportContext { get; set; }
|
||||||
private ReportDto Report { get; set; } = new();
|
private ReportModel Report { get; set; } = new();
|
||||||
private List<ReportItemView> Activities { get; set; } = new();
|
private List<ReportItemView> Activities { get; set; } = new();
|
||||||
private ReportFiguresDto InitialValues { get; set; } = new();
|
private ReportFiguresModel InitialValues { get; set; } = new();
|
||||||
private UserProfile Profiles { get; set; } = new();
|
private UserProfile Profiles { get; set; } = new();
|
||||||
private bool FormInvalid { get; set; } = true;
|
private bool FormInvalid { get; set; } = true;
|
||||||
private bool NoFigures { get; set; } = true;
|
private bool NoFigures { get; set; } = true;
|
||||||
|
@ -117,8 +117,8 @@ public partial class AdvisorReportCreatePage : IDisposable
|
||||||
return;
|
return;
|
||||||
Working = true;
|
Working = true;
|
||||||
|
|
||||||
Report.Figures = new ReportFiguresDto();
|
Report.Figures = new ReportFiguresModel();
|
||||||
InitialValues = new ReportFiguresDto();
|
InitialValues = new ReportFiguresModel();
|
||||||
Activities = new List<ReportItemView>();
|
Activities = new List<ReportItemView>();
|
||||||
|
|
||||||
var data = await AdvisorReportRepo.InitializeReportData(WorkDate);
|
var data = await AdvisorReportRepo.InitializeReportData(WorkDate);
|
||||||
|
@ -283,8 +283,8 @@ public partial class AdvisorReportCreatePage : IDisposable
|
||||||
ThisWorkDate = DateTime.Parse(workDate);
|
ThisWorkDate = DateTime.Parse(workDate);
|
||||||
|
|
||||||
NoFigures = true;
|
NoFigures = true;
|
||||||
Report.Figures = new ReportFiguresDto();
|
Report.Figures = new ReportFiguresModel();
|
||||||
InitialValues = new ReportFiguresDto();
|
InitialValues = new ReportFiguresModel();
|
||||||
Activities = new List<ReportItemView>();
|
Activities = new List<ReportItemView>();
|
||||||
|
|
||||||
Report.Figures.KmEvening = 0;
|
Report.Figures.KmEvening = 0;
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
@using Wonky.Client.Models
|
@using Wonky.Client.Models
|
||||||
@attribute [Authorize(Roles = "Advisor")]
|
@attribute [Authorize(Roles = "Advisor")]
|
||||||
@page "/advisor/reports/view/{ReportDate}"
|
@page "/advisor/reports/view/{ReportDate}"
|
||||||
<PageTitle>@Report.ReportData.Name</PageTitle>
|
<PageTitle>@Report.ReportDataView.Name</PageTitle>
|
||||||
<div class="row bg-dark text-white rounded-2 mb-2 py-2 align-items-center d-print-none">
|
<div class="row bg-dark text-white rounded-2 mb-2 py-2 align-items-center d-print-none">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<WorkDateComponent OnChangedCallback="FetchReport"/>
|
<WorkDateComponent OnChangedCallback="FetchReport"/>
|
||||||
|
@ -36,22 +36,22 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="report-main d-print-table">
|
<div class="report-main d-print-table">
|
||||||
@if (!string.IsNullOrWhiteSpace(Report.ReportData.DayTypeEnum))
|
@if (!string.IsNullOrWhiteSpace(Report.ReportDataView.DayTypeEnum))
|
||||||
{
|
{
|
||||||
<PageTitle>@Report.ReportData.Name</PageTitle>
|
<PageTitle>@Report.ReportDataView.Name</PageTitle>
|
||||||
<div class="alert bg-light text-dark text-center align-content-center">
|
<div class="alert bg-light text-dark text-center align-content-center">
|
||||||
<h2>@Report.ReportData.Name</h2>
|
<h2>@Report.ReportDataView.Name</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="w-75">
|
<div class="w-75">
|
||||||
<ReportSummaryComponent ReportData="Report.ReportData"/>
|
<ReportSummaryComponent ReportData="Report.ReportDataView"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="w-25">
|
<div class="w-25">
|
||||||
<ReportDistanceLedgerComponent ReportData="Report.ReportData"/>
|
<ReportDistanceLedgerComponent ReportData="Report.ReportDataView"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<AdvisorActivityListComponent ActivityList="Report.ReportItems"/>
|
<AdvisorActivityListComponent ActivityList="Report.ReportItems"/>
|
||||||
<ReportActivityLedgerComponent ReportData="Report.ReportData"/>
|
<ReportActivityLedgerComponent ReportData="Report.ReportDataView"/>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -41,7 +41,7 @@ public partial class AdvisorReportViewPage : IDisposable
|
||||||
private ReportView Report { get; set; } = new();
|
private ReportView Report { get; set; } = new();
|
||||||
private List<ReportItemView> Activities { get; set; } = new ();
|
private List<ReportItemView> Activities { get; set; } = new ();
|
||||||
private bool Working { get; set; }
|
private bool Working { get; set; }
|
||||||
private UserManagerEditView XUserInfo { get; set; } = new();
|
private UserAdminEditView XUserInfo { get; set; } = new();
|
||||||
private string ReturnUrl { get; set; } = "";
|
private string ReturnUrl { get; set; } = "";
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
|
@ -83,7 +83,7 @@ public partial class AdvisorReportViewPage : IDisposable
|
||||||
{
|
{
|
||||||
|
|
||||||
// remove busy signal if report is empty
|
// remove busy signal if report is empty
|
||||||
if (string.IsNullOrWhiteSpace(Report.ReportData.ReportDate))
|
if (string.IsNullOrWhiteSpace(Report.ReportDataView.ReportDate))
|
||||||
{
|
{
|
||||||
Working = false;
|
Working = false;
|
||||||
}
|
}
|
||||||
|
@ -111,9 +111,9 @@ public partial class AdvisorReportViewPage : IDisposable
|
||||||
Activities = Report.ReportItems.Where(x => x.Lines.Any()).ToList();
|
Activities = Report.ReportItems.Where(x => x.Lines.Any()).ToList();
|
||||||
|
|
||||||
// store the report locally
|
// store the report locally
|
||||||
if (!string.IsNullOrWhiteSpace(Report.ReportData.ReportDate))
|
if (!string.IsNullOrWhiteSpace(Report.ReportDataView.ReportDate))
|
||||||
{
|
{
|
||||||
await Storage.SetItemAsync($"{XUserInfo.UserId}-{Report.ReportData.ReportDate}", Report);
|
await Storage.SetItemAsync($"{XUserInfo.UserId}-{Report.ReportDataView.ReportDate}", Report);
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove busy signal
|
// remove busy signal
|
||||||
|
|
|
@ -35,7 +35,7 @@ public partial class AdvisorTaskItemListCrmPage : IDisposable
|
||||||
private UserProfile Profile { get; set; } = new();
|
private UserProfile Profile { get; set; } = new();
|
||||||
private string WorkDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}";
|
private string WorkDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}";
|
||||||
|
|
||||||
private List<TaskItemDto> TaskItems { get; set; } = new();
|
private List<TaskItemModel> TaskItems { get; set; } = new();
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
|
|
|
@ -29,7 +29,7 @@ public partial class AdvisorTaskItemViewCrmPage : IDisposable
|
||||||
[Parameter] public string TaskItemId { get; set; }
|
[Parameter] public string TaskItemId { get; set; }
|
||||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
[Inject] public IAdvisorTaskItemRepository TaskRepo { get; set; }
|
[Inject] public IAdvisorTaskItemRepository TaskRepo { get; set; }
|
||||||
private TaskItemDto TaskItem { get; set; } = new ();
|
private TaskItemModel TaskItem { get; set; } = new ();
|
||||||
private EditContext TaskContext { get; set; }
|
private EditContext TaskContext { get; set; }
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ public partial class AdvisorWorkplaceListPage : IDisposable
|
||||||
[Inject] public IAdvisorCustomerRepository CustomerRepo { get; set; }
|
[Inject] public IAdvisorCustomerRepository CustomerRepo { get; set; }
|
||||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
private List<WorkplaceListView> WorkplaceList { get; set; } = new();
|
private List<WorkplaceListView> WorkplaceList { get; set; } = new();
|
||||||
private CompanyDto Company { get; set; } = new();
|
private CompanyModel Company { get; set; } = new();
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
|
|
||||||
protected override async Task OnParametersSetAsync()
|
protected override async Task OnParametersSetAsync()
|
||||||
|
|
|
@ -31,7 +31,7 @@ public partial class AdvisorWorkplaceViewPage : IDisposable
|
||||||
[Inject] public IAdvisorCustomerRepository CustomerRepo { get; set; }
|
[Inject] public IAdvisorCustomerRepository CustomerRepo { get; set; }
|
||||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
[Inject] public NavigationManager Navigator { get; set; }
|
[Inject] public NavigationManager Navigator { get; set; }
|
||||||
private WorkplaceDto Workplace { get; set; } = new();
|
private WorkplaceModel Workplace { get; set; } = new();
|
||||||
private EditContext WorkplaceContext { get; set; }
|
private EditContext WorkplaceContext { get; set; }
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,6 @@ using Wonky.Client.HttpRepository;
|
||||||
using Wonky.Client.Services;
|
using Wonky.Client.Services;
|
||||||
using Wonky.Entity.Requests;
|
using Wonky.Entity.Requests;
|
||||||
using Wonky.Entity.Views;
|
using Wonky.Entity.Views;
|
||||||
using Wonky.Client.Services;
|
|
||||||
using Wonky.Entity.DTO;
|
using Wonky.Entity.DTO;
|
||||||
|
|
||||||
#pragma warning disable CS8618
|
#pragma warning disable CS8618
|
||||||
|
@ -44,7 +43,7 @@ public partial class CatalogCountryPagedListPage : IDisposable
|
||||||
private MetaData PageData { get; set; } = new();
|
private MetaData PageData { get; set; } = new();
|
||||||
private CatalogPager Paging { get; set; } = new();
|
private CatalogPager Paging { get; set; } = new();
|
||||||
private UserProfile Profiles { get; set; } = new();
|
private UserProfile Profiles { get; set; } = new();
|
||||||
private UserManagerEditView XUserInfo { get; set; } = new();
|
private UserAdminEditView XUserInfo { get; set; } = new();
|
||||||
private bool Working { get; set; }
|
private bool Working { get; set; }
|
||||||
private string CountryName { get; set; } = "";
|
private string CountryName { get; set; } = "";
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ public partial class CommonReportPrintOrderPage
|
||||||
foreach (var item in orders)
|
foreach (var item in orders)
|
||||||
{
|
{
|
||||||
Toaster.ShowInfo($"Behandler {current++} af {count} ordrer. Vent venligst");
|
Toaster.ShowInfo($"Behandler {current++} af {count} ordrer. Vent venligst");
|
||||||
await ProcessRepo.UpdateWarehouseOrderStatus(new OrderProcessState
|
await ProcessRepo.UpdateWarehouseOrderStatus(new OrderProcessStateModel
|
||||||
{
|
{
|
||||||
OrderId = item.ActivityId,
|
OrderId = item.ActivityId,
|
||||||
ProcessStatusEnum = Utils.EnumToString(ProcessStatus.Printed)
|
ProcessStatusEnum = Utils.EnumToString(ProcessStatus.Printed)
|
||||||
|
|
|
@ -29,22 +29,22 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="report-main d-print-table">
|
<div class="report-main d-print-table">
|
||||||
<PageTitle>@Report.ReportData.Name</PageTitle>
|
<PageTitle>@Report.ReportDataView.Name</PageTitle>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="alert border border-2 border-dark text-center align-content-center">
|
<div class="alert border border-2 border-dark text-center align-content-center">
|
||||||
<h3>@Report.ReportData.Name</h3>
|
<h3>@Report.ReportDataView.Name</h3>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="w-75">
|
<div class="w-75">
|
||||||
<ReportSummaryComponent ReportData="Report.ReportData"/>
|
<ReportSummaryComponent ReportData="Report.ReportDataView"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="w-25">
|
<div class="w-25">
|
||||||
<ReportDistanceLedgerComponent ReportData="Report.ReportData"/>
|
<ReportDistanceLedgerComponent ReportData="Report.ReportDataView"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<OfficeReportActivityListComponent ActivityList="Report.ReportItems"/>
|
<OfficeReportActivityListComponent ActivityList="Report.ReportItems"/>
|
||||||
<ReportActivityLedgerComponent ReportData="Report.ReportData"/>
|
<ReportActivityLedgerComponent ReportData="Report.ReportDataView"/>
|
||||||
</div>
|
</div>
|
|
@ -36,7 +36,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-8">
|
<div class="col-lg-8">
|
||||||
<div class="card-body py-5 px-md-5">
|
<div class="card-body py-5 px-md-5">
|
||||||
<EditForm Model="CredentialDto" OnValidSubmit="ExecuteLogin" class="form">
|
<EditForm Model="CredentialModel" OnValidSubmit="ExecuteLogin" class="form">
|
||||||
<DataAnnotationsValidator/>
|
<DataAnnotationsValidator/>
|
||||||
@* username *@
|
@* username *@
|
||||||
<div class="input-group mb-4">
|
<div class="input-group mb-4">
|
||||||
|
@ -44,8 +44,8 @@
|
||||||
<i class="bi-at"></i>
|
<i class="bi-at"></i>
|
||||||
</span>
|
</span>
|
||||||
<InputText type="email" class="form-control" aria-described-by="at"
|
<InputText type="email" class="form-control" aria-described-by="at"
|
||||||
@bind-Value="CredentialDto.Email" autocomplete="username"/>
|
@bind-Value="CredentialModel.Email" autocomplete="username"/>
|
||||||
<ValidationMessage For="@(() => CredentialDto.Email)"/>
|
<ValidationMessage For="@(() => CredentialModel.Email)"/>
|
||||||
</div>
|
</div>
|
||||||
@* current-password *@
|
@* current-password *@
|
||||||
<div class="input-group mb-4">
|
<div class="input-group mb-4">
|
||||||
|
@ -53,8 +53,8 @@
|
||||||
<i class="oi oi-key"></i>
|
<i class="oi oi-key"></i>
|
||||||
</span>
|
</span>
|
||||||
<InputText type="password" class="form-control" aria-described-by="key"
|
<InputText type="password" class="form-control" aria-described-by="key"
|
||||||
@bind-Value="CredentialDto.Password" autocomplete="current-password"/>
|
@bind-Value="CredentialModel.Password" autocomplete="current-password"/>
|
||||||
<ValidationMessage For="@(() => CredentialDto.Password)"/>
|
<ValidationMessage For="@(() => CredentialModel.Password)"/>
|
||||||
</div>
|
</div>
|
||||||
@* submit button *@
|
@* submit button *@
|
||||||
<div class="d-grid">
|
<div class="d-grid">
|
||||||
|
|
|
@ -27,7 +27,7 @@ public partial class Login
|
||||||
[Inject] public IAuthenticationService AuthenticationService { get; set; }
|
[Inject] public IAuthenticationService AuthenticationService { get; set; }
|
||||||
[Inject] public ILogger<Login> Logger { get; set; }
|
[Inject] public ILogger<Login> Logger { get; set; }
|
||||||
[Parameter] public string ReturnUrl { get; set; } = "";
|
[Parameter] public string ReturnUrl { get; set; } = "";
|
||||||
private CredentialDto CredentialDto { get; set; } = new ();
|
private CredentialModel CredentialModel { get; set; } = new ();
|
||||||
private bool ShowAuthError { get; set; }
|
private bool ShowAuthError { get; set; }
|
||||||
private string? Error { get; set; }
|
private string? Error { get; set; }
|
||||||
private bool execLogin = false;
|
private bool execLogin = false;
|
||||||
|
@ -37,7 +37,7 @@ public partial class Login
|
||||||
ShowAuthError = false;
|
ShowAuthError = false;
|
||||||
execLogin = true;
|
execLogin = true;
|
||||||
|
|
||||||
var result = await AuthenticationService.Login(CredentialDto);
|
var result = await AuthenticationService.Login(CredentialModel);
|
||||||
if (!result.IsSuccess)
|
if (!result.IsSuccess)
|
||||||
{
|
{
|
||||||
Error = result.ErrorMessage;
|
Error = result.ErrorMessage;
|
||||||
|
|
|
@ -35,24 +35,24 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="report-main d-print-print">
|
<div class="report-main d-print-print">
|
||||||
@if (!string.IsNullOrWhiteSpace(Report.ReportData.DayTypeEnum))
|
@if (!string.IsNullOrWhiteSpace(Report.ReportDataView.DayTypeEnum))
|
||||||
{
|
{
|
||||||
<PageTitle>@Report.ReportData.Name</PageTitle>
|
<PageTitle>@Report.ReportDataView.Name</PageTitle>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="alert border border-1 border-dark text-center align-content-center">
|
<div class="alert border border-1 border-dark text-center align-content-center">
|
||||||
<h3>@Report.ReportData.Name</h3>
|
<h3>@Report.ReportDataView.Name</h3>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="w-75">
|
<div class="w-75">
|
||||||
<ReportSummaryComponent ReportData="Report.ReportData"/>
|
<ReportSummaryComponent ReportData="Report.ReportDataView"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="w-25">
|
<div class="w-25">
|
||||||
<ReportDistanceLedgerComponent ReportData="Report.ReportData"/>
|
<ReportDistanceLedgerComponent ReportData="Report.ReportDataView"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<OfficeReportActivityListComponent ActivityList="Report.ReportItems"/>
|
<OfficeReportActivityListComponent ActivityList="Report.ReportItems"/>
|
||||||
<ReportActivityLedgerComponent ReportData="Report.ReportData"/>
|
<ReportActivityLedgerComponent ReportData="Report.ReportDataView"/>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -98,7 +98,7 @@ public partial class OfficeAdvisorReportViewPage : IDisposable
|
||||||
foreach (var item in orders)
|
foreach (var item in orders)
|
||||||
{
|
{
|
||||||
Toaster.ShowInfo($"Behandler {current++} af {count} ordrer. Vent venligst");
|
Toaster.ShowInfo($"Behandler {current++} af {count} ordrer. Vent venligst");
|
||||||
await ProcessRepo.UpdateWarehouseOrderStatus(new OrderProcessState
|
await ProcessRepo.UpdateWarehouseOrderStatus(new OrderProcessStateModel
|
||||||
{
|
{
|
||||||
OrderId = item.ActivityId,
|
OrderId = item.ActivityId,
|
||||||
ProcessStatusEnum = Utils.EnumToString(ProcessStatus.Printed)
|
ProcessStatusEnum = Utils.EnumToString(ProcessStatus.Printed)
|
||||||
|
@ -115,7 +115,7 @@ public partial class OfficeAdvisorReportViewPage : IDisposable
|
||||||
private async Task FetchUserReport(string workDate)
|
private async Task FetchUserReport(string workDate)
|
||||||
{
|
{
|
||||||
// remove busy signal if report is empty
|
// remove busy signal if report is empty
|
||||||
if (string.IsNullOrWhiteSpace(Report.ReportData.ReportDate))
|
if (string.IsNullOrWhiteSpace(Report.ReportDataView.ReportDate))
|
||||||
{
|
{
|
||||||
Working = false;
|
Working = false;
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ public partial class OfficeAdvisorReportViewPage : IDisposable
|
||||||
Activities = Report.ReportItems.Where(x => x.Lines.Any()).ToList();
|
Activities = Report.ReportItems.Where(x => x.Lines.Any()).ToList();
|
||||||
|
|
||||||
// store locally
|
// store locally
|
||||||
if (!string.IsNullOrWhiteSpace(Report.ReportData.ReportDate))
|
if (!string.IsNullOrWhiteSpace(Report.ReportDataView.ReportDate))
|
||||||
{
|
{
|
||||||
await Storage.SetItemAsync($"{UserId}-{workDate}", Report);
|
await Storage.SetItemAsync($"{UserId}-{workDate}", Report);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,12 +30,12 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
||||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
[Inject] public ICountryCustomerRepository CustomerRepo { get; set; }
|
[Inject] public ICountryCustomerRepository CustomerRepo { get; set; }
|
||||||
[Inject] public UserProfileService UserProfileService { get; set; }
|
[Inject] public UserProfileService UserProfileService { get; set; }
|
||||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
[Inject] public IOfficeUserInfoRepository UserRepo { get; set; }
|
||||||
|
|
||||||
[Parameter] public string UserId { get; set; } = "";
|
[Parameter] public string UserId { get; set; } = "";
|
||||||
[Parameter] public string CountryCode { get; set; } = "dk";
|
[Parameter] public string CountryCode { get; set; } = "dk";
|
||||||
|
|
||||||
private List<CompanyDto> CompanyList { get; set; } = new();
|
private List<CompanyModel> CompanyList { get; set; } = new();
|
||||||
private MetaData PageData { get; set; } = new();
|
private MetaData PageData { get; set; } = new();
|
||||||
private CustomerPaging Paging { get; set; } = new();
|
private CustomerPaging Paging { get; set; } = new();
|
||||||
private UserProfile UserProfile { get; set; } = new();
|
private UserProfile UserProfile { get; set; } = new();
|
||||||
|
@ -44,7 +44,7 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
||||||
private bool ShowFolded { get; set; }
|
private bool ShowFolded { get; set; }
|
||||||
private string ToggleFoldedText { get; set; } = "Vis Lukkede";
|
private string ToggleFoldedText { get; set; } = "Vis Lukkede";
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
private UserManagerEditView SalesRep { get; set; } = new();
|
private UserAdvisorInfoView SalesRep { get; set; } = new();
|
||||||
|
|
||||||
protected override async Task OnParametersSetAsync()
|
protected override async Task OnParametersSetAsync()
|
||||||
{
|
{
|
||||||
|
@ -73,7 +73,7 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
||||||
Working = true;
|
Working = true;
|
||||||
ShowFolded = !ShowFolded;
|
ShowFolded = !ShowFolded;
|
||||||
ToggleFoldedText = ShowFolded ? "Normal Visning" : "Vis Lukkede";
|
ToggleFoldedText = ShowFolded ? "Normal Visning" : "Vis Lukkede";
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
Paging.HasFolded = ShowFolded ? 1 : 0;
|
Paging.HasFolded = ShowFolded ? 1 : 0;
|
||||||
await FetchCompanies();
|
await FetchCompanies();
|
||||||
|
@ -81,14 +81,14 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
||||||
|
|
||||||
private async Task SetSelectedPage(int page)
|
private async Task SetSelectedPage(int page)
|
||||||
{
|
{
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.PageNumber = page;
|
Paging.PageNumber = page;
|
||||||
await FetchCompanies();
|
await FetchCompanies();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task SetSearchCol(string searchColumn)
|
private async Task SetSearchCol(string searchColumn)
|
||||||
{
|
{
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.SearchColumn = searchColumn;
|
Paging.SearchColumn = searchColumn;
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
await FetchCompanies();
|
await FetchCompanies();
|
||||||
|
@ -96,7 +96,7 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
||||||
|
|
||||||
private async Task SetPageSize(string pageSize)
|
private async Task SetPageSize(string pageSize)
|
||||||
{
|
{
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.PageSize = Convert.ToInt32(pageSize);
|
Paging.PageSize = Convert.ToInt32(pageSize);
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
await FetchCompanies();
|
await FetchCompanies();
|
||||||
|
@ -106,7 +106,7 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
||||||
{
|
{
|
||||||
// if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.Length < 3) return;
|
// if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.Length < 3) return;
|
||||||
|
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
Paging.SearchTerm = searchTerm;
|
Paging.SearchTerm = searchTerm;
|
||||||
await FetchCompanies();
|
await FetchCompanies();
|
||||||
|
@ -119,7 +119,7 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
||||||
|
|
||||||
private async Task SetSortCol(string orderBy)
|
private async Task SetSortCol(string orderBy)
|
||||||
{
|
{
|
||||||
CompanyList = new List<CompanyDto>();
|
CompanyList = new List<CompanyModel>();
|
||||||
Paging.OrderBy = orderBy;
|
Paging.OrderBy = orderBy;
|
||||||
await FetchCompanies();
|
await FetchCompanies();
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,9 +36,9 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
||||||
[Inject] public NavigationManager Navigator { get; set; }
|
[Inject] public NavigationManager Navigator { get; set; }
|
||||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||||
|
|
||||||
private List<CompanyDto> Companies { get; set; } = new();
|
private List<CompanyModel> Companies { get; set; } = new();
|
||||||
private UserProfile Profiles { get; set; } = new();
|
private UserProfile Profiles { get; set; } = new();
|
||||||
private UserManagerEditView XUserInfo { get; set; } = new();
|
private UserAdminEditView UserInfo { get; set; } = new();
|
||||||
private string SavedSearch { get; set; } = "";
|
private string SavedSearch { get; set; } = "";
|
||||||
private bool ShowFolded { get; set; }
|
private bool ShowFolded { get; set; }
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
|
@ -55,7 +55,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
||||||
|
|
||||||
// set preferences
|
// set preferences
|
||||||
Profiles = await ProfileService.GetProfile();
|
Profiles = await ProfileService.GetProfile();
|
||||||
XUserInfo = await UserInfoService.GetUserInfo();
|
UserInfo = await UserInfoService.GetUserInfo();
|
||||||
Paging.OrderBy = Profiles.CompanySort;
|
Paging.OrderBy = Profiles.CompanySort;
|
||||||
Paging.SearchColumn = Profiles.CompanySearch;
|
Paging.SearchColumn = Profiles.CompanySearch;
|
||||||
Paging.PageSize = Convert.ToInt32(Profiles.PageSize);
|
Paging.PageSize = Convert.ToInt32(Profiles.PageSize);
|
||||||
|
@ -74,7 +74,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
||||||
Working = true;
|
Working = true;
|
||||||
ShowFolded = !ShowFolded;
|
ShowFolded = !ShowFolded;
|
||||||
ToggleFoldedText = ShowFolded ? "Normal Visning" : "Vis Lukkede";
|
ToggleFoldedText = ShowFolded ? "Normal Visning" : "Vis Lukkede";
|
||||||
Companies = new List<CompanyDto>();
|
Companies = new List<CompanyModel>();
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
Paging.HasFolded = ShowFolded ? 1 : 0;
|
Paging.HasFolded = ShowFolded ? 1 : 0;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
|
@ -83,7 +83,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
||||||
private async Task SetSelectedPage(int page)
|
private async Task SetSelectedPage(int page)
|
||||||
{
|
{
|
||||||
Working = true;
|
Working = true;
|
||||||
Companies = new List<CompanyDto>();
|
Companies = new List<CompanyModel>();
|
||||||
Paging.PageNumber = page;
|
Paging.PageNumber = page;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
}
|
}
|
||||||
|
@ -91,7 +91,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
||||||
private async Task SetSearchCol(string searchColumn)
|
private async Task SetSearchCol(string searchColumn)
|
||||||
{
|
{
|
||||||
Working = true;
|
Working = true;
|
||||||
Companies = new List<CompanyDto>();
|
Companies = new List<CompanyModel>();
|
||||||
Paging.SearchColumn = searchColumn;
|
Paging.SearchColumn = searchColumn;
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
|
@ -99,7 +99,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
||||||
private async Task SetPageSize(string pageSize)
|
private async Task SetPageSize(string pageSize)
|
||||||
{
|
{
|
||||||
Working = true;
|
Working = true;
|
||||||
Companies = new List<CompanyDto>();
|
Companies = new List<CompanyModel>();
|
||||||
Paging.PageSize = Convert.ToInt32(pageSize);
|
Paging.PageSize = Convert.ToInt32(pageSize);
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
|
@ -108,7 +108,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
||||||
private async Task SetSearchPhrase(string searchTerm)
|
private async Task SetSearchPhrase(string searchTerm)
|
||||||
{
|
{
|
||||||
Working = true;
|
Working = true;
|
||||||
Companies = new List<CompanyDto>();
|
Companies = new List<CompanyModel>();
|
||||||
Paging.PageNumber = 1;
|
Paging.PageNumber = 1;
|
||||||
Paging.SearchTerm = searchTerm;
|
Paging.SearchTerm = searchTerm;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
|
@ -117,7 +117,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
||||||
private async Task SetSortCol(string orderBy)
|
private async Task SetSortCol(string orderBy)
|
||||||
{
|
{
|
||||||
Working = true;
|
Working = true;
|
||||||
Companies = new List<CompanyDto>();
|
Companies = new List<CompanyModel>();
|
||||||
Paging.OrderBy = orderBy;
|
Paging.OrderBy = orderBy;
|
||||||
await FetchCustomers();
|
await FetchCustomers();
|
||||||
}
|
}
|
||||||
|
@ -134,7 +134,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Companies = new List<CompanyDto>();
|
Companies = new List<CompanyModel>();
|
||||||
PageData = new MetaData();
|
PageData = new MetaData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,11 +58,11 @@ public partial class OfficeOrderCreatePage : IDisposable
|
||||||
// private variables
|
// private variables
|
||||||
private readonly JsonSerializerOptions _options = new() {PropertyNameCaseInsensitive = true};
|
private readonly JsonSerializerOptions _options = new() {PropertyNameCaseInsensitive = true};
|
||||||
// class objects
|
// class objects
|
||||||
private CompanyDto Company { get; set; } = new();
|
private CompanyModel Company { get; set; } = new();
|
||||||
private UserManagerEditView UserInfo { get; set; } = new();
|
private UserAdminEditView UserInfo { get; set; } = new();
|
||||||
private SalesItemView SelectedItem { get; set; } = new();
|
private SalesItemView SelectedItem { get; set; } = new();
|
||||||
private ActivityDto Activity { get; set; } = new();
|
private ActivityModel Activity { get; set; } = new();
|
||||||
private UserManagerEditView SalesRep { get; set; } = new();
|
private UserAdminEditView SalesRep { get; set; } = new();
|
||||||
// edit context
|
// edit context
|
||||||
private EditContext ActivityContext { get; set; }
|
private EditContext ActivityContext { get; set; }
|
||||||
// variables
|
// variables
|
||||||
|
|
|
@ -36,7 +36,7 @@ public partial class OfficeOrderViewPage : IDisposable
|
||||||
[Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; }
|
[Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; }
|
||||||
[Inject] public ISystemSendMailService MailService { get; set; }
|
[Inject] public ISystemSendMailService MailService { get; set; }
|
||||||
[Inject] public ILocalStorageService Storage { get; set; }
|
[Inject] public ILocalStorageService Storage { get; set; }
|
||||||
[Inject] public ISystemUserRepository SystemUserRepo { get; set; }
|
[Inject] public IOfficeUserInfoRepository UserRepo { get; set; }
|
||||||
[Inject] public ILogger<OfficeOrderViewPage> Logger { get; set; }
|
[Inject] public ILogger<OfficeOrderViewPage> Logger { get; set; }
|
||||||
[Inject] public IToastService Toast { get; set; }
|
[Inject] public IToastService Toast { get; set; }
|
||||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||||
|
@ -76,7 +76,7 @@ public partial class OfficeOrderViewPage : IDisposable
|
||||||
// get user info from storage
|
// get user info from storage
|
||||||
var user = await UserInfoService.GetUserInfo();
|
var user = await UserInfoService.GetUserInfo();
|
||||||
// fetch sales rep from response
|
// fetch sales rep from response
|
||||||
var salesRep = await SystemUserRepo.GetUserInfo(responseView.Id);
|
var salesRep = await UserRepo.GetUserInfo(responseView.Id);
|
||||||
Logger.LogDebug("SetExpressState => salesRep => {}", JsonSerializer.Serialize(salesRep));
|
Logger.LogDebug("SetExpressState => salesRep => {}", JsonSerializer.Serialize(salesRep));
|
||||||
// create email notification body
|
// create email notification body
|
||||||
var body = new StringBuilder();
|
var body = new StringBuilder();
|
||||||
|
@ -90,7 +90,7 @@ public partial class OfficeOrderViewPage : IDisposable
|
||||||
body.AppendLine($"{user.FirstName} {user.LastName}");
|
body.AppendLine($"{user.FirstName} {user.LastName}");
|
||||||
body.AppendLine($"{user.PhoneNumber}");
|
body.AppendLine($"{user.PhoneNumber}");
|
||||||
// create a list of mail addresses
|
// create a list of mail addresses
|
||||||
var sendTo = new List<EmailContact>
|
var sendTo = new List<EmailContactModel>
|
||||||
{
|
{
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
|
@ -99,7 +99,7 @@ public partial class OfficeOrderViewPage : IDisposable
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
// create an email
|
// create an email
|
||||||
var msg = new EmailMessage
|
var msg = new EmailMessageModel
|
||||||
{
|
{
|
||||||
Body = body.ToString(),
|
Body = body.ToString(),
|
||||||
Subject = $"Haste ordre til {ReportItem.Company.Name} er modtaget.",
|
Subject = $"Haste ordre til {ReportItem.Company.Name} er modtaget.",
|
||||||
|
|
|
@ -18,6 +18,8 @@ using Wonky.Client.Helpers;
|
||||||
using Wonky.Client.HttpInterceptors;
|
using Wonky.Client.HttpInterceptors;
|
||||||
using Wonky.Client.HttpRepository;
|
using Wonky.Client.HttpRepository;
|
||||||
using Wonky.Entity.DTO;
|
using Wonky.Entity.DTO;
|
||||||
|
using Wonky.Entity.Views;
|
||||||
|
|
||||||
#pragma warning disable CS8618
|
#pragma warning disable CS8618
|
||||||
|
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
@ -25,9 +27,9 @@ namespace Wonky.Client.Pages;
|
||||||
public partial class OfficeUserAdvisorListPage :IDisposable
|
public partial class OfficeUserAdvisorListPage :IDisposable
|
||||||
{
|
{
|
||||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
[Inject] public ISystemUserRepository SystemUserRepo { get; set; }
|
[Inject] public IOfficeUserInfoRepository UserRepo { get; set; }
|
||||||
[Parameter] public string CountryCode { get; set; } = "";
|
[Parameter] public string CountryCode { get; set; } = "";
|
||||||
private List<UserManagerListView> SalesReps { get; set; } = new();
|
private List<UserInfoListView> SalesReps { get; set; } = new();
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
private string CountryName { get; set; } = "";
|
private string CountryName { get; set; } = "";
|
||||||
|
|
||||||
|
@ -36,9 +38,9 @@ public partial class OfficeUserAdvisorListPage :IDisposable
|
||||||
Interceptor.RegisterEvent();
|
Interceptor.RegisterEvent();
|
||||||
Interceptor.RegisterBeforeSendEvent();
|
Interceptor.RegisterBeforeSendEvent();
|
||||||
CountryName = Utils.CountryName(CountryCode);
|
CountryName = Utils.CountryName(CountryCode);
|
||||||
var AdvisorList = await SystemUserRepo.GetUsers();
|
var AdvisorList = await UserRepo.GetUsers("Advisor");
|
||||||
SalesReps = AdvisorList
|
SalesReps = AdvisorList
|
||||||
.Where(x => x.CountryCode.ToLower() == CountryCode && int.TryParse(x.SalesRep, out _))
|
.OrderBy(x => x.FullName)
|
||||||
.ToList();
|
.ToList();
|
||||||
Working = false;
|
Working = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,11 +19,11 @@
|
||||||
@attribute [Authorize(Roles = "Admin,Office")]
|
@attribute [Authorize(Roles = "Admin,Office")]
|
||||||
@page "/office/users/advisors/{CountryCode}/{UserId}/reports"
|
@page "/office/users/advisors/{CountryCode}/{UserId}/reports"
|
||||||
|
|
||||||
<PageTitle>Rapport Arkiv @UserInfo.FirstName @UserInfo.LastName</PageTitle>
|
<PageTitle>Rapport Arkiv @AdvisorInfo.FirstName @AdvisorInfo.LastName</PageTitle>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<div class="mt-3 h3 card-title">
|
<div class="mt-3 h3 card-title">
|
||||||
Rapport Arkiv - @UserInfo.FirstName @UserInfo.LastName
|
Rapport Arkiv - @AdvisorInfo.FirstName @AdvisorInfo.LastName
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<OfficeReportListComponent OnShowReport="ShowThisReport" CountryCode="@CountryCode" UserId="@UserId" ReportList="@ActivityReports" />
|
<OfficeReportListComponent OnShowReport="ShowThisReport" CountryCode="@CountryCode" UserId="@UserId" ReportList="@ActivityReports" />
|
||||||
|
|
|
@ -29,11 +29,11 @@ public partial class OfficeUserAdvisorReportListPage : IDisposable
|
||||||
[Parameter] public string CountryCode { get; set; } = "";
|
[Parameter] public string CountryCode { get; set; } = "";
|
||||||
[Inject] public ICountryReportRepository ReportRepo { get; set; }
|
[Inject] public ICountryReportRepository ReportRepo { get; set; }
|
||||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
[Inject] public ISystemUserRepository SystemUserRepo { get; set; }
|
[Inject] public IOfficeUserInfoRepository UserRepo { get; set; }
|
||||||
[Inject] public NavigationManager Navigator { get; set; }
|
[Inject] public NavigationManager Navigator { get; set; }
|
||||||
private List<SalesReportListView> ActivityReports { get; set; } = new();
|
private List<SalesReportListView> ActivityReports { get; set; } = new();
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
private UserManagerEditView UserInfo { get; set; } = new();
|
private UserAdvisorInfoView AdvisorInfo { get; set; } = new();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// override OnParametersSeAsync
|
/// override OnParametersSeAsync
|
||||||
|
@ -43,8 +43,8 @@ public partial class OfficeUserAdvisorReportListPage : IDisposable
|
||||||
Interceptor.RegisterEvent();
|
Interceptor.RegisterEvent();
|
||||||
Interceptor.RegisterBeforeSendEvent();
|
Interceptor.RegisterBeforeSendEvent();
|
||||||
|
|
||||||
UserInfo = await SystemUserRepo.GetUserInfo(UserId);
|
AdvisorInfo = await UserRepo.GetUserInfo(UserId);
|
||||||
while (string.IsNullOrWhiteSpace(UserInfo.UserId))
|
while (string.IsNullOrWhiteSpace(AdvisorInfo.UserId))
|
||||||
{
|
{
|
||||||
await Task.Delay(500);
|
await Task.Delay(500);
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,9 +35,9 @@ public partial class OfficeUserAdvisorViewEditPage : IDisposable
|
||||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||||
[Inject] public ILogger<OfficeUserAdvisorViewEditPage> Logger { get; set; }
|
[Inject] public ILogger<OfficeUserAdvisorViewEditPage> Logger { get; set; }
|
||||||
[Inject] public IToastService Toaster { get; set; }
|
[Inject] public IToastService Toaster { get; set; }
|
||||||
private UserManagerEditView UserInfo { get; set; } = new();
|
private UserAdminEditView UserInfo { get; set; } = new();
|
||||||
private EditContext UserEditContext { get; set; }
|
private EditContext UserEditContext { get; set; }
|
||||||
private ResetPasswordDto Passwords { get; set; } = new();
|
private ResetPasswordModel Passwords { get; set; } = new();
|
||||||
private EditContext PasswdContext { get; set; }
|
private EditContext PasswdContext { get; set; }
|
||||||
private bool PwInvalid { get; set; } = true;
|
private bool PwInvalid { get; set; } = true;
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
|
|
82
Wonky.Client/Pages/SupervisorAdvisorListPage.razor
Normal file
82
Wonky.Client/Pages/SupervisorAdvisorListPage.razor
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
@* Copyright (C) 2022 FCS Frede's Computer Services.
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
||||||
|
*@
|
||||||
|
|
||||||
|
@using Microsoft.AspNetCore.Authorization
|
||||||
|
@attribute [Authorize(Roles = "Supervisor")]
|
||||||
|
@page "/supervisor/salesReps"
|
||||||
|
|
||||||
|
<PageTitle>Supervisor Sælger Oversigt</PageTitle>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<h3>Supervisor Sælger Oversigt</h3>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<div class="text-end">
|
||||||
|
<div class="busy-signal" style="display:@(Working ? "block" : "none")">
|
||||||
|
<div class="spinner-grow text-info" role="status">
|
||||||
|
<span class="visually-hidden">Loading...</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="list-group">
|
||||||
|
<div class="list-group-item">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-1 mt-3">
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 mt-3">
|
||||||
|
<div class="h4">Navn</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3 mt-3">
|
||||||
|
<div class="h4">Email</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2 mt-3">
|
||||||
|
<div class="h4">Telefon</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2 text-end mt-1">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@if (Users.Any())
|
||||||
|
{
|
||||||
|
foreach (var user in Users)
|
||||||
|
{
|
||||||
|
<a class="list-group-item list-group-item-action" href="/supervisor/salesReps/@user.UserId">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-1">
|
||||||
|
@user.CountryCode @user.SalesRep
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
@user.FullName
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
@user.Email
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
@user.PhoneNumber
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
@user.Description
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</div>
|
35
Wonky.Client/Pages/SupervisorAdvisorListPage.razor.cs
Normal file
35
Wonky.Client/Pages/SupervisorAdvisorListPage.razor.cs
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using Wonky.Client.HttpInterceptors;
|
||||||
|
using Wonky.Client.HttpRepository;
|
||||||
|
using Wonky.Entity.DTO;
|
||||||
|
using Wonky.Entity.Views;
|
||||||
|
|
||||||
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
|
#pragma warning disable CS8618
|
||||||
|
|
||||||
|
public partial class SupervisorAdvisorListPage : IDisposable
|
||||||
|
{
|
||||||
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
|
[Inject] public IOfficeUserInfoRepository UserRepo { get; set; }
|
||||||
|
|
||||||
|
private List<UserInfoListView> Users { get; set; } = new();
|
||||||
|
|
||||||
|
private bool Working { get; set; } = true;
|
||||||
|
|
||||||
|
protected override async Task OnInitializedAsync()
|
||||||
|
{
|
||||||
|
Interceptor.RegisterEvent();
|
||||||
|
Interceptor.RegisterBeforeSendEvent();
|
||||||
|
|
||||||
|
Users = await UserRepo.GetSupervisorUsers();
|
||||||
|
|
||||||
|
Working = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
Interceptor.DisposeEvent();
|
||||||
|
}
|
||||||
|
}
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
<div class="row mb-5">
|
<div class="row mb-5">
|
||||||
<div class="col-sm-12 d-grid mx-auto">
|
<div class="col-sm-12 d-grid mx-auto">
|
||||||
<textarea id="message" cols="50" rows="5" @bind-Value:event="oninput" @bind-Value="Message.Body"></textarea>
|
<textarea id="message" cols="50" rows="5" @bind-Value:event="oninput" @bind-Value="MessageModel.Body"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row ms-2">
|
<div class="row ms-2">
|
||||||
|
|
|
@ -17,11 +17,11 @@ public partial class SystemMaintenanceMessagePage : IDisposable
|
||||||
[Inject] public ILogger<SystemMaintenanceMessagePage> Logger { get; set; }
|
[Inject] public ILogger<SystemMaintenanceMessagePage> Logger { get; set; }
|
||||||
[Inject] public IToastService Toaster { get; set; }
|
[Inject] public IToastService Toaster { get; set; }
|
||||||
|
|
||||||
private List<UserManagerListView> Users { get; set; } = new();
|
private List<UserInfoListView> Users { get; set; } = new();
|
||||||
private ShortMessage Message { get; set; } = new();
|
private ShortMessageModel MessageModel { get; set; } = new();
|
||||||
private List<Recipient> Recipients { get; set; } = new();
|
private List<Recipient> Recipients { get; set; } = new();
|
||||||
private ApiResponseView SmsResponse { get; set; } = new();
|
private ApiResponseView SmsResponse { get; set; } = new();
|
||||||
private ClxMessage? ClxMsg { get; set; } = new();
|
private ClxMessageView? ClxMsg { get; set; } = new();
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
private bool MsgSent { get; set; }
|
private bool MsgSent { get; set; }
|
||||||
|
|
||||||
|
@ -58,20 +58,20 @@ public partial class SystemMaintenanceMessagePage : IDisposable
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(Message.Body))
|
if (string.IsNullOrWhiteSpace(MessageModel.Body))
|
||||||
{
|
{
|
||||||
Toaster.ShowError("Meddelelsesfeltet er tomt!");
|
Toaster.ShowError("Meddelelsesfeltet er tomt!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Message.From = "Innotec IT";
|
MessageModel.From = "Innotec IT";
|
||||||
Message.To = string.Join(",", recipients);
|
MessageModel.To = string.Join(",", recipients);
|
||||||
|
|
||||||
Logger.LogDebug("{}", JsonSerializer.Serialize(Message, _options));
|
Logger.LogDebug("{}", JsonSerializer.Serialize(MessageModel, _options));
|
||||||
|
|
||||||
SmsResponse = await SmsService.SendSms(Message);
|
SmsResponse = await SmsService.SendSms(MessageModel);
|
||||||
if (SmsResponse.Code == 201)
|
if (SmsResponse.Code == 201)
|
||||||
{
|
{
|
||||||
ClxMsg = JsonSerializer.Deserialize<ClxMessage>(SmsResponse.Message);
|
ClxMsg = JsonSerializer.Deserialize<ClxMessageView>(SmsResponse.Message);
|
||||||
MsgSent = true;
|
MsgSent = true;
|
||||||
}
|
}
|
||||||
Working = false;
|
Working = false;
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
|
#pragma warning disable CS8618
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class SystemManagerLandingPage
|
public partial class SystemManagerLandingPage
|
||||||
|
|
|
@ -19,17 +19,66 @@
|
||||||
@page "/system/supervisors"
|
@page "/system/supervisors"
|
||||||
|
|
||||||
<PageTitle>Supervisor Oversigt</PageTitle>
|
<PageTitle>Supervisor Oversigt</PageTitle>
|
||||||
|
<div class="row">
|
||||||
<div class="card">
|
<div class="col">
|
||||||
<div class="card-header bg-dark text-white">
|
<h3>Supervisor Oversigt</h3>
|
||||||
<div class="mt-3 h3 card-title">
|
</div>
|
||||||
Supervisor Oversigt
|
<div class="col">
|
||||||
|
<div class="text-end">
|
||||||
|
<div class="busy-signal" style="display:@(Working ? "block" : "none")">
|
||||||
|
<div class="spinner-grow text-info" role="status">
|
||||||
|
<span class="visually-hidden">Loading...</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@code {
|
|
||||||
|
|
||||||
}
|
<div class="list-group">
|
||||||
|
<div class="list-group-item">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-1 mt-3">
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 mt-3">
|
||||||
|
<div class="h4">Navn</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3 mt-3">
|
||||||
|
<div class="h4">Email</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2 mt-3">
|
||||||
|
<div class="h4">Telefon</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2 text-end mt-1">
|
||||||
|
<a class="btn btn-primary" href="/system/users"><i class="bi-plus-lg"></i>Opret Supervisor</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@if (Users.Any())
|
||||||
|
{
|
||||||
|
foreach (var user in Users)
|
||||||
|
{
|
||||||
|
<a class="list-group-item list-group-item-action" href="/system/supervisors/@user.UserId">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-1">
|
||||||
|
@user.CountryCode @user.SalesRep
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
@user.FullName
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
@user.Email
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
@user.PhoneNumber
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
@user.Description
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</div>
|
45
Wonky.Client/Pages/SystemSupervisorListPage.razor.cs
Normal file
45
Wonky.Client/Pages/SystemSupervisorListPage.razor.cs
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
// 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.HttpRepository;
|
||||||
|
using Wonky.Entity.DTO;
|
||||||
|
using Wonky.Entity.Views;
|
||||||
|
|
||||||
|
#pragma warning disable CS8618
|
||||||
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
|
public partial class SystemSupervisorListPage : IDisposable
|
||||||
|
{
|
||||||
|
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||||
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
|
private List<UserInfoListView> Users { get; set; } = new();
|
||||||
|
|
||||||
|
private bool Working { get; set; } = true;
|
||||||
|
|
||||||
|
protected override async Task OnInitializedAsync()
|
||||||
|
{
|
||||||
|
Interceptor.RegisterEvent();
|
||||||
|
Interceptor.RegisterBeforeSendEvent();
|
||||||
|
Users = await UserRepo.GetUsers("Supervisor");
|
||||||
|
Working = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
Interceptor.DisposeEvent();
|
||||||
|
}
|
||||||
|
}
|
66
Wonky.Client/Pages/SystemSupervisorViewEditPage.razor
Normal file
66
Wonky.Client/Pages/SystemSupervisorViewEditPage.razor
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
@* Copyright (C) 2022 FCS Frede's Computer Services.
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
|
||||||
|
*@
|
||||||
|
|
||||||
|
@using Microsoft.AspNetCore.Authorization
|
||||||
|
@using System.Text.Json
|
||||||
|
@attribute [Authorize(Roles = "Admin")]
|
||||||
|
@page "/system/supervisors/{UserId}"
|
||||||
|
|
||||||
|
<PageTitle>Supervisor Sælger Tilknytning</PageTitle>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<h3>Supervisor Sælger Tilknytning</h3>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<div class="text-end">
|
||||||
|
<div class="busy-signal" style="display:@(Working ? "block" : "none")">
|
||||||
|
<div class="spinner-grow text-info" role="status">
|
||||||
|
<span class="visually-hidden">Loading...</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<EditForm EditContext="UserAssignmentContext" OnValidSubmit="SaveChanges">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<div class="card-title h3">
|
||||||
|
@UserData.FirstName @UserData.LastName
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="card-title">
|
||||||
|
Supervisor for valgte sælgere
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
@if (UserData.AssignedUsers.Any())
|
||||||
|
{
|
||||||
|
foreach (var user in UserData.AssignedUsers)
|
||||||
|
{
|
||||||
|
<div class="form-check">
|
||||||
|
<InputCheckbox id="@(user.UserId)" class="form-check-input" @bind-Value="user.Assigned"/>
|
||||||
|
<label class="form-check-label">@user.FullName</label>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
<div class="card-footer">
|
||||||
|
<div class="text-end">
|
||||||
|
<button class="btn btn-primary" type="submit">Gem ændringer</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</EditForm>
|
65
Wonky.Client/Pages/SystemSupervisorViewEditPage.razor.cs
Normal file
65
Wonky.Client/Pages/SystemSupervisorViewEditPage.razor.cs
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
// 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.Text.Json;
|
||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using Microsoft.AspNetCore.Components.Forms;
|
||||||
|
using Wonky.Client.HttpInterceptors;
|
||||||
|
using Wonky.Client.HttpRepository;
|
||||||
|
using Wonky.Entity.DTO;
|
||||||
|
|
||||||
|
#pragma warning disable CS8618
|
||||||
|
|
||||||
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
|
public partial class SystemSupervisorViewEditPage : IDisposable
|
||||||
|
{
|
||||||
|
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||||
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
|
[Inject] public ILogger<SystemSupervisorViewEditPage> Logger { get; set; }
|
||||||
|
|
||||||
|
private readonly JsonSerializerOptions _options = new JsonSerializerOptions
|
||||||
|
{
|
||||||
|
PropertyNameCaseInsensitive = true
|
||||||
|
};
|
||||||
|
[Parameter] public string UserId { get; set; } = "";
|
||||||
|
private UserAdminEditView UserData { get; set; } = new();
|
||||||
|
private bool Working { get; set; } = true;
|
||||||
|
private EditContext UserAssignmentContext { get; set; }
|
||||||
|
|
||||||
|
protected override async Task OnInitializedAsync()
|
||||||
|
{
|
||||||
|
Interceptor.RegisterEvent();
|
||||||
|
Interceptor.RegisterBeforeSendEvent();
|
||||||
|
|
||||||
|
UserAssignmentContext = new EditContext(UserData);
|
||||||
|
|
||||||
|
UserData = await UserRepo.GetUserInfo(UserId);
|
||||||
|
|
||||||
|
Working = false;
|
||||||
|
|
||||||
|
Logger.LogDebug("UserData => {}", JsonSerializer.Serialize(UserData, _options));
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task SaveChanges()
|
||||||
|
{
|
||||||
|
await UserRepo.UpdateUserInfo(UserId, UserData);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
Interceptor.DisposeEvent();
|
||||||
|
}
|
||||||
|
}
|
|
@ -34,7 +34,7 @@ public partial class SystemUserCreatePage : IDisposable
|
||||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||||
[Inject] public ILogger<SystemUserCreatePage> Logger { get; set; }
|
[Inject] public ILogger<SystemUserCreatePage> Logger { get; set; }
|
||||||
[Inject] public IToastService Toaster { get; set; }
|
[Inject] public IToastService Toaster { get; set; }
|
||||||
private UserManagerCreate NewUserInfo { get; set; } = new();
|
private UserAdminCreateModel NewUserInfo { get; set; } = new();
|
||||||
private EditContext NewUserContext { get; set; }
|
private EditContext NewUserContext { get; set; }
|
||||||
private bool ContextInvalid { get; set; } = true;
|
private bool ContextInvalid { get; set; } = true;
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
|
|
|
@ -38,18 +38,18 @@
|
||||||
<div class="list-group">
|
<div class="list-group">
|
||||||
<div class="list-group-item">
|
<div class="list-group-item">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-1">
|
<div class="col-sm-1 mt-3">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4 mt-3">
|
||||||
<div class="h4">Navn</div>
|
<div class="h4">Navn</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3 mt-3">
|
||||||
<div class="h4">Email</div>
|
<div class="h4">Email</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2 mt-3">
|
||||||
<div class="h4">Telefon</div>
|
<div class="h4">Telefon</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-2 text-end">
|
<div class="col-sm-2 text-end mt-1">
|
||||||
<a class="btn btn-primary" href="/system/users/create"><i class="bi-plus-lg"></i>Opret bruger</a>
|
<a class="btn btn-primary" href="/system/users/create"><i class="bi-plus-lg"></i>Opret bruger</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -74,7 +74,9 @@
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
@user.PhoneNumber
|
@user.PhoneNumber
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-2"></div>
|
<div class="col-sm-2">
|
||||||
|
@user.Description
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,9 @@ using Microsoft.AspNetCore.Components;
|
||||||
using Wonky.Client.HttpInterceptors;
|
using Wonky.Client.HttpInterceptors;
|
||||||
using Wonky.Client.HttpRepository;
|
using Wonky.Client.HttpRepository;
|
||||||
using Wonky.Entity.DTO;
|
using Wonky.Entity.DTO;
|
||||||
|
using Wonky.Entity.Views;
|
||||||
|
|
||||||
|
#pragma warning disable CS8618
|
||||||
namespace Wonky.Client.Pages;
|
namespace Wonky.Client.Pages;
|
||||||
|
|
||||||
public partial class SystemUserListPage : IDisposable
|
public partial class SystemUserListPage : IDisposable
|
||||||
|
@ -26,7 +28,7 @@ public partial class SystemUserListPage : IDisposable
|
||||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||||
|
|
||||||
private List<UserManagerListView> UserList { get; set; } = new();
|
private List<UserInfoListView> UserList { get; set; } = new();
|
||||||
|
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
|
|
|
@ -59,15 +59,21 @@
|
||||||
Email
|
Email
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<InputText id="email" class="form-control" @bind-Value="UserData.Email" readonly="@ReadOnly" />
|
<div class="form-floating">
|
||||||
|
<InputText id="email" class="form-control" @bind-Value="UserData.Email" readonly="@ReadOnly" placeholder="name@innotec.dk"/>
|
||||||
|
<label for="email">Email adresse - bruges til login</label>
|
||||||
<ValidationMessage For="@(() => UserData.Email)"></ValidationMessage>
|
<ValidationMessage For="@(() => UserData.Email)"></ValidationMessage>
|
||||||
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<th scope="col">
|
<th scope="col">
|
||||||
Mobilnummer
|
Mobilnummer
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<InputText id="phoneNumber" class="form-control" @bind-Value="UserData.PhoneNumber" readonly="@ReadOnly" />
|
<div class="form-floating">
|
||||||
|
<InputText id="phoneNumber" class="form-control" @bind-Value="UserData.PhoneNumber" readonly="@ReadOnly" placeholder="+45 20202020"/>
|
||||||
|
<label for="phoneNumber">Mobil nummer - bruges til korte beskeder</label>
|
||||||
<ValidationMessage For="@(() => UserData.PhoneNumber)"></ValidationMessage>
|
<ValidationMessage For="@(() => UserData.PhoneNumber)"></ValidationMessage>
|
||||||
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="align-middle">
|
<tr class="align-middle">
|
||||||
|
@ -75,8 +81,11 @@
|
||||||
Sælgernr.
|
Sælgernr.
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<InputText id="salesRep" class="form-control" @bind-Value="UserData.SalesRep" readonly="@ReadOnly" />
|
<div class="form-floating">
|
||||||
|
<InputText id="salesRep" class="form-control" @bind-Value="UserData.SalesRep" readonly="@ReadOnly" placeholder="10"/>
|
||||||
|
<label for="salesRep">Sælgernummer fra ERP</label>
|
||||||
<ValidationMessage For="@(() => UserData.SalesRep)"></ValidationMessage>
|
<ValidationMessage For="@(() => UserData.SalesRep)"></ValidationMessage>
|
||||||
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<th scope="col">
|
<th scope="col">
|
||||||
Landekode
|
Landekode
|
||||||
|
@ -96,8 +105,11 @@
|
||||||
</td>
|
</td>
|
||||||
<th scope="col">Beskrivelse</th>
|
<th scope="col">Beskrivelse</th>
|
||||||
<td>
|
<td>
|
||||||
<InputText id="description" class="form-control" @bind-Value="@UserData.Description" readonly="@ReadOnly"/>
|
<div class="form-floating">
|
||||||
|
<InputText id="description" class="form-control" @bind-Value="@UserData.Description" readonly="@ReadOnly" placeholder="Info tekst"/>
|
||||||
|
<label for="description">Kort bruger beskrivelse</label>
|
||||||
<ValidationMessage For="@(() => UserData.Description)"></ValidationMessage>
|
<ValidationMessage For="@(() => UserData.Description)"></ValidationMessage>
|
||||||
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
|
@ -35,9 +35,9 @@ public partial class SystemUserViewEditPage : IDisposable
|
||||||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||||
[Inject] public ILogger<SystemUserViewEditPage> Logger { get; set; }
|
[Inject] public ILogger<SystemUserViewEditPage> Logger { get; set; }
|
||||||
[Inject] public IToastService Toaster { get; set; }
|
[Inject] public IToastService Toaster { get; set; }
|
||||||
private UserManagerEditView UserData { get; set; } = new();
|
private UserAdminEditView UserData { get; set; } = new();
|
||||||
private EditContext UserEditContext { get; set; }
|
private EditContext UserEditContext { get; set; }
|
||||||
private ResetPasswordDto Passwords { get; set; } = new();
|
private ResetPasswordModel Passwords { get; set; } = new();
|
||||||
private EditContext PasswdContext { get; set; }
|
private EditContext PasswdContext { get; set; }
|
||||||
private bool PwInvalid { get; set; } = true;
|
private bool PwInvalid { get; set; } = true;
|
||||||
private bool Working { get; set; } = true;
|
private bool Working { get; set; } = true;
|
||||||
|
|
|
@ -85,7 +85,7 @@ public partial class WarehouseOrderListPage : IDisposable
|
||||||
Working = true;
|
Working = true;
|
||||||
var order = OrderList.First(x => x.OrderId == orderId);
|
var order = OrderList.First(x => x.OrderId == orderId);
|
||||||
order.ProcessStatusEnum = "packed";
|
order.ProcessStatusEnum = "packed";
|
||||||
var process = new OrderProcessState
|
var process = new OrderProcessStateModel
|
||||||
{
|
{
|
||||||
OrderId = order.OrderId,
|
OrderId = order.OrderId,
|
||||||
ProcessStatusEnum = "packed"
|
ProcessStatusEnum = "packed"
|
||||||
|
@ -103,7 +103,7 @@ public partial class WarehouseOrderListPage : IDisposable
|
||||||
foreach (var order in OrderList.Where(order => order.ProcessStatusEnum.ToLower() == "packed"))
|
foreach (var order in OrderList.Where(order => order.ProcessStatusEnum.ToLower() == "packed"))
|
||||||
{
|
{
|
||||||
order.ProcessStatusEnum = "shipped";
|
order.ProcessStatusEnum = "shipped";
|
||||||
var process = new OrderProcessState
|
var process = new OrderProcessStateModel
|
||||||
{
|
{
|
||||||
OrderId = order.OrderId,
|
OrderId = order.OrderId,
|
||||||
ProcessStatusEnum = "shipped"
|
ProcessStatusEnum = "shipped"
|
||||||
|
|
|
@ -54,7 +54,7 @@ public partial class WarehouseOrderViewPage : IDisposable
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Working = true;
|
Working = true;
|
||||||
var process = new OrderProcessState
|
var process = new OrderProcessStateModel
|
||||||
{
|
{
|
||||||
OrderId = Order.OrderId,
|
OrderId = Order.OrderId,
|
||||||
ProcessStatusEnum = "picked"
|
ProcessStatusEnum = "picked"
|
||||||
|
@ -68,7 +68,7 @@ public partial class WarehouseOrderViewPage : IDisposable
|
||||||
if (Working)
|
if (Working)
|
||||||
return;
|
return;
|
||||||
Working = true;
|
Working = true;
|
||||||
var process = new OrderProcessState
|
var process = new OrderProcessStateModel
|
||||||
{
|
{
|
||||||
OrderId = Order.OrderId,
|
OrderId = Order.OrderId,
|
||||||
ProcessStatusEnum = "packed"
|
ProcessStatusEnum = "packed"
|
||||||
|
@ -82,7 +82,7 @@ public partial class WarehouseOrderViewPage : IDisposable
|
||||||
if (Working)
|
if (Working)
|
||||||
return;
|
return;
|
||||||
Working = true;
|
Working = true;
|
||||||
var process = new OrderProcessState
|
var process = new OrderProcessStateModel
|
||||||
{
|
{
|
||||||
OrderId = Order.OrderId,
|
OrderId = Order.OrderId,
|
||||||
ProcessStatusEnum = "shipped"
|
ProcessStatusEnum = "shipped"
|
||||||
|
|
|
@ -55,7 +55,7 @@ public class AuthenticationService : IAuthenticationService
|
||||||
_localStorage = localStorage;
|
_localStorage = localStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<AuthResponseView> Login(CredentialDto credentials)
|
public async Task<AuthResponseView> Login(CredentialModel credentials)
|
||||||
{
|
{
|
||||||
var credForm = new Dictionary<string, string>
|
var credForm = new Dictionary<string, string>
|
||||||
{
|
{
|
||||||
|
@ -133,13 +133,13 @@ public class AuthenticationService : IAuthenticationService
|
||||||
((AuthStateProvider)_authStateProvider).NotifyUserLogout();
|
((AuthStateProvider)_authStateProvider).NotifyUserLogout();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<UserManagerEditView> UserInfo(bool write = false)
|
public async Task<UserAdminEditView> UserInfo(bool write = false)
|
||||||
{
|
{
|
||||||
var response = await _client.GetAsync(_apiConfig.Value.UserInfo).ConfigureAwait(true);
|
var response = await _client.GetAsync(_apiConfig.Value.UserInfo).ConfigureAwait(true);
|
||||||
var content = await response.Content.ReadAsStringAsync();
|
var content = await response.Content.ReadAsStringAsync();
|
||||||
var userInfo = JsonSerializer.Deserialize<UserManagerEditView>(content, _options);
|
var userInfo = JsonSerializer.Deserialize<UserAdminEditView>(content, _options);
|
||||||
if(write)
|
if(write)
|
||||||
await _infoService.SetUserInfo(userInfo);
|
await _infoService.SetUserInfo(userInfo);
|
||||||
return userInfo ?? new UserManagerEditView();
|
return userInfo ?? new UserAdminEditView();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -21,8 +21,8 @@ namespace Wonky.Client.Services;
|
||||||
|
|
||||||
public interface IAuthenticationService
|
public interface IAuthenticationService
|
||||||
{
|
{
|
||||||
Task<AuthResponseView> Login(CredentialDto credentials);
|
Task<AuthResponseView> Login(CredentialModel credentials);
|
||||||
Task Logout();
|
Task Logout();
|
||||||
Task<string> RefreshToken();
|
Task<string> RefreshToken();
|
||||||
Task<UserManagerEditView> UserInfo(bool write = false);
|
Task<UserAdminEditView> UserInfo(bool write = false);
|
||||||
}
|
}
|
|
@ -20,8 +20,8 @@ namespace Wonky.Client.Services;
|
||||||
|
|
||||||
public interface IUserInfoService
|
public interface IUserInfoService
|
||||||
{
|
{
|
||||||
Task<UserManagerEditView> GetUserInfo();
|
Task<UserAdminEditView> GetUserInfo();
|
||||||
Task SetUserInfo(UserManagerEditView userInfo);
|
Task SetUserInfo(UserAdminEditView userInfo);
|
||||||
Task<string> GetRefreshToken();
|
Task<string> GetRefreshToken();
|
||||||
Task SetRefreshToken(string token);
|
Task SetRefreshToken(string token);
|
||||||
Task<string> GetAccessToken();
|
Task<string> GetAccessToken();
|
||||||
|
|
|
@ -36,12 +36,12 @@ public class UserInfoService : IUserInfoService
|
||||||
_localStorageService = localStorageService;
|
_localStorageService = localStorageService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<UserManagerEditView> GetUserInfo()
|
public async Task<UserAdminEditView> GetUserInfo()
|
||||||
{
|
{
|
||||||
return await _localStorageService.GetItemAsync<UserManagerEditView>(_infoKey);
|
return await _localStorageService.GetItemAsync<UserAdminEditView>(_infoKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SetUserInfo(UserManagerEditView userInfo)
|
public async Task SetUserInfo(UserAdminEditView userInfo)
|
||||||
{
|
{
|
||||||
await _localStorageService.SetItemAsync(_infoKey, userInfo);
|
await _localStorageService.SetItemAsync(_infoKey, userInfo);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,13 +30,13 @@ namespace Wonky.Client.Shared;
|
||||||
|
|
||||||
public partial class ContactModal
|
public partial class ContactModal
|
||||||
{
|
{
|
||||||
[Parameter] public ContactDto ParamContact { get; set; } = new();
|
[Parameter] public ContactModel ParamContact { get; set; } = new();
|
||||||
[Parameter] public string CompanyName { get; set; } = "";
|
[Parameter] public string CompanyName { get; set; } = "";
|
||||||
[Parameter] public IAdvisorContactRepository ContactRepo { get; set; }
|
[Parameter] public IAdvisorContactRepository ContactRepo { get; set; }
|
||||||
[Parameter] public HttpInterceptorService Interceptor { get; set; }
|
[Parameter] public HttpInterceptorService Interceptor { get; set; }
|
||||||
[Parameter] public EventCallback<ContactDto> OnSaveClicked { get; set; }
|
[Parameter] public EventCallback<ContactModel> OnSaveClicked { get; set; }
|
||||||
[Parameter] public EventCallback<string> OnDeleteClicked { get; set; }
|
[Parameter] public EventCallback<string> OnDeleteClicked { get; set; }
|
||||||
private ContactDto Contact { get; set; } = new();
|
private ContactModel Contact { get; set; } = new();
|
||||||
private string _modalDisplay = "";
|
private string _modalDisplay = "";
|
||||||
private bool _showBackdrop;
|
private bool _showBackdrop;
|
||||||
private bool DisableDelete { get; set; }
|
private bool DisableDelete { get; set; }
|
||||||
|
@ -44,7 +44,7 @@ public partial class ContactModal
|
||||||
|
|
||||||
protected override void OnParametersSet()
|
protected override void OnParametersSet()
|
||||||
{
|
{
|
||||||
Contact = new ContactDto
|
Contact = new ContactModel
|
||||||
{
|
{
|
||||||
CompanyId = ParamContact.CompanyId,
|
CompanyId = ParamContact.CompanyId,
|
||||||
ContactId = ParamContact.ContactId,
|
ContactId = ParamContact.ContactId,
|
||||||
|
@ -84,7 +84,7 @@ public partial class ContactModal
|
||||||
{
|
{
|
||||||
_modalDisplay = "none;";
|
_modalDisplay = "none;";
|
||||||
_showBackdrop = false;
|
_showBackdrop = false;
|
||||||
Contact = new ContactDto();
|
Contact = new ContactModel();
|
||||||
StateHasChanged();
|
StateHasChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue