Files
BWPM/BlazorApp/Pages/Admin/Schulhaus/SchulhausList.razor

124 lines
5.7 KiB
Plaintext

@page "/Admin/Schulhaus/SchulhausList"
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
@inherits ListBase
@using Syncfusion.Blazor.Grids;
@using Syncfusion.Blazor.Spinner;
@using BlazorApp.Helper
@using BWPMModels;
@using BlazorApp.Controller;
<h1>Schulhaus</h1>
<AuthorizeView Roles="Administrators">
<Authorized>
<div class="col-lg-12 control-section">
<div class="content-wrapper">
<div class="row">
<div id="container">
<SfGrid @ref="Grid" DataSource="@Schulhauss" Toolbar="@(new List<string>() { "Add", "Edit", "Update", "Cancel" })" Height="315"
AllowSelection="true" AllowSorting="true" AllowFiltering="true" EnableVirtualization="true">
<GridFilterSettings Type="Syncfusion.Blazor.Grids.FilterType.Menu"></GridFilterSettings>
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="Schulhaus"></GridEvents>
<GridSelectionSettings CheckboxOnly="true" PersistSelection="true" Type="SelectionType.Multiple"></GridSelectionSettings>
<GridColumns>
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.ID) HeaderText="ID" IsPrimaryKey="true" AllowAdding="false" Width="60"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.bezeichnung) HeaderText="bezeichnung" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.strasse) HeaderText="strasse" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.plz) HeaderText="plz" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.ort) HeaderText="ort" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.telefon) HeaderText="telefon" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.aktiv) HeaderText="aktiv" Width="100" Visible="true" DisplayAsCheckBox="true"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.erstellt_am) HeaderText="erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.mutiert_am) HeaderText="mutiert_am" Width="100" Visible="true" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.mutierer) HeaderText="mutierer" Width="100" Visible="false"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.sort) HeaderText="sort" Width="100" Visible="false"></GridColumn>
<GridColumn Field=@nameof(Schulhaus.mandantnr) HeaderText="mandantnr" Width="100" Visible="false"></GridColumn>
</GridColumns>
</SfGrid>
</div>
</div>
</div>
</div>
</Authorized>
</AuthorizeView>
@code {
SfGrid<Schulhaus> Grid { get; set; }
public List<BWPMModels.Schulhaus> Schulhauss { get; set; }
string userid = "";
protected override void OnInitialized()
{
Schulhauss = BlazorApp.Controller.SchulhausController.GetAllData();
}
private void OnBeginHandler(ActionEventArgs<BWPMModels.Schulhaus> Args)
{
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
{
if (Args.Action == "Add")
{
Args.Data.erstellt_am = DateTime.Now;
Args.Data.mutierer = userid;
Args.Data.mutiert_am = DateTime.Now;
Args.Data.aktiv = true;
BlazorApp.Controller.SchulhausController.InsertData(Args.Data);
}
else
{
Args.Data.mutierer = userid.ToString();
Args.Data.mutiert_am = DateTime.Now;
BlazorApp.Controller.SchulhausController.savedata(Args.Data);
}
}
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Delete)
{
Args.Data.mutierer = userid.ToString();
Args.Data.mutiert_am = DateTime.Now;
Args.Data.aktiv = false;
BlazorApp.Controller.SchulhausController.savedata(Args.Data);
}
}
public async Task OnCompletedHandler(ActionEventArgs<BWPMModels.Schulhaus> Args)
{
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save || Args.RequestType==Syncfusion.Blazor.Grids.Action.Delete)
{
Schulhauss = BlazorApp.Controller.SchulhausController.GetAllData();
}
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
userid = await sessionStorage.GetItemAsync<string>("UserID");
if (userid == null)
{
var authState = await authenticationStateTask;
var userId = authState.User.Claims.FirstOrDefault().Value;
var user = authState.User;
if (user.Identity.IsAuthenticated)
{
await sessionStorage.SetItemAsync("UserID", userId);
}
else
{
await sessionStorage.SetItemAsync("UserID", userId);
}
}
}
}