62 lines
2.8 KiB
Plaintext
62 lines
2.8 KiB
Plaintext
@page "/Accounts/AccountIndex"
|
|
|
|
@using Gremlin_BlazorServer.Data.EntityClasses;
|
|
@using Gremlin_BlazorServer.Services;
|
|
|
|
@inject GenericController GenericController
|
|
|
|
<AuthorizeView>
|
|
<Authorized>
|
|
<h1>Accounts</h1>
|
|
<DataGrid TItem="Account" Data="@accounts" SelectedRow="@selectedAccount" SelectedRowChanged="@OnSelectedAccountChanged" Editable ShowPager Bordered Hoverable Sortable Filterable Striped Responsive>
|
|
<DataGridCommandColumn/>
|
|
<DataGridColumn Field="@nameof(Account.AccountId)" Caption="AccountId" Filterable Sortable Editable/>
|
|
<DataGridColumn Field="@nameof(Account.AccountName)" Caption="AccountName" Filterable Sortable Editable/>
|
|
<DataGridColumn Field="@nameof(Account.Street)" Caption="Street" Filterable Sortable Editable/>
|
|
<DataGridColumn Field="@nameof(Account.Zip)" Caption="Zip" Filterable Sortable Editable/>
|
|
<DataGridColumn Field="@nameof(Account.City)" Caption="City" Filterable Sortable Editable/>
|
|
<DataGridColumn Field="@nameof(Account.SapAccountNumber)" Caption="SapAccountNumber" Filterable Sortable Editable/>
|
|
</DataGrid>
|
|
|
|
<h2>Contacts in @selectedAccount.AccountName</h2>
|
|
<DataGrid TItem="Contact" Data="@selectedAccount.Contacts" Editable ShowPager Bordered Hoverable Sortable Filterable Striped Responsive>
|
|
<DataGridCommandColumn/>
|
|
<DataGridColumn Field="@nameof(Contact.ContactId)" Caption="ContactId" Filterable Sortable Editable/>
|
|
<DataGridColumn Field="@nameof(Contact.AccountId)" Caption="AccountId" Filterable Sortable Editable/>
|
|
<DataGridColumn Field="@nameof(Contact.LastName)" Caption="LastName" Filterable Sortable Editable/>
|
|
<DataGridColumn Field="@nameof(Contact.FirstName)" Caption="FirstName" Filterable Sortable Editable/>
|
|
<DataGridColumn Field="@nameof(Contact.Gender)" Caption="Gender" Filterable Sortable Editable/>
|
|
<DataGridColumn Field="@nameof(Contact.EMail)" Caption="EMail" Filterable Sortable Editable/>
|
|
<DataGridColumn Field="@nameof(Contact.SapContactNumber)" Caption="SAPContactNumber" Filterable Sortable Editable/>
|
|
</DataGrid>
|
|
</Authorized>
|
|
<NotAuthorized>
|
|
<h3>Authentication Failure!</h3>
|
|
<p>You're not signed in. Please click on the upper right to either register or log in.</p>
|
|
</NotAuthorized>
|
|
</AuthorizeView>
|
|
|
|
@code {
|
|
[CascadingParameter]
|
|
private Task<AuthenticationState>? authenticationStateTask { get; set; }
|
|
|
|
private IList<Account>? accounts;
|
|
private Account? selectedAccount;
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
if (authenticationStateTask != null)
|
|
{
|
|
var user = (await authenticationStateTask).User;
|
|
|
|
if (user.Identity != null && user.Identity.IsAuthenticated)
|
|
{
|
|
accounts = GenericController.GetAll<Account>();
|
|
selectedAccount = accounts.First();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnSelectedAccountChanged(Account sA) => selectedAccount = sA;
|
|
|
|
} |