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]
|
||||
*@
|
||||
|
||||
@using Wonky.Client.Pages
|
||||
|
||||
<CascadingAuthenticationState>
|
||||
<DraftStateProvider>
|
||||
|
@ -30,7 +31,7 @@
|
|||
</Found>
|
||||
<NotFound>
|
||||
<LayoutView Layout="@typeof(MainLayout)">
|
||||
<Page404/>
|
||||
<ErrorPage404 />
|
||||
</LayoutView>
|
||||
</NotFound>
|
||||
</Router>
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace Wonky.Client.Components;
|
|||
|
||||
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> OnSelect { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
|
|
|
@ -87,6 +87,6 @@
|
|||
@code{
|
||||
|
||||
[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)
|
||||
{
|
||||
var val = e.Value.ToString();
|
||||
var val = e.Value!.ToString();
|
||||
if (val == "-1") return;
|
||||
await OnChanged.InvokeAsync(val);
|
||||
}
|
||||
|
|
|
@ -15,10 +15,11 @@
|
|||
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Wonky.Entity.DTO;
|
||||
using Wonky.Entity.Views;
|
||||
|
||||
namespace Wonky.Client.Components;
|
||||
|
||||
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
|
||||
[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; }
|
||||
[CascadingParameter] public DraftStateProvider DraftProvider { get; set; }
|
||||
|
||||
|
@ -54,7 +54,7 @@ public partial class OfficeCountryCustomerListComponent
|
|||
private InvoiceListView InvoiceList { get; set; } = new();
|
||||
private List<ReportItemView> ActivityList { get; set; } = new();
|
||||
private List<ProductInventoryView> ProductList { get; set; } = new();
|
||||
private CompanyDto SelectedCompany { get; set; } = new();
|
||||
private CompanyModel SelectedCompany { get; set; } = new();
|
||||
|
||||
// ******************************************************
|
||||
// functions
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
|
||||
@using Wonky.Client.Helpers
|
||||
@using Wonky.Client.Helpers
|
||||
|
||||
@if (ActivityList.Any())
|
||||
{
|
||||
<table class="table table-sm table-bordered d-print-table table-striped">
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<thead>
|
||||
<tr class="bg-dark text-white opacity-75 border-bottom">
|
||||
<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" colspan="4" scope="col">Måneds Resultat</th>
|
||||
</tr>
|
||||
|
@ -40,47 +40,47 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th scope="row">N</th>
|
||||
<td class="text-end">@ReportData.NewVisitCount</td>
|
||||
<td class="text-end">@ReportData.NewDemoCount</td>
|
||||
<td class="text-end">@ReportData.NewSaleCount</td>
|
||||
<td class="text-end border-end">@ReportData.NewTurnover</td>
|
||||
<td class="text-end">@ReportData.NewVisitCountMonth</td>
|
||||
<td class="text-end">@ReportData.NewDemoCountMonth</td>
|
||||
<td class="text-end">@ReportData.NewSaleCountMonth</td>
|
||||
<td class="text-end">@ReportData.NewTurnoverMonth</td>
|
||||
<td class="text-end">@ReportDataView.NewVisitCount</td>
|
||||
<td class="text-end">@ReportDataView.NewDemoCount</td>
|
||||
<td class="text-end">@ReportDataView.NewSaleCount</td>
|
||||
<td class="text-end border-end">@ReportDataView.NewTurnover</td>
|
||||
<td class="text-end">@ReportDataView.NewVisitCountMonth</td>
|
||||
<td class="text-end">@ReportDataView.NewDemoCountMonth</td>
|
||||
<td class="text-end">@ReportDataView.NewSaleCountMonth</td>
|
||||
<td class="text-end">@ReportDataView.NewTurnoverMonth</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">R</th>
|
||||
<td class="text-end">@ReportData.RecallVisitCount</td>
|
||||
<td class="text-end">@ReportData.RecallDemoCount</td>
|
||||
<td class="text-end">@ReportData.RecallSaleCount</td>
|
||||
<td class="text-end border-end">@ReportData.RecallTurnover</td>
|
||||
<td class="text-end">@ReportData.RecallVisitCountMonth</td>
|
||||
<td class="text-end">@ReportData.RecallDemoCountMonth</td>
|
||||
<td class="text-end">@ReportData.RecallSaleCountMonth</td>
|
||||
<td class="text-end">@ReportData.RecallTurnoverMonth</td>
|
||||
<td class="text-end">@ReportDataView.RecallVisitCount</td>
|
||||
<td class="text-end">@ReportDataView.RecallDemoCount</td>
|
||||
<td class="text-end">@ReportDataView.RecallSaleCount</td>
|
||||
<td class="text-end border-end">@ReportDataView.RecallTurnover</td>
|
||||
<td class="text-end">@ReportDataView.RecallVisitCountMonth</td>
|
||||
<td class="text-end">@ReportDataView.RecallDemoCountMonth</td>
|
||||
<td class="text-end">@ReportDataView.RecallSaleCountMonth</td>
|
||||
<td class="text-end">@ReportDataView.RecallTurnoverMonth</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">SAS</th>
|
||||
<td class="bg-light"></td>
|
||||
<td class="bg-light"></td>
|
||||
<td class="text-end">@ReportData.SasCount</td>
|
||||
<td class="text-end border-end">@ReportData.SasTurnover</td>
|
||||
<td class="text-end">@ReportDataView.SasCount</td>
|
||||
<td class="text-end border-end">@ReportDataView.SasTurnover</td>
|
||||
<td class="bg-light"></td>
|
||||
<td class="bg-light"></td>
|
||||
<td class="text-end">@ReportData.SasCountMonth</td>
|
||||
<td class="text-end">@ReportData.SasTurnoverMonth</td>
|
||||
<td class="text-end">@ReportDataView.SasCountMonth</td>
|
||||
<td class="text-end">@ReportDataView.SasTurnoverMonth</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">TOTAL</th>
|
||||
<td class="text-end">@ReportData.TotalVisitCount</td>
|
||||
<td class="text-end">@ReportData.TotalDemoCount</td>
|
||||
<td class="text-end">@ReportData.TotalSaleCount</td>
|
||||
<td class="text-end border-end">@ReportData.TotalTurnover</td>
|
||||
<td class="text-end">@ReportData.TotalVisitCountMonth</td>
|
||||
<td class="text-end">@ReportData.TotalDemoCountMonth</td>
|
||||
<td class="text-end">@ReportData.TotalSaleCountMonth</td>
|
||||
<td class="text-end">@ReportData.TotalTurnoverMonth</td>
|
||||
<td class="text-end">@ReportDataView.TotalVisitCount</td>
|
||||
<td class="text-end">@ReportDataView.TotalDemoCount</td>
|
||||
<td class="text-end">@ReportDataView.TotalSaleCount</td>
|
||||
<td class="text-end border-end">@ReportDataView.TotalTurnover</td>
|
||||
<td class="text-end">@ReportDataView.TotalVisitCountMonth</td>
|
||||
<td class="text-end">@ReportDataView.TotalDemoCountMonth</td>
|
||||
<td class="text-end">@ReportDataView.TotalSaleCountMonth</td>
|
||||
<td class="text-end">@ReportDataView.TotalTurnoverMonth</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -88,5 +88,5 @@
|
|||
</div>
|
||||
|
||||
@code{
|
||||
[Parameter] public ReportData ReportData { get; set; } = new();
|
||||
[Parameter] public ReportDataView ReportDataView { get; set; } = new();
|
||||
}
|
|
@ -26,27 +26,27 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">Aften</th>
|
||||
<td class="text-end">@ReportData.KmEvening</td>
|
||||
<td class="text-end">@ReportDataView.KmEvening</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Morgen</th>
|
||||
<td class="text-end">@ReportData.KmMorning</td>
|
||||
<td class="text-end">@ReportDataView.KmMorning</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Kørt Dag</th>
|
||||
<td class="text-end">@ReportData.Distance</td>
|
||||
<td class="text-end">@ReportDataView.Distance</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Kørt Md.</th>
|
||||
<td class="text-end">@ReportData.DistanceMonth</td>
|
||||
<td class="text-end">@ReportDataView.DistanceMonth</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Privat</th>
|
||||
<td class="text-end">@ReportData.DistancePrivate</td>
|
||||
<td class="text-end">@ReportDataView.DistancePrivate</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Privat Md.</th>
|
||||
<td class="text-end">@ReportData.DistancePrivateMonth</td>
|
||||
<td class="text-end">@ReportDataView.DistancePrivateMonth</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -20,6 +20,6 @@ namespace Wonky.Client.Components;
|
|||
|
||||
public partial class ReportDistanceLedgerComponent
|
||||
{
|
||||
[Parameter] public ReportData ReportData { get; set; } = new();
|
||||
[Parameter] public ReportDataView ReportDataView { get; set; } = new();
|
||||
|
||||
}
|
|
@ -24,20 +24,20 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">Beskrivelse</th>
|
||||
<td colspan="2">@ReportData.Description</td>
|
||||
<td colspan="2">@ReportDataView.Description</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Supervisor</th>
|
||||
<td colspan="2">@ReportData.SupervisedBy</td>
|
||||
<td colspan="2">@ReportDataView.SupervisedBy</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Dækkende</th>
|
||||
<td colspan="2">
|
||||
@{
|
||||
switch (ReportData.DayTypeEnum)
|
||||
switch (ReportDataView.DayTypeEnum)
|
||||
{
|
||||
case "Sales":
|
||||
<span>Salgsdag @ReportData.SalesDayNumber</span>
|
||||
<span>Salgsdag @ReportDataView.SalesDayNumber</span>
|
||||
break;
|
||||
case "SickLeave":
|
||||
<span>Sygefravær</span>
|
||||
|
@ -65,16 +65,16 @@
|
|||
<th scope="row">Periode</th>
|
||||
<td>
|
||||
@{
|
||||
switch (ReportData.DayTypeEnum)
|
||||
switch (ReportDataView.DayTypeEnum)
|
||||
{
|
||||
case "Sales":
|
||||
<span>@(ReportData.FromDateTime.Split(" ")[1])</span>
|
||||
<span>@(ReportDataView.FromDateTime.Split(" ")[1])</span>
|
||||
break;
|
||||
case "SickLeave":
|
||||
<span>@(ReportData.FromDateTime.Split(" ")[0])</span>
|
||||
<span>@(ReportDataView.FromDateTime.Split(" ")[0])</span>
|
||||
break;
|
||||
case "Leave":
|
||||
<span>@(ReportData.FromDateTime.Split(" ")[0])</span>
|
||||
<span>@(ReportDataView.FromDateTime.Split(" ")[0])</span>
|
||||
break;
|
||||
case "Office":
|
||||
<span></span>
|
||||
|
@ -90,16 +90,16 @@
|
|||
</td>
|
||||
<td>
|
||||
@{
|
||||
switch (ReportData.DayTypeEnum)
|
||||
switch (ReportDataView.DayTypeEnum)
|
||||
{
|
||||
case "Sales":
|
||||
<span>@(ReportData.ToDateTime.Split(" ")[1])</span>
|
||||
<span>@(ReportDataView.ToDateTime.Split(" ")[1])</span>
|
||||
break;
|
||||
case "SickLeave":
|
||||
<span>@(ReportData.ToDateTime.Split(" ")[0])</span>
|
||||
<span>@(ReportDataView.ToDateTime.Split(" ")[0])</span>
|
||||
break;
|
||||
case "Leave":
|
||||
<span>@(ReportData.ToDateTime.Split(" ")[0])</span>
|
||||
<span>@(ReportDataView.ToDateTime.Split(" ")[0])</span>
|
||||
break;
|
||||
case "Office":
|
||||
<span></span>
|
||||
|
|
|
@ -21,6 +21,6 @@ namespace Wonky.Client.Components;
|
|||
|
||||
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
|
||||
{
|
||||
[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> OnCompleteTask { get; set; }
|
||||
[Parameter] public EventCallback<string> OnTaskCompleted { get; set; }
|
||||
|
|
|
@ -22,9 +22,9 @@ internal interface IValidator<in 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)
|
||||
|| string.IsNullOrWhiteSpace(t.ZipCode)
|
||||
|
|
|
@ -50,7 +50,7 @@ public class HttpInterceptorService
|
|||
|
||||
public void RegisterEvent()
|
||||
{
|
||||
_interceptor.AfterSend += AfterSend;
|
||||
_interceptor.AfterSend += AfterSend!;
|
||||
}
|
||||
|
||||
public void RegisterBeforeSendEvent()
|
||||
|
@ -60,7 +60,7 @@ public class HttpInterceptorService
|
|||
|
||||
public void DisposeEvent()
|
||||
{
|
||||
_interceptor.AfterSend -= AfterSend;
|
||||
_interceptor.AfterSend -= AfterSend!;
|
||||
_interceptor.BeforeSendAsync -= InterceptBeforeSend;
|
||||
}
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ public class AdvisorActivityRepository : IAdvisorActivityRepository
|
|||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <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 content = await response.Content.ReadAsStringAsync();
|
||||
|
@ -115,11 +115,11 @@ public class AdvisorActivityRepository : IAdvisorActivityRepository
|
|||
/// </summary>
|
||||
/// <param name="activityId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ActivityDto> GetActivity(string activityId)
|
||||
public async Task<ActivityModel> GetActivity(string activityId)
|
||||
{
|
||||
var salesItem = await _client
|
||||
.GetFromJsonAsync<ActivityDto>($"{_api.CrmActivities}/{activityId}");
|
||||
return salesItem ?? new ActivityDto();
|
||||
.GetFromJsonAsync<ActivityModel>($"{_api.CrmActivities}/{activityId}");
|
||||
return salesItem ?? new ActivityModel();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -173,7 +173,7 @@ public class AdvisorActivityRepository : IAdvisorActivityRepository
|
|||
/// Update office note for activity
|
||||
/// </summary>
|
||||
/// <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);
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ public class AdvisorContactRepository : IAdvisorContactRepository
|
|||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<string> CreateContact(ContactDto model)
|
||||
public async Task<string> CreateContact(ContactModel model)
|
||||
{
|
||||
var response = await _client.PostAsJsonAsync(
|
||||
$"{_conf.CrmCustomers}/{model.CompanyId}/contacts", model, _options);
|
||||
|
@ -63,9 +63,9 @@ public class AdvisorContactRepository : IAdvisorContactRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="contactId"></param>
|
||||
/// <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}");
|
||||
}
|
||||
|
||||
|
@ -74,14 +74,14 @@ public class AdvisorContactRepository : IAdvisorContactRepository
|
|||
/// </summary>
|
||||
/// <param name="companyId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<ContactDto>> GetContacts(string companyId)
|
||||
public async Task<List<ContactModel>> GetContacts(string companyId)
|
||||
{
|
||||
var response = await _client.GetAsync(
|
||||
$"{_conf.CrmCustomers}/{companyId}/contacts");
|
||||
var content = await response.Content.ReadAsStringAsync();
|
||||
return string.IsNullOrWhiteSpace(content)
|
||||
? new List<ContactDto>()
|
||||
: JsonSerializer.Deserialize<List<ContactDto>>(content, _options);
|
||||
? new List<ContactModel>()
|
||||
: JsonSerializer.Deserialize<List<ContactModel>>(content, _options);
|
||||
}
|
||||
/// <summary>
|
||||
/// Delete Contact
|
||||
|
@ -100,7 +100,7 @@ public class AdvisorContactRepository : IAdvisorContactRepository
|
|||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
public async Task UpdateContact(ContactDto model)
|
||||
public async Task UpdateContact(ContactModel model)
|
||||
{
|
||||
await _client.PutAsJsonAsync(
|
||||
$"{_conf.CrmCustomers}/{model.CompanyId}/contacts/{model.ContactId}", model, _options);
|
||||
|
|
|
@ -55,7 +55,7 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
|||
/// </summary>
|
||||
/// <param name="pagingParameters"></param>
|
||||
/// <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>
|
||||
{
|
||||
|
@ -71,18 +71,18 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
|||
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
return new PagingResponse<CompanyDto>
|
||||
return new PagingResponse<CompanyModel>
|
||||
{
|
||||
Items = new List<CompanyDto>(),
|
||||
Items = new List<CompanyModel>(),
|
||||
MetaData = new MetaData()
|
||||
};
|
||||
}
|
||||
|
||||
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)
|
||||
};
|
||||
|
@ -94,9 +94,9 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
|||
/// </summary>
|
||||
/// <param name="companyId"></param>
|
||||
/// <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>
|
||||
|
@ -104,11 +104,11 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
|||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <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 content = await response.Content.ReadAsStringAsync();
|
||||
var result = JsonSerializer.Deserialize<CompanyDto>(content, _options);
|
||||
var result = JsonSerializer.Deserialize<CompanyModel>(content, _options);
|
||||
return result.CompanyId;
|
||||
}
|
||||
|
||||
|
@ -129,9 +129,9 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="model"></param>
|
||||
/// <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,
|
||||
Note = model.Note,
|
||||
|
@ -142,7 +142,7 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
|||
};
|
||||
var response = await _client.PutAsJsonAsync($"{_conf.CrmCustomers}/{companyId}/crmData", updateModel, _options);
|
||||
var content = await response.Content.ReadAsStringAsync();
|
||||
return JsonSerializer.Deserialize<CompanyDto>(content);
|
||||
return JsonSerializer.Deserialize<CompanyModel>(content);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -151,9 +151,9 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="model"></param>
|
||||
/// <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,
|
||||
Address2 = model.Address2,
|
||||
|
@ -168,7 +168,7 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
|||
|
||||
var response = await _client.PutAsJsonAsync($"{_conf.CrmCustomers}/{companyId}/erpData", updateModel, _options);
|
||||
var content = await response.Content.ReadAsStringAsync();
|
||||
return JsonSerializer.Deserialize<CompanyDto>(content);
|
||||
return JsonSerializer.Deserialize<CompanyModel>(content);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -177,7 +177,7 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="vatNumber"></param>
|
||||
/// <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>
|
||||
{
|
||||
|
@ -185,10 +185,10 @@ public class AdvisorCustomerRepository : IAdvisorCustomerRepository
|
|||
};
|
||||
var response = await _client.PutAsJsonAsync($"{_conf.CrmCustomers}/{companyId}/vat", model, _options);
|
||||
if (!response.IsSuccessStatusCode)
|
||||
return new CompanyDto();
|
||||
return new CompanyModel();
|
||||
var content = await response.Content.ReadAsStringAsync();
|
||||
return JsonSerializer.Deserialize<CompanyDto>(content)
|
||||
?? new CompanyDto { Name = "ERROR", VatNumber = vatNumber, CrmNotes = $"FEJL: {content}" };
|
||||
return JsonSerializer.Deserialize<CompanyModel>(content)
|
||||
?? new CompanyModel { Name = "ERROR", VatNumber = vatNumber, CrmNotes = $"FEJL: {content}" };
|
||||
}
|
||||
|
||||
// public async Task<bool> ToggleVisibility(string companyId, bool hide)
|
||||
|
|
|
@ -85,23 +85,23 @@ public class AdvisorReportRepository : IAdvisorReportRepository
|
|||
/// </summary>
|
||||
/// <param name="workDate"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ReportInitDto> InitializeReportData(string workDate)
|
||||
public async Task<ReportInitModel> InitializeReportData(string workDate)
|
||||
{
|
||||
var initData = await _client
|
||||
.GetFromJsonAsync<ReportInitDto>($"{_api.CrmReports}/init/{workDate}");
|
||||
return initData ?? new ReportInitDto();
|
||||
.GetFromJsonAsync<ReportInitModel>($"{_api.CrmReports}/init/{workDate}");
|
||||
return initData ?? new ReportInitModel();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create Report for given data - using reportData
|
||||
/// </summary>
|
||||
/// <param name="workDate"></param>
|
||||
/// <param name="reportDto"></param>
|
||||
/// <param name="reportModel"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ApiResponseView> CreateReport(string workDate, ReportDto reportDto)
|
||||
public async Task<ApiResponseView> CreateReport(string workDate, ReportModel reportModel)
|
||||
{
|
||||
var response = await _client
|
||||
.PostAsJsonAsync($"{_api.CrmReports}/{workDate}", reportDto, _options);
|
||||
.PostAsJsonAsync($"{_api.CrmReports}/{workDate}", reportModel, _options);
|
||||
if (!response.IsSuccessStatusCode)
|
||||
return new ApiResponseView
|
||||
{
|
||||
|
|
|
@ -49,9 +49,9 @@ public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository
|
|||
/// Get Task List (SalesRep)
|
||||
/// </summary>
|
||||
/// <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>
|
||||
|
@ -59,9 +59,9 @@ public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository
|
|||
/// </summary>
|
||||
/// <param name="workDate"></param>
|
||||
/// <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>
|
||||
|
@ -69,9 +69,9 @@ public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository
|
|||
/// </summary>
|
||||
/// <param name="taskItemId"></param>
|
||||
/// <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>
|
||||
|
@ -79,7 +79,7 @@ public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository
|
|||
/// </summary>
|
||||
/// <param name="taskItem"></param>
|
||||
/// <returns></returns>
|
||||
public async Task CreateTaskItem(TaskItemDto taskItem)
|
||||
public async Task CreateTaskItem(TaskItemModel taskItem)
|
||||
{
|
||||
await _client.PostAsJsonAsync($"{_apiConfig.CrmTasks}", taskItem, _options);
|
||||
}
|
||||
|
@ -89,7 +89,7 @@ public class AdvisorTaskItemRepository : IAdvisorTaskItemRepository
|
|||
/// </summary>
|
||||
/// <param name="taskItemId"></param>
|
||||
/// <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);
|
||||
}
|
||||
|
|
|
@ -64,11 +64,11 @@ public class AdvisorWorkplaceRepository : IAdvisorWorkplaceRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="workplaceId"></param>
|
||||
/// <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);
|
||||
return result ?? new WorkplaceDto();
|
||||
return result ?? new WorkplaceModel();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -77,7 +77,7 @@ public class AdvisorWorkplaceRepository : IAdvisorWorkplaceRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="workplace"></param>
|
||||
/// <returns></returns>
|
||||
public async Task CreateWorkplace(string companyId, WorkplaceDto workplace)
|
||||
public async Task CreateWorkplace(string companyId, WorkplaceModel workplace)
|
||||
{
|
||||
await _client.PostAsJsonAsync(
|
||||
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaceExt}", workplace, _options);
|
||||
|
@ -89,7 +89,7 @@ public class AdvisorWorkplaceRepository : IAdvisorWorkplaceRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="workplace"></param>
|
||||
/// <returns></returns>
|
||||
public async Task UpdateWorkplace(string companyId, WorkplaceDto workplace)
|
||||
public async Task UpdateWorkplace(string companyId, WorkplaceModel workplace)
|
||||
{
|
||||
await _client.PutAsJsonAsync(
|
||||
$"{_api.CrmCustomers}/{companyId}/{_api.CrmWorkplaceExt}/{workplace.WorkplaceId}", workplace, _options);
|
||||
|
|
|
@ -53,11 +53,11 @@ public class CountryActivityRepository : ICountryActivityRepository
|
|||
/// </summary>
|
||||
/// <param name="activityId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ActivityDto> RequestActivity(string activityId)
|
||||
public async Task<ActivityModel> RequestActivity(string activityId)
|
||||
{
|
||||
var activity = await _client
|
||||
.GetFromJsonAsync<ActivityDto>($"{_api.CrmActivities}/{activityId}");
|
||||
return activity ?? new ActivityDto();
|
||||
.GetFromJsonAsync<ActivityModel>($"{_api.CrmActivities}/{activityId}");
|
||||
return activity ?? new ActivityModel();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -76,7 +76,7 @@ public class CountryActivityRepository : ICountryActivityRepository
|
|||
: 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 content = await response.Content.ReadAsStringAsync();
|
||||
|
|
|
@ -56,7 +56,7 @@ public class CountryCustomerRepository : ICountryCustomerRepository
|
|||
/// <param name="paging"></param>
|
||||
/// <param name="countryCode"></param>
|
||||
/// <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>
|
||||
{
|
||||
|
@ -72,9 +72,9 @@ public class CountryCustomerRepository : ICountryCustomerRepository
|
|||
var response = await _client.GetAsync(QueryHelpers.AddQueryString($"{_api.OfficeCustomers}/{countryCode}", queryString));
|
||||
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)
|
||||
};
|
||||
return pagingResponse;
|
||||
|
@ -87,7 +87,7 @@ public class CountryCustomerRepository : ICountryCustomerRepository
|
|||
/// <param name="salesRepId"></param>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<PagingResponse<CompanyDto>> GetCompaniesPaged(string countryCode, string salesRepId,
|
||||
public async Task<PagingResponse<CompanyModel>> GetCompaniesPaged(string countryCode, string salesRepId,
|
||||
CustomerPaging paging)
|
||||
{
|
||||
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 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)
|
||||
};
|
||||
return pagingResponse;
|
||||
|
@ -118,10 +118,10 @@ public class CountryCustomerRepository : ICountryCustomerRepository
|
|||
/// <param name="countryCode"></param>
|
||||
/// <param name="companyId"></param>
|
||||
/// <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}");
|
||||
return company ?? new CompanyDto();
|
||||
var company = await _client.GetFromJsonAsync<CompanyModel>($"{_api.OfficeCustomers}/{countryCode}/id/{companyId}");
|
||||
return company ?? new CompanyModel();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -131,7 +131,7 @@ public class CountryCustomerRepository : ICountryCustomerRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="model"></param>
|
||||
/// <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 content = await response.Content.ReadAsStringAsync();
|
||||
|
|
|
@ -41,7 +41,7 @@ public interface IAdvisorActivityRepository
|
|||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task<ApiResponseView> CreateActivity(ActivityDto model);
|
||||
Task<ApiResponseView> CreateActivity(ActivityModel model);
|
||||
|
||||
/// <summary>
|
||||
/// Get activities by date
|
||||
|
@ -55,7 +55,7 @@ public interface IAdvisorActivityRepository
|
|||
/// </summary>
|
||||
/// <param name="activityId"></param>
|
||||
/// <returns></returns>
|
||||
Task<ActivityDto> GetActivity(string activityId);
|
||||
Task<ActivityModel> GetActivity(string activityId);
|
||||
|
||||
/// <summary>
|
||||
/// Get activities for customer Id
|
||||
|
@ -82,5 +82,5 @@ public interface IAdvisorActivityRepository
|
|||
/// Update office note for activity
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
Task UpdateOfficeNote(ActivityOfficeNote model);
|
||||
Task UpdateOfficeNote(ActivityOfficeNoteModel model);
|
||||
}
|
|
@ -28,7 +28,7 @@ public interface IAdvisorContactRepository
|
|||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task<string> CreateContact(ContactDto model);
|
||||
Task<string> CreateContact(ContactModel model);
|
||||
|
||||
/// <summary>
|
||||
/// Get Contact
|
||||
|
@ -36,14 +36,14 @@ public interface IAdvisorContactRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="contactId"></param>
|
||||
/// <returns></returns>
|
||||
Task<ContactDto> GetContact(string companyId, string contactId);
|
||||
Task<ContactModel> GetContact(string companyId, string contactId);
|
||||
|
||||
/// <summary>
|
||||
/// Get Contacts
|
||||
/// </summary>
|
||||
/// <param name="companyId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<ContactDto>> GetContacts(string companyId);
|
||||
Task<List<ContactModel>> GetContacts(string companyId);
|
||||
|
||||
/// <summary>
|
||||
/// Delete Contact
|
||||
|
@ -58,5 +58,5 @@ public interface IAdvisorContactRepository
|
|||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task UpdateContact(ContactDto model);
|
||||
Task UpdateContact(ContactModel model);
|
||||
}
|
|
@ -29,21 +29,21 @@ public interface IAdvisorCustomerRepository
|
|||
/// </summary>
|
||||
/// <param name="pagingParameters"></param>
|
||||
/// <returns>A paged response defined by pagingParameters</returns>
|
||||
Task<PagingResponse<CompanyDto>> GetCompanies(CustomerPaging pagingParameters);
|
||||
Task<PagingResponse<CompanyModel>> GetCompanies(CustomerPaging pagingParameters);
|
||||
|
||||
/// <summary>
|
||||
/// Get CRM customer by Id (SalesRep)
|
||||
/// </summary>
|
||||
/// <param name="companyId"></param>
|
||||
/// <returns>A CRM Company entity</returns>
|
||||
Task<CompanyDto> GetCompanyById(string companyId);
|
||||
Task<CompanyModel> GetCompanyById(string companyId);
|
||||
|
||||
/// <summary>
|
||||
/// Create Customer (SalesRep)
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns>The Id of the entity</returns>
|
||||
Task<string> CreateCompany(CompanyDto model);
|
||||
Task<string> CreateCompany(CompanyModel model);
|
||||
|
||||
/// <summary>
|
||||
/// Delete the CRM customer (SalesRep)
|
||||
|
@ -58,7 +58,7 @@ public interface IAdvisorCustomerRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="model"></param>
|
||||
/// <returns>A CRM Company entity</returns>
|
||||
Task<CompanyDto> UpdateCrmData(string companyId, CompanyDto model);
|
||||
Task<CompanyModel> UpdateCrmData(string companyId, CompanyModel model);
|
||||
|
||||
/// <summary>
|
||||
/// Update ERP customer properties (SalesRep)
|
||||
|
@ -66,7 +66,7 @@ public interface IAdvisorCustomerRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="model"></param>
|
||||
/// <returns>A CRM Company entity</returns>
|
||||
Task<CompanyDto> UpdateErpData(string companyId, CompanyDto model);
|
||||
Task<CompanyModel> UpdateErpData(string companyId, CompanyModel model);
|
||||
|
||||
/// <summary>
|
||||
/// Update customer Vat Number (SalesRep)
|
||||
|
@ -74,7 +74,7 @@ public interface IAdvisorCustomerRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="vatNumber"></param>
|
||||
/// <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);
|
||||
}
|
|
@ -48,13 +48,13 @@ public interface IAdvisorReportRepository
|
|||
/// </summary>
|
||||
/// <param name="workDate"></param>
|
||||
/// <returns></returns>
|
||||
Task<ReportInitDto> InitializeReportData(string workDate);
|
||||
Task<ReportInitModel> InitializeReportData(string workDate);
|
||||
|
||||
/// <summary>
|
||||
/// Create Report for given data - using reportData
|
||||
/// </summary>
|
||||
/// <param name="workDate"></param>
|
||||
/// <param name="reportDto"></param>
|
||||
/// <param name="reportModel"></param>
|
||||
/// <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)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<List<TaskItemDto>> GetTaskList();
|
||||
Task<List<TaskItemModel>> GetTaskList();
|
||||
|
||||
/// <summary>
|
||||
/// Get Task List for given workDate (SalesRep)
|
||||
/// </summary>
|
||||
/// <param name="workDate"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<TaskItemDto>> GetTaskList(string workDate);
|
||||
Task<List<TaskItemModel>> GetTaskList(string workDate);
|
||||
|
||||
/// <summary>
|
||||
/// Get Task Item by id (SalesRep)
|
||||
/// </summary>
|
||||
/// <param name="taskItemId"></param>
|
||||
/// <returns></returns>
|
||||
Task<TaskItemDto> GetTaskItem(string taskItemId);
|
||||
Task<TaskItemModel> GetTaskItem(string taskItemId);
|
||||
|
||||
/// <summary>
|
||||
/// Create task using taskItem (SalesRep)
|
||||
/// </summary>
|
||||
/// <param name="taskItem"></param>
|
||||
/// <returns></returns>
|
||||
Task CreateTaskItem(TaskItemDto taskItem);
|
||||
Task CreateTaskItem(TaskItemModel taskItem);
|
||||
|
||||
/// <summary>
|
||||
/// Delete Task Item (SalesRep
|
||||
/// </summary>
|
||||
/// <param name="taskItemId"></param>
|
||||
/// <returns></returns>
|
||||
Task UpdateTaskItem(string taskItemId, TaskItemDto taskItem);
|
||||
Task UpdateTaskItem(string taskItemId, TaskItemModel taskItem);
|
||||
|
||||
/// <summary>
|
||||
/// Delete Task Item (SalesRep
|
||||
|
|
|
@ -36,7 +36,7 @@ public interface IAdvisorWorkplaceRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="workplaceId"></param>
|
||||
/// <returns></returns>
|
||||
Task<WorkplaceDto> GetWorkplace(string companyId, string workplaceId);
|
||||
Task<WorkplaceModel> GetWorkplace(string companyId, string workplaceId);
|
||||
|
||||
/// <summary>
|
||||
/// Create new workplace given the customer id and workplace data
|
||||
|
@ -44,7 +44,7 @@ public interface IAdvisorWorkplaceRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="workplace"></param>
|
||||
/// <returns></returns>
|
||||
Task CreateWorkplace(string companyId, WorkplaceDto workplace);
|
||||
Task CreateWorkplace(string companyId, WorkplaceModel workplace);
|
||||
|
||||
/// <summary>
|
||||
/// Update workplace given the customer id and updated data
|
||||
|
@ -52,7 +52,7 @@ public interface IAdvisorWorkplaceRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="workplace"></param>
|
||||
/// <returns></returns>
|
||||
Task UpdateWorkplace(string companyId, WorkplaceDto workplace);
|
||||
Task UpdateWorkplace(string companyId, WorkplaceModel workplace);
|
||||
|
||||
/// <summary>
|
||||
/// Delete workplace given customer id and workplace id
|
||||
|
|
|
@ -28,7 +28,7 @@ public interface ICountryActivityRepository
|
|||
/// </summary>
|
||||
/// <param name="activityId"></param>
|
||||
/// <returns></returns>
|
||||
Task<ActivityDto> RequestActivity(string activityId);
|
||||
Task<ActivityModel> RequestActivity(string activityId);
|
||||
|
||||
/// <summary>
|
||||
/// Get activities for customer Id
|
||||
|
@ -37,5 +37,5 @@ public interface ICountryActivityRepository
|
|||
/// <returns></returns>
|
||||
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="countryCode"></param>
|
||||
/// <returns></returns>
|
||||
Task<PagingResponse<CompanyDto>> GetCompaniesPaged(string countryCode, CustomerPaging paging);
|
||||
Task<PagingResponse<CompanyModel>> GetCompaniesPaged(string countryCode, CustomerPaging paging);
|
||||
|
||||
/// <summary>
|
||||
/// Get customers paged for given sales rep
|
||||
|
@ -39,7 +39,7 @@ public interface ICountryCustomerRepository
|
|||
/// <param name="salesRepId"></param>
|
||||
/// <param name="paging"></param>
|
||||
/// <returns></returns>
|
||||
Task<PagingResponse<CompanyDto>> GetCompaniesPaged(string countryCode, string salesRepId, CustomerPaging paging);
|
||||
Task<PagingResponse<CompanyModel>> GetCompaniesPaged(string countryCode, string salesRepId, CustomerPaging paging);
|
||||
|
||||
/// <summary>
|
||||
/// Get customer by Id
|
||||
|
@ -47,7 +47,7 @@ public interface ICountryCustomerRepository
|
|||
/// <param name="countryCode"></param>
|
||||
/// <param name="companyId"></param>
|
||||
/// <returns></returns>
|
||||
Task<CompanyDto> GetByCustomerId(string countryCode, string companyId);
|
||||
Task<CompanyModel> GetByCustomerId(string countryCode, string companyId);
|
||||
|
||||
/// <summary>
|
||||
/// Update Company data
|
||||
|
@ -56,5 +56,5 @@ public interface ICountryCustomerRepository
|
|||
/// <param name="companyId"></param>
|
||||
/// <param name="model"></param>
|
||||
/// <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>
|
||||
/// Update Order status setting new process status
|
||||
/// </summary>
|
||||
/// <param name="processState"></param>
|
||||
/// <param name="processStateModel"></param>
|
||||
/// <returns></returns>
|
||||
Task UpdateWarehouseOrderStatus(OrderProcessState processState);
|
||||
Task UpdateWarehouseOrderStatus(OrderProcessStateModel processStateModel);
|
||||
}
|
|
@ -27,7 +27,7 @@ public interface ISystemSendMailService
|
|||
/// Send Mail
|
||||
/// </summary>
|
||||
/// <param name="messageType"></param>
|
||||
/// <param name="message"></param>
|
||||
/// <param name="messageModel"></param>
|
||||
/// <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
|
||||
/// </summary>
|
||||
/// <param name="messageType"></param>
|
||||
/// <param name="message"></param>
|
||||
/// <param name="messageModel"></param>
|
||||
/// <returns></returns>
|
||||
Task<ApiResponseView> SendSms(ShortMessage message);
|
||||
Task<ApiResponseView> SendSms(ShortMessageModel messageModel);
|
||||
}
|
|
@ -14,6 +14,7 @@
|
|||
//
|
||||
|
||||
using Wonky.Entity.DTO;
|
||||
using Wonky.Entity.Views;
|
||||
|
||||
namespace Wonky.Client.HttpRepository;
|
||||
|
||||
|
@ -23,32 +24,38 @@ namespace Wonky.Client.HttpRepository;
|
|||
public interface ISystemUserRepository
|
||||
{
|
||||
/// <summary>
|
||||
/// Get Advisors (Office)
|
||||
/// Get Users
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<List<UserManagerListView>> GetUsers();
|
||||
Task<List<UserInfoListView>> GetUsers();
|
||||
|
||||
/// <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>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
Task<UserManagerEditView> GetUserInfo(string userId);
|
||||
Task<UserAdminEditView> GetUserInfo(string userId);
|
||||
|
||||
/// <summary>
|
||||
/// Update Advisor using userId and updated data
|
||||
/// Update User using userId and updated data
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task<UserManagerEditView> CreateUser(UserManagerCreate model);
|
||||
Task<UserAdminEditView> CreateUser(UserAdminCreateModel model);
|
||||
|
||||
/// <summary>
|
||||
/// Update Advisor using userId and updated data
|
||||
/// Update User using userId and updated data
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
Task UpdateUserInfo(string userId, UserManagerEditView model);
|
||||
Task UpdateUserInfo(string userId, UserAdminEditView model);
|
||||
|
||||
/// <summary>
|
||||
/// Delete the user with id
|
||||
|
@ -58,7 +65,7 @@ public interface ISystemUserRepository
|
|||
Task DeleteUser(string userId);
|
||||
|
||||
/// <summary>
|
||||
/// Set new user password
|
||||
/// Set user user password
|
||||
/// </summary>
|
||||
/// <param name="userId"></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>
|
||||
/// Update Order status setting new process status
|
||||
/// </summary>
|
||||
/// <param name="processState"></param>
|
||||
/// <param name="processStateModel"></param>
|
||||
/// <returns></returns>
|
||||
public async Task UpdateWarehouseOrderStatus(OrderProcessState processState)
|
||||
public async Task UpdateWarehouseOrderStatus(OrderProcessStateModel processStateModel)
|
||||
{
|
||||
_logger.LogDebug("process => {}", JsonSerializer.Serialize(processState, _options));
|
||||
await _client.PutAsJsonAsync($"{_api.Warehouse}/{processState.OrderId}", processState, _options);
|
||||
_logger.LogDebug("process => {}", JsonSerializer.Serialize(processStateModel, _options));
|
||||
await _client.PutAsJsonAsync($"{_api.Warehouse}/{processStateModel.OrderId}", processStateModel, _options);
|
||||
}
|
||||
}
|
|
@ -48,11 +48,11 @@ public class SystemSendMailService : ISystemSendMailService
|
|||
/// Send Mail
|
||||
/// </summary>
|
||||
/// <param name="messageType"></param>
|
||||
/// <param name="message"></param>
|
||||
/// <param name="messageModel"></param>
|
||||
/// <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)
|
||||
return new ApiResponseView
|
||||
{
|
||||
|
|
|
@ -47,11 +47,11 @@ public class SystemSendSmsService : ISystemSendSmsService
|
|||
/// <summary>
|
||||
/// Send Mail
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
/// <param name="messageModel"></param>
|
||||
/// <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)
|
||||
return new ApiResponseView
|
||||
{
|
||||
|
|
|
@ -44,12 +44,17 @@ public class SystemUserRepository : ISystemUserRepository
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get Advisors (Office)
|
||||
/// Get Users
|
||||
/// </summary>
|
||||
/// <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>
|
||||
|
@ -57,9 +62,9 @@ public class SystemUserRepository : ISystemUserRepository
|
|||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <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>
|
||||
|
@ -67,18 +72,18 @@ public class SystemUserRepository : ISystemUserRepository
|
|||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <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);
|
||||
if (!result.IsSuccessStatusCode)
|
||||
return new UserManagerEditView();
|
||||
return new UserAdminEditView();
|
||||
try
|
||||
{
|
||||
return await result.Content.ReadFromJsonAsync<UserManagerEditView>();
|
||||
return await result.Content.ReadFromJsonAsync<UserAdminEditView>();
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new UserManagerEditView();
|
||||
return new UserAdminEditView();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -88,7 +93,7 @@ public class SystemUserRepository : ISystemUserRepository
|
|||
/// <param name="userId"></param>
|
||||
/// <param name="model"></param>
|
||||
/// <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);
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ public partial class CustomerInventoryListOverlay : IDisposable
|
|||
|
||||
private string _modalDisplay = "";
|
||||
private bool _showBackdrop;
|
||||
private CompanyDto Company { get; set; } = new();
|
||||
private CompanyModel Company { get; set; } = new();
|
||||
// private List<ProductInventoryView> ProductList { get; set; } = new();
|
||||
private DraftItem DraftItem { get; set; } = new();
|
||||
private SalesItemView SalesItem { get; set; } = new();
|
||||
|
|
|
@ -22,7 +22,7 @@ namespace Wonky.Client.OverlayOffice;
|
|||
|
||||
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();
|
||||
|
||||
private string _modalDisplay = "";
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace Wonky.Client.OverlayOffice;
|
|||
|
||||
public partial class OfficeCustomerInventoryReorderOverlay
|
||||
{
|
||||
[Parameter] public CompanyDto Company { get; set; }
|
||||
[Parameter] public CompanyModel Company { get; set; }
|
||||
[Parameter] public SalesItemView SalesItem { get; set; } = new();
|
||||
[Inject] public ICountryCustomerHistoryRepository HistoryRepo { get; set; }
|
||||
[Parameter] public EventCallback<DraftItem> OrderItemCallback { get; set; }
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace Wonky.Client.OverlayOffice;
|
|||
public partial class OfficeCustomerInvoiceListOverlay
|
||||
{
|
||||
[Parameter] public InvoiceListView InvoiceList { get; set; } = new();
|
||||
[Parameter] public CompanyDto Company { get; set; } = new();
|
||||
[Parameter] public CompanyModel Company { get; set; } = new();
|
||||
// dependency injection
|
||||
[Inject] public ILogger<OfficeCustomerInvoiceListOverlay> Logger { get; set; }
|
||||
private string InvoiceId { get; set; } = "";
|
||||
|
|
|
@ -38,7 +38,7 @@ public partial class OfficeCustomerProductListOverlay : IDisposable
|
|||
private OfficeCustomerInventoryReorderOverlay ReorderOverlay { get; set; } = new();
|
||||
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();
|
||||
|
||||
protected override void OnParametersSet()
|
||||
|
|
|
@ -30,7 +30,7 @@ public partial class OfficeOrderInventoryListOverlay : IDisposable
|
|||
[Inject] public ICountryCatalogRepository CatalogRepo { 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 EventCallback<DraftItem> OnSelected { get; set; }
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace Wonky.Client.OverlayOffice;
|
|||
public partial class OfficeOrderInventoryReorderOverlay
|
||||
{
|
||||
[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 EventCallback<DraftItem> OnSelected { get; set; }
|
||||
private List<ProductHistoryView>? ProductHistory { get; set; } = new();
|
||||
|
|
|
@ -64,8 +64,8 @@ public partial class AdvisorActivityCreatePage : IDisposable
|
|||
private readonly JsonSerializerOptions _options = new() { PropertyNameCaseInsensitive = true };
|
||||
private SalesItemView SelectedItem { get; set; } = new();
|
||||
private UserProfile UserProfile { get; set; } = new();
|
||||
private ActivityDto Activity { get; set; } = new();
|
||||
private CompanyDto Company { get; set; } = new();
|
||||
private ActivityModel Activity { get; set; } = new();
|
||||
private CompanyModel Company { get; set; } = new();
|
||||
private EditContext? ActivityContext { get; set; }
|
||||
private bool PoFormInvalid { get; set; } = true;
|
||||
private bool ShowItem { get; set; }
|
||||
|
@ -77,7 +77,7 @@ public partial class AdvisorActivityCreatePage : IDisposable
|
|||
private bool InvalidActivity { get; set; } = true;
|
||||
private bool ReportClosed { get; set; }
|
||||
private bool Working { get; set; } = true;
|
||||
private UserManagerEditView SalesRep { get; set; } = new();
|
||||
private UserAdminEditView SalesRep { get; set; } = new();
|
||||
private DateTime SelectedDate { get; set; }
|
||||
private string OldPhone { get; set; } = "";
|
||||
private string PromptDateConfirm { get; set; } = "";
|
||||
|
|
|
@ -136,7 +136,7 @@
|
|||
<EditForm EditContext="NoteContext">
|
||||
<div class="row mb-2">
|
||||
<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>
|
||||
Ordre noten lukkes efter @GraceTime minutter eller når den er plukket.
|
||||
</div>
|
||||
|
|
|
@ -36,7 +36,7 @@ public partial class AdvisorActivityViewEditPage : IDisposable
|
|||
[Inject] public IToastService Toaster { get; set; }
|
||||
[Inject] public NavigationManager Navigator { get; set; }
|
||||
private ReportItemView ReportItem { get; set; } = new();
|
||||
private ActivityOfficeNote Note { get; set; } = new();
|
||||
private ActivityOfficeNoteModel NoteModel { get; set; } = new();
|
||||
private EditContext NoteContext { get; set; }
|
||||
private bool Disabled { get; set; }
|
||||
private int GraceTime { get; set; } = 60;
|
||||
|
@ -47,11 +47,11 @@ public partial class AdvisorActivityViewEditPage : IDisposable
|
|||
{
|
||||
Interceptor.RegisterEvent();
|
||||
Interceptor.RegisterBeforeSendEvent();
|
||||
NoteContext = new EditContext(Note);
|
||||
NoteContext = new EditContext(NoteModel);
|
||||
NoteContext.OnFieldChanged += HandleFieldChanged;
|
||||
ReportItem = await AdvisorActivityRepo.GetReportItem(OrderId);
|
||||
Note.ActivityId = ReportItem.ActivityId;
|
||||
Note.OfficeNote = ReportItem.OfficeNote;
|
||||
NoteModel.ActivityId = ReportItem.ActivityId;
|
||||
NoteModel.OfficeNote = ReportItem.OfficeNote;
|
||||
Logger.LogDebug("ReportItem => \n {}", JsonSerializer.Serialize(ReportItem));
|
||||
Working = false;
|
||||
}
|
||||
|
@ -65,8 +65,8 @@ public partial class AdvisorActivityViewEditPage : IDisposable
|
|||
{
|
||||
Working = true;
|
||||
Disabled = true;
|
||||
Logger.LogDebug("OfficeNote => \n {}", JsonSerializer.Serialize(Note));
|
||||
await AdvisorActivityRepo.UpdateOfficeNote(Note);
|
||||
Logger.LogDebug("OfficeNote => \n {}", JsonSerializer.Serialize(NoteModel));
|
||||
await AdvisorActivityRepo.UpdateOfficeNote(NoteModel);
|
||||
Toaster.ShowInfo($"{ReportItem.ESalesNumber} - notat opdateret");
|
||||
Navigator.NavigateTo("/advisor/activity-today");
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ public partial class AdvisorCustomerActivityListPage : IDisposable
|
|||
[Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; }
|
||||
[Inject] public IAdvisorCustomerRepository CompanyRepo { get; set; }
|
||||
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;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
|
|
|
@ -44,7 +44,7 @@ public partial class AdvisorCustomerCreatePage : IDisposable
|
|||
[Inject] public IUserInfoService UserInfoService { 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 VatLookupDkModal VatLookupPopup { get; set; } = new();
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ public partial class AdvisorCustomerInventoryListPage : IDisposable
|
|||
|
||||
|
||||
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 SalesItemView SalesItem { get; set; } = new();
|
||||
private CustomerInventoryReorderOverlay ReorderOverlay { get; set; } = new();
|
||||
|
|
|
@ -38,7 +38,7 @@ public partial class AdvisorCustomerInvoiceListPage : IDisposable
|
|||
[Parameter] public string CompanyId { get; set; } = "";
|
||||
|
||||
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 string InvoiceId { get; set; } = "";
|
||||
private bool Working { get; set; }
|
||||
|
|
|
@ -35,9 +35,9 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
|||
[Inject] public NavigationManager Navigator { 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 UserManagerEditView UserInfo { get; set; } = new();
|
||||
private UserAdminEditView UserInfo { get; set; } = new();
|
||||
private string SavedSearch { get; set; } = "";
|
||||
private bool Working { get; set; } = true;
|
||||
private MetaData PageData { get; set; } = new();
|
||||
|
@ -78,7 +78,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
|||
Working = true;
|
||||
ShowFolded = !ShowFolded;
|
||||
ToggleFoldedText = ShowFolded ? "Normal Visning" : "Vis Lukkede";
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.PageNumber = 1;
|
||||
Paging.HasFolded = ShowFolded ? 1 : 0;
|
||||
await FetchCustomers();
|
||||
|
@ -89,7 +89,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
|||
Working = true;
|
||||
ShowHidden = !ShowHidden;
|
||||
ToggleHiddenText = ShowHidden ? "Normal Visning" : "Inkl. Skjulte";
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.PageNumber = 1;
|
||||
Paging.IsHidden = ShowHidden ? 1 : 0;
|
||||
await FetchCustomers();
|
||||
|
@ -97,14 +97,14 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
|||
|
||||
private async Task SetSelectedPage(int page)
|
||||
{
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.PageNumber = page;
|
||||
await FetchCustomers();
|
||||
}
|
||||
|
||||
private async Task SetSearchCol(string searchColumn)
|
||||
{
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.SearchColumn = searchColumn;
|
||||
Paging.PageNumber = 1;
|
||||
await FetchCustomers();
|
||||
|
@ -112,7 +112,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
|||
|
||||
private async Task SetPageSize(string pageSize)
|
||||
{
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.PageSize = Convert.ToInt32(pageSize);
|
||||
Paging.PageNumber = 1;
|
||||
await FetchCustomers();
|
||||
|
@ -120,7 +120,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
|||
|
||||
private async Task SetSearchPhrase(string searchTerm)
|
||||
{
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.PageNumber = 1;
|
||||
Paging.SearchTerm = searchTerm;
|
||||
await FetchCustomers();
|
||||
|
@ -128,7 +128,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
|||
|
||||
private async Task SetSortCol(string orderBy)
|
||||
{
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.OrderBy = orderBy;
|
||||
await FetchCustomers();
|
||||
}
|
||||
|
@ -139,7 +139,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
|||
/// <param name="companyId"></param>
|
||||
private async Task DeleteCompany(string companyId)
|
||||
{
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
await CompanyRepo.DeleteCompany(companyId);
|
||||
if (Paging.PageNumber > 1 && CompanyList.Count == 1)
|
||||
Paging.PageNumber--;
|
||||
|
@ -158,7 +158,7 @@ public partial class AdvisorCustomerPagedListPage : IDisposable
|
|||
}
|
||||
else
|
||||
{
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
PageData = new MetaData();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
|||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||
|
||||
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 DateTime LastVisit { get; set; }
|
||||
private DateTime NextVisit { get; set; }
|
||||
|
@ -64,12 +64,12 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
|||
private bool CountryIsDk { get; set; } = true;
|
||||
private bool ErpEditDisabled { 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 ContactDto SelectedContact { get; set; } = new();
|
||||
private ContactDto DefaultContact { get; set; } = new();
|
||||
private ContactModel SelectedContact { get; set; } = new();
|
||||
private ContactModel DefaultContact { 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; } = "";
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
|
@ -79,7 +79,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
|||
Interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
// initialize default contact
|
||||
DefaultContact = new ContactDto { CompanyId = CompanyId, ContactId = "", FirstName = "" };
|
||||
DefaultContact = new ContactModel { CompanyId = CompanyId, ContactId = "", FirstName = "" };
|
||||
// setup form context
|
||||
ErpContext = new EditContext(Company);
|
||||
|
||||
|
@ -229,7 +229,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
|||
/// Open contact edit popup
|
||||
/// </summary>
|
||||
/// <param name="contact"></param>
|
||||
private void OpenContactPopup(ContactDto contact)
|
||||
private void OpenContactPopup(ContactModel contact)
|
||||
{
|
||||
// write contact to debug log
|
||||
Logger.LogDebug("CompanyView => SaveContactCallback <= {}", JsonSerializer.Serialize(contact));
|
||||
|
@ -243,7 +243,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
|||
/// Callback for writing contact to backend
|
||||
/// </summary>
|
||||
/// <param name="contact"></param>
|
||||
private async Task WriteContactCallback(ContactDto contact)
|
||||
private async Task WriteContactCallback(ContactModel contact)
|
||||
{
|
||||
Working = true;
|
||||
// write contact to debug log
|
||||
|
@ -265,7 +265,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
|||
}
|
||||
|
||||
// reset selected contact
|
||||
SelectedContact = new ContactDto();
|
||||
SelectedContact = new ContactModel();
|
||||
// reload contacts from backend
|
||||
await FetchContacts(CompanyId);
|
||||
Working = false;
|
||||
|
@ -282,7 +282,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
|||
// send delete request to backend
|
||||
await AdvisorContactRepo.DeleteContact(CompanyId, contactId);
|
||||
// reset selected contact
|
||||
SelectedContact = new ContactDto();
|
||||
SelectedContact = new ContactModel();
|
||||
// reload contacts from backend
|
||||
await FetchContacts(CompanyId);
|
||||
Working = false;
|
||||
|
@ -368,7 +368,7 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
|
|||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
private static VatAddress PrepareVatAddress(CompanyDto model)
|
||||
private static VatAddress PrepareVatAddress(CompanyModel model)
|
||||
{
|
||||
var digits = "1234567890".ToCharArray();
|
||||
// process address1
|
||||
|
|
|
@ -39,9 +39,9 @@ public partial class AdvisorReportCreatePage : IDisposable
|
|||
[Inject] public ILogger<AdvisorReportCreatePage> Logger { get; set; }
|
||||
[Inject] public IToastService Toaster { 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 ReportFiguresDto InitialValues { get; set; } = new();
|
||||
private ReportFiguresModel InitialValues { get; set; } = new();
|
||||
private UserProfile Profiles { get; set; } = new();
|
||||
private bool FormInvalid { get; set; } = true;
|
||||
private bool NoFigures { get; set; } = true;
|
||||
|
@ -117,8 +117,8 @@ public partial class AdvisorReportCreatePage : IDisposable
|
|||
return;
|
||||
Working = true;
|
||||
|
||||
Report.Figures = new ReportFiguresDto();
|
||||
InitialValues = new ReportFiguresDto();
|
||||
Report.Figures = new ReportFiguresModel();
|
||||
InitialValues = new ReportFiguresModel();
|
||||
Activities = new List<ReportItemView>();
|
||||
|
||||
var data = await AdvisorReportRepo.InitializeReportData(WorkDate);
|
||||
|
@ -283,8 +283,8 @@ public partial class AdvisorReportCreatePage : IDisposable
|
|||
ThisWorkDate = DateTime.Parse(workDate);
|
||||
|
||||
NoFigures = true;
|
||||
Report.Figures = new ReportFiguresDto();
|
||||
InitialValues = new ReportFiguresDto();
|
||||
Report.Figures = new ReportFiguresModel();
|
||||
InitialValues = new ReportFiguresModel();
|
||||
Activities = new List<ReportItemView>();
|
||||
|
||||
Report.Figures.KmEvening = 0;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
@using Wonky.Client.Models
|
||||
@attribute [Authorize(Roles = "Advisor")]
|
||||
@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="col-sm-6">
|
||||
<WorkDateComponent OnChangedCallback="FetchReport"/>
|
||||
|
@ -36,22 +36,22 @@
|
|||
</div>
|
||||
|
||||
<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">
|
||||
<h2>@Report.ReportData.Name</h2>
|
||||
<h2>@Report.ReportDataView.Name</h2>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="w-75">
|
||||
<ReportSummaryComponent ReportData="Report.ReportData"/>
|
||||
<ReportSummaryComponent ReportData="Report.ReportDataView"/>
|
||||
</div>
|
||||
<div class="w-25">
|
||||
<ReportDistanceLedgerComponent ReportData="Report.ReportData"/>
|
||||
<ReportDistanceLedgerComponent ReportData="Report.ReportDataView"/>
|
||||
</div>
|
||||
</div>
|
||||
<AdvisorActivityListComponent ActivityList="Report.ReportItems"/>
|
||||
<ReportActivityLedgerComponent ReportData="Report.ReportData"/>
|
||||
<ReportActivityLedgerComponent ReportData="Report.ReportDataView"/>
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -41,7 +41,7 @@ public partial class AdvisorReportViewPage : IDisposable
|
|||
private ReportView Report { get; set; } = new();
|
||||
private List<ReportItemView> Activities { get; set; } = new ();
|
||||
private bool Working { get; set; }
|
||||
private UserManagerEditView XUserInfo { get; set; } = new();
|
||||
private UserAdminEditView XUserInfo { get; set; } = new();
|
||||
private string ReturnUrl { get; set; } = "";
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
|
@ -83,7 +83,7 @@ public partial class AdvisorReportViewPage : IDisposable
|
|||
{
|
||||
|
||||
// remove busy signal if report is empty
|
||||
if (string.IsNullOrWhiteSpace(Report.ReportData.ReportDate))
|
||||
if (string.IsNullOrWhiteSpace(Report.ReportDataView.ReportDate))
|
||||
{
|
||||
Working = false;
|
||||
}
|
||||
|
@ -111,9 +111,9 @@ public partial class AdvisorReportViewPage : IDisposable
|
|||
Activities = Report.ReportItems.Where(x => x.Lines.Any()).ToList();
|
||||
|
||||
// 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
|
||||
|
|
|
@ -35,7 +35,7 @@ public partial class AdvisorTaskItemListCrmPage : IDisposable
|
|||
private UserProfile Profile { get; set; } = new();
|
||||
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;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
|
|
|
@ -29,7 +29,7 @@ public partial class AdvisorTaskItemViewCrmPage : IDisposable
|
|||
[Parameter] public string TaskItemId { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { 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 bool Working { get; set; } = true;
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ public partial class AdvisorWorkplaceListPage : IDisposable
|
|||
[Inject] public IAdvisorCustomerRepository CustomerRepo { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
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;
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
|
|
|
@ -31,7 +31,7 @@ public partial class AdvisorWorkplaceViewPage : IDisposable
|
|||
[Inject] public IAdvisorCustomerRepository CustomerRepo { get; set; }
|
||||
[Inject] public HttpInterceptorService Interceptor { 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 bool Working { get; set; } = true;
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@ using Wonky.Client.HttpRepository;
|
|||
using Wonky.Client.Services;
|
||||
using Wonky.Entity.Requests;
|
||||
using Wonky.Entity.Views;
|
||||
using Wonky.Client.Services;
|
||||
using Wonky.Entity.DTO;
|
||||
|
||||
#pragma warning disable CS8618
|
||||
|
@ -44,7 +43,7 @@ public partial class CatalogCountryPagedListPage : IDisposable
|
|||
private MetaData PageData { get; set; } = new();
|
||||
private CatalogPager Paging { 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 string CountryName { get; set; } = "";
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ public partial class CommonReportPrintOrderPage
|
|||
foreach (var item in orders)
|
||||
{
|
||||
Toaster.ShowInfo($"Behandler {current++} af {count} ordrer. Vent venligst");
|
||||
await ProcessRepo.UpdateWarehouseOrderStatus(new OrderProcessState
|
||||
await ProcessRepo.UpdateWarehouseOrderStatus(new OrderProcessStateModel
|
||||
{
|
||||
OrderId = item.ActivityId,
|
||||
ProcessStatusEnum = Utils.EnumToString(ProcessStatus.Printed)
|
||||
|
|
|
@ -29,22 +29,22 @@
|
|||
</div>
|
||||
|
||||
<div class="report-main d-print-table">
|
||||
<PageTitle>@Report.ReportData.Name</PageTitle>
|
||||
<PageTitle>@Report.ReportDataView.Name</PageTitle>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<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 class="row">
|
||||
<div class="w-75">
|
||||
<ReportSummaryComponent ReportData="Report.ReportData"/>
|
||||
<ReportSummaryComponent ReportData="Report.ReportDataView"/>
|
||||
</div>
|
||||
<div class="w-25">
|
||||
<ReportDistanceLedgerComponent ReportData="Report.ReportData"/>
|
||||
<ReportDistanceLedgerComponent ReportData="Report.ReportDataView"/>
|
||||
</div>
|
||||
</div>
|
||||
<OfficeReportActivityListComponent ActivityList="Report.ReportItems"/>
|
||||
<ReportActivityLedgerComponent ReportData="Report.ReportData"/>
|
||||
<ReportActivityLedgerComponent ReportData="Report.ReportDataView"/>
|
||||
</div>
|
|
@ -36,7 +36,7 @@
|
|||
</div>
|
||||
<div class="col-lg-8">
|
||||
<div class="card-body py-5 px-md-5">
|
||||
<EditForm Model="CredentialDto" OnValidSubmit="ExecuteLogin" class="form">
|
||||
<EditForm Model="CredentialModel" OnValidSubmit="ExecuteLogin" class="form">
|
||||
<DataAnnotationsValidator/>
|
||||
@* username *@
|
||||
<div class="input-group mb-4">
|
||||
|
@ -44,8 +44,8 @@
|
|||
<i class="bi-at"></i>
|
||||
</span>
|
||||
<InputText type="email" class="form-control" aria-described-by="at"
|
||||
@bind-Value="CredentialDto.Email" autocomplete="username"/>
|
||||
<ValidationMessage For="@(() => CredentialDto.Email)"/>
|
||||
@bind-Value="CredentialModel.Email" autocomplete="username"/>
|
||||
<ValidationMessage For="@(() => CredentialModel.Email)"/>
|
||||
</div>
|
||||
@* current-password *@
|
||||
<div class="input-group mb-4">
|
||||
|
@ -53,8 +53,8 @@
|
|||
<i class="oi oi-key"></i>
|
||||
</span>
|
||||
<InputText type="password" class="form-control" aria-described-by="key"
|
||||
@bind-Value="CredentialDto.Password" autocomplete="current-password"/>
|
||||
<ValidationMessage For="@(() => CredentialDto.Password)"/>
|
||||
@bind-Value="CredentialModel.Password" autocomplete="current-password"/>
|
||||
<ValidationMessage For="@(() => CredentialModel.Password)"/>
|
||||
</div>
|
||||
@* submit button *@
|
||||
<div class="d-grid">
|
||||
|
|
|
@ -27,7 +27,7 @@ public partial class Login
|
|||
[Inject] public IAuthenticationService AuthenticationService { get; set; }
|
||||
[Inject] public ILogger<Login> Logger { 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 string? Error { get; set; }
|
||||
private bool execLogin = false;
|
||||
|
@ -37,7 +37,7 @@ public partial class Login
|
|||
ShowAuthError = false;
|
||||
execLogin = true;
|
||||
|
||||
var result = await AuthenticationService.Login(CredentialDto);
|
||||
var result = await AuthenticationService.Login(CredentialModel);
|
||||
if (!result.IsSuccess)
|
||||
{
|
||||
Error = result.ErrorMessage;
|
||||
|
|
|
@ -35,24 +35,24 @@
|
|||
</div>
|
||||
|
||||
<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="alert border border-1 border-dark text-center align-content-center">
|
||||
<h3>@Report.ReportData.Name</h3>
|
||||
<h3>@Report.ReportDataView.Name</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="w-75">
|
||||
<ReportSummaryComponent ReportData="Report.ReportData"/>
|
||||
<ReportSummaryComponent ReportData="Report.ReportDataView"/>
|
||||
</div>
|
||||
<div class="w-25">
|
||||
<ReportDistanceLedgerComponent ReportData="Report.ReportData"/>
|
||||
<ReportDistanceLedgerComponent ReportData="Report.ReportDataView"/>
|
||||
</div>
|
||||
</div>
|
||||
<OfficeReportActivityListComponent ActivityList="Report.ReportItems"/>
|
||||
<ReportActivityLedgerComponent ReportData="Report.ReportData"/>
|
||||
<ReportActivityLedgerComponent ReportData="Report.ReportDataView"/>
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -98,7 +98,7 @@ public partial class OfficeAdvisorReportViewPage : IDisposable
|
|||
foreach (var item in orders)
|
||||
{
|
||||
Toaster.ShowInfo($"Behandler {current++} af {count} ordrer. Vent venligst");
|
||||
await ProcessRepo.UpdateWarehouseOrderStatus(new OrderProcessState
|
||||
await ProcessRepo.UpdateWarehouseOrderStatus(new OrderProcessStateModel
|
||||
{
|
||||
OrderId = item.ActivityId,
|
||||
ProcessStatusEnum = Utils.EnumToString(ProcessStatus.Printed)
|
||||
|
@ -115,7 +115,7 @@ public partial class OfficeAdvisorReportViewPage : IDisposable
|
|||
private async Task FetchUserReport(string workDate)
|
||||
{
|
||||
// remove busy signal if report is empty
|
||||
if (string.IsNullOrWhiteSpace(Report.ReportData.ReportDate))
|
||||
if (string.IsNullOrWhiteSpace(Report.ReportDataView.ReportDate))
|
||||
{
|
||||
Working = false;
|
||||
}
|
||||
|
@ -145,7 +145,7 @@ public partial class OfficeAdvisorReportViewPage : IDisposable
|
|||
Activities = Report.ReportItems.Where(x => x.Lines.Any()).ToList();
|
||||
|
||||
// store locally
|
||||
if (!string.IsNullOrWhiteSpace(Report.ReportData.ReportDate))
|
||||
if (!string.IsNullOrWhiteSpace(Report.ReportDataView.ReportDate))
|
||||
{
|
||||
await Storage.SetItemAsync($"{UserId}-{workDate}", Report);
|
||||
}
|
||||
|
|
|
@ -30,12 +30,12 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
|||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public ICountryCustomerRepository CustomerRepo { 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 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 CustomerPaging Paging { get; set; } = new();
|
||||
private UserProfile UserProfile { get; set; } = new();
|
||||
|
@ -44,7 +44,7 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
|||
private bool ShowFolded { get; set; }
|
||||
private string ToggleFoldedText { get; set; } = "Vis Lukkede";
|
||||
private bool Working { get; set; } = true;
|
||||
private UserManagerEditView SalesRep { get; set; } = new();
|
||||
private UserAdvisorInfoView SalesRep { get; set; } = new();
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
|
@ -73,7 +73,7 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
|||
Working = true;
|
||||
ShowFolded = !ShowFolded;
|
||||
ToggleFoldedText = ShowFolded ? "Normal Visning" : "Vis Lukkede";
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.PageNumber = 1;
|
||||
Paging.HasFolded = ShowFolded ? 1 : 0;
|
||||
await FetchCompanies();
|
||||
|
@ -81,14 +81,14 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
|||
|
||||
private async Task SetSelectedPage(int page)
|
||||
{
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.PageNumber = page;
|
||||
await FetchCompanies();
|
||||
}
|
||||
|
||||
private async Task SetSearchCol(string searchColumn)
|
||||
{
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.SearchColumn = searchColumn;
|
||||
Paging.PageNumber = 1;
|
||||
await FetchCompanies();
|
||||
|
@ -96,7 +96,7 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
|||
|
||||
private async Task SetPageSize(string pageSize)
|
||||
{
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.PageSize = Convert.ToInt32(pageSize);
|
||||
Paging.PageNumber = 1;
|
||||
await FetchCompanies();
|
||||
|
@ -106,7 +106,7 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
|||
{
|
||||
// if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.Length < 3) return;
|
||||
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.PageNumber = 1;
|
||||
Paging.SearchTerm = searchTerm;
|
||||
await FetchCompanies();
|
||||
|
@ -119,7 +119,7 @@ public partial class OfficeCustomerAdvisorPagedListPage : IDisposable
|
|||
|
||||
private async Task SetSortCol(string orderBy)
|
||||
{
|
||||
CompanyList = new List<CompanyDto>();
|
||||
CompanyList = new List<CompanyModel>();
|
||||
Paging.OrderBy = orderBy;
|
||||
await FetchCompanies();
|
||||
}
|
||||
|
|
|
@ -36,9 +36,9 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
|||
[Inject] public NavigationManager Navigator { 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 UserManagerEditView XUserInfo { get; set; } = new();
|
||||
private UserAdminEditView UserInfo { get; set; } = new();
|
||||
private string SavedSearch { get; set; } = "";
|
||||
private bool ShowFolded { get; set; }
|
||||
private bool Working { get; set; } = true;
|
||||
|
@ -55,7 +55,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
|||
|
||||
// set preferences
|
||||
Profiles = await ProfileService.GetProfile();
|
||||
XUserInfo = await UserInfoService.GetUserInfo();
|
||||
UserInfo = await UserInfoService.GetUserInfo();
|
||||
Paging.OrderBy = Profiles.CompanySort;
|
||||
Paging.SearchColumn = Profiles.CompanySearch;
|
||||
Paging.PageSize = Convert.ToInt32(Profiles.PageSize);
|
||||
|
@ -74,7 +74,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
|||
Working = true;
|
||||
ShowFolded = !ShowFolded;
|
||||
ToggleFoldedText = ShowFolded ? "Normal Visning" : "Vis Lukkede";
|
||||
Companies = new List<CompanyDto>();
|
||||
Companies = new List<CompanyModel>();
|
||||
Paging.PageNumber = 1;
|
||||
Paging.HasFolded = ShowFolded ? 1 : 0;
|
||||
await FetchCustomers();
|
||||
|
@ -83,7 +83,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
|||
private async Task SetSelectedPage(int page)
|
||||
{
|
||||
Working = true;
|
||||
Companies = new List<CompanyDto>();
|
||||
Companies = new List<CompanyModel>();
|
||||
Paging.PageNumber = page;
|
||||
await FetchCustomers();
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
|||
private async Task SetSearchCol(string searchColumn)
|
||||
{
|
||||
Working = true;
|
||||
Companies = new List<CompanyDto>();
|
||||
Companies = new List<CompanyModel>();
|
||||
Paging.SearchColumn = searchColumn;
|
||||
Paging.PageNumber = 1;
|
||||
await FetchCustomers();
|
||||
|
@ -99,7 +99,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
|||
private async Task SetPageSize(string pageSize)
|
||||
{
|
||||
Working = true;
|
||||
Companies = new List<CompanyDto>();
|
||||
Companies = new List<CompanyModel>();
|
||||
Paging.PageSize = Convert.ToInt32(pageSize);
|
||||
Paging.PageNumber = 1;
|
||||
await FetchCustomers();
|
||||
|
@ -108,7 +108,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
|||
private async Task SetSearchPhrase(string searchTerm)
|
||||
{
|
||||
Working = true;
|
||||
Companies = new List<CompanyDto>();
|
||||
Companies = new List<CompanyModel>();
|
||||
Paging.PageNumber = 1;
|
||||
Paging.SearchTerm = searchTerm;
|
||||
await FetchCustomers();
|
||||
|
@ -117,7 +117,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
|||
private async Task SetSortCol(string orderBy)
|
||||
{
|
||||
Working = true;
|
||||
Companies = new List<CompanyDto>();
|
||||
Companies = new List<CompanyModel>();
|
||||
Paging.OrderBy = orderBy;
|
||||
await FetchCustomers();
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ public partial class OfficeCustomerCountryPagedListPage : IDisposable
|
|||
}
|
||||
else
|
||||
{
|
||||
Companies = new List<CompanyDto>();
|
||||
Companies = new List<CompanyModel>();
|
||||
PageData = new MetaData();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -58,11 +58,11 @@ public partial class OfficeOrderCreatePage : IDisposable
|
|||
// private variables
|
||||
private readonly JsonSerializerOptions _options = new() {PropertyNameCaseInsensitive = true};
|
||||
// class objects
|
||||
private CompanyDto Company { get; set; } = new();
|
||||
private UserManagerEditView UserInfo { get; set; } = new();
|
||||
private CompanyModel Company { get; set; } = new();
|
||||
private UserAdminEditView UserInfo { get; set; } = new();
|
||||
private SalesItemView SelectedItem { get; set; } = new();
|
||||
private ActivityDto Activity { get; set; } = new();
|
||||
private UserManagerEditView SalesRep { get; set; } = new();
|
||||
private ActivityModel Activity { get; set; } = new();
|
||||
private UserAdminEditView SalesRep { get; set; } = new();
|
||||
// edit context
|
||||
private EditContext ActivityContext { get; set; }
|
||||
// variables
|
||||
|
|
|
@ -36,7 +36,7 @@ public partial class OfficeOrderViewPage : IDisposable
|
|||
[Inject] public IAdvisorActivityRepository AdvisorActivityRepo { get; set; }
|
||||
[Inject] public ISystemSendMailService MailService { 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 IToastService Toast { get; set; }
|
||||
[Inject] public IUserInfoService UserInfoService { get; set; }
|
||||
|
@ -76,7 +76,7 @@ public partial class OfficeOrderViewPage : IDisposable
|
|||
// get user info from storage
|
||||
var user = await UserInfoService.GetUserInfo();
|
||||
// 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));
|
||||
// create email notification body
|
||||
var body = new StringBuilder();
|
||||
|
@ -90,7 +90,7 @@ public partial class OfficeOrderViewPage : IDisposable
|
|||
body.AppendLine($"{user.FirstName} {user.LastName}");
|
||||
body.AppendLine($"{user.PhoneNumber}");
|
||||
// create a list of mail addresses
|
||||
var sendTo = new List<EmailContact>
|
||||
var sendTo = new List<EmailContactModel>
|
||||
{
|
||||
new()
|
||||
{
|
||||
|
@ -99,7 +99,7 @@ public partial class OfficeOrderViewPage : IDisposable
|
|||
}
|
||||
};
|
||||
// create an email
|
||||
var msg = new EmailMessage
|
||||
var msg = new EmailMessageModel
|
||||
{
|
||||
Body = body.ToString(),
|
||||
Subject = $"Haste ordre til {ReportItem.Company.Name} er modtaget.",
|
||||
|
|
|
@ -18,6 +18,8 @@ using Wonky.Client.Helpers;
|
|||
using Wonky.Client.HttpInterceptors;
|
||||
using Wonky.Client.HttpRepository;
|
||||
using Wonky.Entity.DTO;
|
||||
using Wonky.Entity.Views;
|
||||
|
||||
#pragma warning disable CS8618
|
||||
|
||||
namespace Wonky.Client.Pages;
|
||||
|
@ -25,9 +27,9 @@ namespace Wonky.Client.Pages;
|
|||
public partial class OfficeUserAdvisorListPage :IDisposable
|
||||
{
|
||||
[Inject] public HttpInterceptorService Interceptor { get; set; }
|
||||
[Inject] public ISystemUserRepository SystemUserRepo { get; set; }
|
||||
[Inject] public IOfficeUserInfoRepository UserRepo { 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 string CountryName { get; set; } = "";
|
||||
|
||||
|
@ -36,9 +38,9 @@ public partial class OfficeUserAdvisorListPage :IDisposable
|
|||
Interceptor.RegisterEvent();
|
||||
Interceptor.RegisterBeforeSendEvent();
|
||||
CountryName = Utils.CountryName(CountryCode);
|
||||
var AdvisorList = await SystemUserRepo.GetUsers();
|
||||
var AdvisorList = await UserRepo.GetUsers("Advisor");
|
||||
SalesReps = AdvisorList
|
||||
.Where(x => x.CountryCode.ToLower() == CountryCode && int.TryParse(x.SalesRep, out _))
|
||||
.OrderBy(x => x.FullName)
|
||||
.ToList();
|
||||
Working = false;
|
||||
}
|
||||
|
|
|
@ -19,11 +19,11 @@
|
|||
@attribute [Authorize(Roles = "Admin,Office")]
|
||||
@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-header">
|
||||
<div class="mt-3 h3 card-title">
|
||||
Rapport Arkiv - @UserInfo.FirstName @UserInfo.LastName
|
||||
Rapport Arkiv - @AdvisorInfo.FirstName @AdvisorInfo.LastName
|
||||
</div>
|
||||
</div>
|
||||
<OfficeReportListComponent OnShowReport="ShowThisReport" CountryCode="@CountryCode" UserId="@UserId" ReportList="@ActivityReports" />
|
||||
|
|
|
@ -29,11 +29,11 @@ public partial class OfficeUserAdvisorReportListPage : IDisposable
|
|||
[Parameter] public string CountryCode { get; set; } = "";
|
||||
[Inject] public ICountryReportRepository ReportRepo { 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; }
|
||||
private List<SalesReportListView> ActivityReports { get; set; } = new();
|
||||
private bool Working { get; set; } = true;
|
||||
private UserManagerEditView UserInfo { get; set; } = new();
|
||||
private UserAdvisorInfoView AdvisorInfo { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// override OnParametersSeAsync
|
||||
|
@ -43,8 +43,8 @@ public partial class OfficeUserAdvisorReportListPage : IDisposable
|
|||
Interceptor.RegisterEvent();
|
||||
Interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
UserInfo = await SystemUserRepo.GetUserInfo(UserId);
|
||||
while (string.IsNullOrWhiteSpace(UserInfo.UserId))
|
||||
AdvisorInfo = await UserRepo.GetUserInfo(UserId);
|
||||
while (string.IsNullOrWhiteSpace(AdvisorInfo.UserId))
|
||||
{
|
||||
await Task.Delay(500);
|
||||
}
|
||||
|
|
|
@ -35,9 +35,9 @@ public partial class OfficeUserAdvisorViewEditPage : IDisposable
|
|||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||
[Inject] public ILogger<OfficeUserAdvisorViewEditPage> Logger { 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 ResetPasswordDto Passwords { get; set; } = new();
|
||||
private ResetPasswordModel Passwords { get; set; } = new();
|
||||
private EditContext PasswdContext { get; set; }
|
||||
private bool PwInvalid { 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="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 class="row ms-2">
|
||||
|
|
|
@ -17,11 +17,11 @@ public partial class SystemMaintenanceMessagePage : IDisposable
|
|||
[Inject] public ILogger<SystemMaintenanceMessagePage> Logger { get; set; }
|
||||
[Inject] public IToastService Toaster { get; set; }
|
||||
|
||||
private List<UserManagerListView> Users { get; set; } = new();
|
||||
private ShortMessage Message { get; set; } = new();
|
||||
private List<UserInfoListView> Users { get; set; } = new();
|
||||
private ShortMessageModel MessageModel { get; set; } = new();
|
||||
private List<Recipient> Recipients { 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 MsgSent { get; set; }
|
||||
|
||||
|
@ -58,20 +58,20 @@ public partial class SystemMaintenanceMessagePage : IDisposable
|
|||
return;
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(Message.Body))
|
||||
if (string.IsNullOrWhiteSpace(MessageModel.Body))
|
||||
{
|
||||
Toaster.ShowError("Meddelelsesfeltet er tomt!");
|
||||
return;
|
||||
}
|
||||
Message.From = "Innotec IT";
|
||||
Message.To = string.Join(",", recipients);
|
||||
MessageModel.From = "Innotec IT";
|
||||
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)
|
||||
{
|
||||
ClxMsg = JsonSerializer.Deserialize<ClxMessage>(SmsResponse.Message);
|
||||
ClxMsg = JsonSerializer.Deserialize<ClxMessageView>(SmsResponse.Message);
|
||||
MsgSent = true;
|
||||
}
|
||||
Working = false;
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
|
||||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
#pragma warning disable CS8618
|
||||
namespace Wonky.Client.Pages;
|
||||
|
||||
public partial class SystemManagerLandingPage
|
||||
|
|
|
@ -19,17 +19,66 @@
|
|||
@page "/system/supervisors"
|
||||
|
||||
<PageTitle>Supervisor Oversigt</PageTitle>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-dark text-white">
|
||||
<div class="mt-3 h3 card-title">
|
||||
Supervisor Oversigt
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h3>Supervisor Oversigt</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<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>
|
||||
|
||||
@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 ILogger<SystemUserCreatePage> Logger { 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 bool ContextInvalid { get; set; } = true;
|
||||
private bool Working { get; set; } = true;
|
||||
|
|
|
@ -38,18 +38,18 @@
|
|||
<div class="list-group">
|
||||
<div class="list-group-item">
|
||||
<div class="row">
|
||||
<div class="col-sm-1">
|
||||
<div class="col-sm-1 mt-3">
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="col-sm-4 mt-3">
|
||||
<div class="h4">Navn</div>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<div class="col-sm-3 mt-3">
|
||||
<div class="h4">Email</div>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<div class="col-sm-2 mt-3">
|
||||
<div class="h4">Telefon</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>
|
||||
</div>
|
||||
|
||||
|
@ -74,7 +74,9 @@
|
|||
<div class="col-sm-2">
|
||||
@user.PhoneNumber
|
||||
</div>
|
||||
<div class="col-sm-2"></div>
|
||||
<div class="col-sm-2">
|
||||
@user.Description
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
|
|
|
@ -18,7 +18,9 @@ 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 SystemUserListPage : IDisposable
|
||||
|
@ -26,7 +28,7 @@ public partial class SystemUserListPage : IDisposable
|
|||
[Inject] public HttpInterceptorService Interceptor { 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;
|
||||
protected override async Task OnInitializedAsync()
|
||||
|
|
|
@ -59,15 +59,21 @@
|
|||
Email
|
||||
</th>
|
||||
<td>
|
||||
<InputText id="email" class="form-control" @bind-Value="UserData.Email" readonly="@ReadOnly" />
|
||||
<ValidationMessage For="@(() => UserData.Email)"></ValidationMessage>
|
||||
<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>
|
||||
</div>
|
||||
</td>
|
||||
<th scope="col">
|
||||
Mobilnummer
|
||||
</th>
|
||||
<td>
|
||||
<InputText id="phoneNumber" class="form-control" @bind-Value="UserData.PhoneNumber" readonly="@ReadOnly" />
|
||||
<ValidationMessage For="@(() => UserData.PhoneNumber)"></ValidationMessage>
|
||||
<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>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="align-middle">
|
||||
|
@ -75,8 +81,11 @@
|
|||
Sælgernr.
|
||||
</th>
|
||||
<td>
|
||||
<InputText id="salesRep" class="form-control" @bind-Value="UserData.SalesRep" readonly="@ReadOnly" />
|
||||
<ValidationMessage For="@(() => UserData.SalesRep)"></ValidationMessage>
|
||||
<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>
|
||||
</div>
|
||||
</td>
|
||||
<th scope="col">
|
||||
Landekode
|
||||
|
@ -91,13 +100,16 @@
|
|||
Spærret
|
||||
</th>
|
||||
<td>
|
||||
<InputCheckbox id="lockoutEnabled" class="form-check" @bind-Value="UserData.LockoutEnabled" disabled="@ReadOnly"/>
|
||||
<ValidationMessage For="@(() => UserData.LockoutEnabled)"></ValidationMessage>
|
||||
<InputCheckbox id="lockoutEnabled" class="form-check" @bind-Value="UserData.LockoutEnabled" disabled="@ReadOnly"/>
|
||||
<ValidationMessage For="@(() => UserData.LockoutEnabled)"></ValidationMessage>
|
||||
</td>
|
||||
<th scope="col">Beskrivelse</th>
|
||||
<td>
|
||||
<InputText id="description" class="form-control" @bind-Value="@UserData.Description" readonly="@ReadOnly"/>
|
||||
<ValidationMessage For="@(() => UserData.Description)"></ValidationMessage>
|
||||
<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>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
|
@ -35,9 +35,9 @@ public partial class SystemUserViewEditPage : IDisposable
|
|||
[Inject] public ISystemUserRepository UserRepo { get; set; }
|
||||
[Inject] public ILogger<SystemUserViewEditPage> Logger { 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 ResetPasswordDto Passwords { get; set; } = new();
|
||||
private ResetPasswordModel Passwords { get; set; } = new();
|
||||
private EditContext PasswdContext { get; set; }
|
||||
private bool PwInvalid { get; set; } = true;
|
||||
private bool Working { get; set; } = true;
|
||||
|
|
|
@ -85,7 +85,7 @@ public partial class WarehouseOrderListPage : IDisposable
|
|||
Working = true;
|
||||
var order = OrderList.First(x => x.OrderId == orderId);
|
||||
order.ProcessStatusEnum = "packed";
|
||||
var process = new OrderProcessState
|
||||
var process = new OrderProcessStateModel
|
||||
{
|
||||
OrderId = order.OrderId,
|
||||
ProcessStatusEnum = "packed"
|
||||
|
@ -103,7 +103,7 @@ public partial class WarehouseOrderListPage : IDisposable
|
|||
foreach (var order in OrderList.Where(order => order.ProcessStatusEnum.ToLower() == "packed"))
|
||||
{
|
||||
order.ProcessStatusEnum = "shipped";
|
||||
var process = new OrderProcessState
|
||||
var process = new OrderProcessStateModel
|
||||
{
|
||||
OrderId = order.OrderId,
|
||||
ProcessStatusEnum = "shipped"
|
||||
|
|
|
@ -54,7 +54,7 @@ public partial class WarehouseOrderViewPage : IDisposable
|
|||
return;
|
||||
|
||||
Working = true;
|
||||
var process = new OrderProcessState
|
||||
var process = new OrderProcessStateModel
|
||||
{
|
||||
OrderId = Order.OrderId,
|
||||
ProcessStatusEnum = "picked"
|
||||
|
@ -68,7 +68,7 @@ public partial class WarehouseOrderViewPage : IDisposable
|
|||
if (Working)
|
||||
return;
|
||||
Working = true;
|
||||
var process = new OrderProcessState
|
||||
var process = new OrderProcessStateModel
|
||||
{
|
||||
OrderId = Order.OrderId,
|
||||
ProcessStatusEnum = "packed"
|
||||
|
@ -82,7 +82,7 @@ public partial class WarehouseOrderViewPage : IDisposable
|
|||
if (Working)
|
||||
return;
|
||||
Working = true;
|
||||
var process = new OrderProcessState
|
||||
var process = new OrderProcessStateModel
|
||||
{
|
||||
OrderId = Order.OrderId,
|
||||
ProcessStatusEnum = "shipped"
|
||||
|
|
|
@ -55,7 +55,7 @@ public class AuthenticationService : IAuthenticationService
|
|||
_localStorage = localStorage;
|
||||
}
|
||||
|
||||
public async Task<AuthResponseView> Login(CredentialDto credentials)
|
||||
public async Task<AuthResponseView> Login(CredentialModel credentials)
|
||||
{
|
||||
var credForm = new Dictionary<string, string>
|
||||
{
|
||||
|
@ -133,13 +133,13 @@ public class AuthenticationService : IAuthenticationService
|
|||
((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 content = await response.Content.ReadAsStringAsync();
|
||||
var userInfo = JsonSerializer.Deserialize<UserManagerEditView>(content, _options);
|
||||
var userInfo = JsonSerializer.Deserialize<UserAdminEditView>(content, _options);
|
||||
if(write)
|
||||
await _infoService.SetUserInfo(userInfo);
|
||||
return userInfo ?? new UserManagerEditView();
|
||||
return userInfo ?? new UserAdminEditView();
|
||||
}
|
||||
}
|
|
@ -21,8 +21,8 @@ namespace Wonky.Client.Services;
|
|||
|
||||
public interface IAuthenticationService
|
||||
{
|
||||
Task<AuthResponseView> Login(CredentialDto credentials);
|
||||
Task<AuthResponseView> Login(CredentialModel credentials);
|
||||
Task Logout();
|
||||
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
|
||||
{
|
||||
Task<UserManagerEditView> GetUserInfo();
|
||||
Task SetUserInfo(UserManagerEditView userInfo);
|
||||
Task<UserAdminEditView> GetUserInfo();
|
||||
Task SetUserInfo(UserAdminEditView userInfo);
|
||||
Task<string> GetRefreshToken();
|
||||
Task SetRefreshToken(string token);
|
||||
Task<string> GetAccessToken();
|
||||
|
|
|
@ -36,12 +36,12 @@ public class UserInfoService : IUserInfoService
|
|||
_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);
|
||||
}
|
||||
|
|
|
@ -30,13 +30,13 @@ namespace Wonky.Client.Shared;
|
|||
|
||||
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 IAdvisorContactRepository ContactRepo { 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; }
|
||||
private ContactDto Contact { get; set; } = new();
|
||||
private ContactModel Contact { get; set; } = new();
|
||||
private string _modalDisplay = "";
|
||||
private bool _showBackdrop;
|
||||
private bool DisableDelete { get; set; }
|
||||
|
@ -44,7 +44,7 @@ public partial class ContactModal
|
|||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
Contact = new ContactDto
|
||||
Contact = new ContactModel
|
||||
{
|
||||
CompanyId = ParamContact.CompanyId,
|
||||
ContactId = ParamContact.ContactId,
|
||||
|
@ -84,7 +84,7 @@ public partial class ContactModal
|
|||
{
|
||||
_modalDisplay = "none;";
|
||||
_showBackdrop = false;
|
||||
Contact = new ContactDto();
|
||||
Contact = new ContactModel();
|
||||
StateHasChanged();
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue