You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
5.0 KiB
133 lines
5.0 KiB
@page "/Admin/User/UserList"
|
|
@inherits UserListBase
|
|
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
|
|
|
@using Syncfusion.Blazor.Grids;
|
|
@using Syncfusion.Blazor.Spinner;
|
|
@using BlazorApp.Helper
|
|
@using BWPMModels;
|
|
|
|
@using BlazorApp.Controller;
|
|
|
|
|
|
|
|
<h1>Benutzer</h1>
|
|
|
|
|
|
|
|
|
|
|
|
<AuthorizeView Roles="Administrators">
|
|
<Authorized>
|
|
@*@if (@context.User.IsInRole("Administrators"))
|
|
{
|
|
<div>Gugus</div>
|
|
}*@
|
|
|
|
This content is displayed only if the user is Authorized
|
|
</Authorized>
|
|
<NotAuthorized>
|
|
This content is displayed if the user is Not Authorized
|
|
</NotAuthorized>
|
|
</AuthorizeView>
|
|
<AuthorizeView>
|
|
<Authorized>
|
|
<div class="col-lg-12 control-section">
|
|
<div class="content-wrapper">
|
|
<div class="row">
|
|
|
|
<div id="container">
|
|
|
|
<SfGrid DataSource="@users" Toolbar="@(new List<string>() { "Add","Edit", "Delete", "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" TValue="User"></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(User.ID) HeaderText="ID" IsPrimaryKey="true" Visible="true" Width="40"></GridColumn>
|
|
<GridForeignColumn Field=@nameof(User.usertype) HeaderText="Typ" ForeignKeyValue="Typ" ForeignDataSource="@usertypes" Width="150"></GridForeignColumn>
|
|
<GridColumn Field=@nameof(User.username) HeaderText="Username" Visible="true" Width="60"></GridColumn>
|
|
<GridColumn Field=@nameof(User.passwort) HeaderText="Passwort" Visible="true" Width="60"></GridColumn>
|
|
<GridColumn Field=@nameof(User.email) HeaderText="Mail" Visible="true" Width="60"></GridColumn>
|
|
<GridColumn Field=@nameof(User.mutiert_am) HeaderText="Mutiert" Visible="true" Format="d" Type="ColumnType.Date" Width="100"></GridColumn>
|
|
<GridColumn Field=@nameof(User.aktiv) HeaderText="Aktiv" Visible="true" Width="60" DisplayAsCheckBox="true"></GridColumn>
|
|
</GridColumns>
|
|
</SfGrid>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</Authorized>
|
|
</AuthorizeView>
|
|
@code {
|
|
|
|
|
|
public List<User> users { get; set; }
|
|
public List<usertypedata> usertypes { get; set; }
|
|
|
|
protected override void OnInitialized()
|
|
{
|
|
users = BlazorApp.Controller.UserController.GetAllData();
|
|
usertypes = new List<usertypedata>();
|
|
usertypes.Add(new usertypedata { usertype = 0, Typ = "Admin" });
|
|
usertypes.Add(new usertypedata { usertype = 1, Typ = "User" });
|
|
|
|
}
|
|
|
|
private void OnBeginHandler(ActionEventArgs<User> Args)
|
|
{
|
|
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
|
{
|
|
if (Args.Action == "add")
|
|
{
|
|
var t = Args.Data; //returns the edited / insrted record details.
|
|
//insert into your db
|
|
}
|
|
else
|
|
{
|
|
string userid = "";
|
|
userid = sessionStorage.GetItemAsync<string>("UserID").ToString();
|
|
Args.Data.mutiert_am = DateTime.Now;
|
|
BlazorApp.Controller.UserController.savedata(Args.Data);
|
|
//var t = Args.Data;
|
|
|
|
if (userid==null) { sessionStorage.SetItemAsync("UserID", "Stefan"); };
|
|
}
|
|
}
|
|
}
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
string userid = "";
|
|
|
|
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", "");
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public class usertypedata
|
|
{
|
|
public int usertype { get; set; }
|
|
public string Typ { get; set; }
|
|
|
|
}
|
|
|
|
} |