Escali License control 1
UserTable.razor
Gå til dokumentasjonen til denne filen.
1@using Escali.LicenseControl.Client.ClientModels
2@using Escali.LicenseControl.Client.ViewModels
3@using Escali.LicenseControl.Client.Pages
4@inject UserViewModel _userViewService
5@inject MainSegmentViewModel _mainSegmentViewService
6@inject CustomerViewModel _customerViewService
7@inject StateService selState
8@implements IDisposable
9@inject NavigationManager NavManager
10@inject StateService _stateService
11@inject AgreementElementViewModel _agreementElementViewService
12@inject ModuleViewModel _moduleViewService
13@inject RegionViewModel _regionViewService
14@inject PriorityViewModel _priorityViewService
15
16<div class="div-customer-table-index scroll">
17@if (_customerViewService.Customers != null && _stateService.SelectedUserSeq.Value != null) {
18 <TableNested Items="@_customerViewService.Customers.Where(c => c.UserSeq == _stateService.SelectedUserSeq.Value).ToList()">
19 <TableHeader>
20 <td>Dine Kunder</td>
21 <td></td>
22 <td>Siste Kundem&oslash;te</td>
23 </TableHeader>
24 <RowTemplate>
25 <td>@context.CustomerName</td>
26 <td></td>
27 <td></td>
28 <td class="table-col-last">
29 <img @onclick="() => Redirect(context)" style="cursor: pointer" src="Icons/vertical-dots-icon.svg" alt="Dotts for change">
30 </td>
31 </RowTemplate>
32 <ChildRowTemplate>
33 @if(_priorityViewService != null &&
34 _regionViewService.Regions != null &&
35 _agreementElementViewService.AgreementElements != null &&
36 DataUtils.GetCustomerAgreementElements(context.CustomerSeq!.Value, _agreementElementViewService.AgreementElements).Any())
37 {
38 @foreach(var a in DataUtils.GetCustomerAgreementElements(context.CustomerSeq!.Value, _agreementElementViewService.AgreementElements))
39 {
40 <tr class="table-data-third col-md-12">
41 <td class="table-col-first"></td>
42 <td>@a.Agreement?.AgreementName</td>
43 <td>
44 @_regionViewService.Regions.First(c => c.RegionSeq == context.RegionSeq).Area
45 @_priorityViewService.Priorities?.First(p => p.PrioritySeq == context.PrioritySeq).PriorityName
46 </td>
47 <td>@a.Agreement?.AgreementUpdated.ToPrettyDate()</td>
48 <td></td>
49 </tr>
50 }
51 }
52 </ChildRowTemplate>
53 </TableNested>
54}
55</div>
56
57@code {
58
59 private void Redirect(CustomerClientModel customer)
60 {
61 _stateService.EditCustomer.Value = customer;
62 NavManager.NavigateTo("/customers");
63 }
64
65 protected override void OnInitialized()
66 {
67 _customerViewService.DataChanged += StateHasChanged;
68 _userViewService.DataChanged += StateHasChanged;
69 _moduleViewService.DataChanged += StateHasChanged;
70
71 _stateService.SelectedUserSeq.ValueChanged += StateHasChanged;
72 }
73
74 void IDisposable.Dispose()
75 {
76 _customerViewService.DataChanged -= StateHasChanged;
77 _userViewService.DataChanged -= StateHasChanged;
78 _moduleViewService.DataChanged -= StateHasChanged;
79
80 _stateService.SelectedUserSeq.ValueChanged -= StateHasChanged;
81 }
82
83}