update 09082021
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
@page "/Teacher/TeacherContact"
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@inject NavigationManager NavManager
|
||||
@inherits Admin.ListBase;
|
||||
@using System.ComponentModel.DataAnnotations
|
||||
@using Syncfusion.Blazor.Grids;
|
||||
@@ -13,15 +14,11 @@
|
||||
<div class="control-section e-tab-section">
|
||||
|
||||
<EditForm Model="_lehrer" OnValidSubmit="@Submit" OnInvalidSubmit="@InvalidSubmit">
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<SfButton IsPrimary="true" OnClick="@(() => SaveClick())">Speichern</SfButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<DataAnnotationsValidator />
|
||||
<SfTab ID="BlazorTab" Height="390">
|
||||
<SfTab ID="BlazorTab" Height="390" @ref="Tab">
|
||||
<TabEvents Created="TabCreate"></TabEvents>
|
||||
<TabItems>
|
||||
<TabItem>
|
||||
<ChildContent>
|
||||
@@ -95,54 +92,77 @@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<SfButton IsPrimary="true" OnClick="@(() => SaveClick())">Speichern und weiter</SfButton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Klassen und Klassengrösse</h5>
|
||||
<div class="col-lg-12 control-section">
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" Toolbar="@(new List<string>() { "Add", "Edit", "Update", "Cancel" })">
|
||||
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
|
||||
<GridEditSettings AllowAdding="true" AllowDeleting="false" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
|
||||
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="Klasse" OnDataBound="RowDataBoundHandler"></GridEvents>
|
||||
<GridColumns>
|
||||
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60" Visible="true"></GridColumn>
|
||||
<GridForeignColumn Field=@nameof(Klasse.schulhausID) HeaderText="Schulhaus" ForeignKeyValue="bezeichnung" ForeignKeyField="ID" ForeignDataSource="@_schulhaus" Width="150"></GridForeignColumn>
|
||||
@*<GridColumn Field=@nameof(Klasse.schulhausID) HeaderText="Schulhausid" Width="100" Visible="true"></GridColumn>*@
|
||||
</div>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.bezeichnung) HeaderText="Bezeichnung" Width="100" Visible="true"></GridColumn>
|
||||
</ContentTemplate>
|
||||
</TabItem>
|
||||
<TabItem>
|
||||
<ChildContent>
|
||||
<TabHeader Text="Stammdaten"></TabHeader>
|
||||
</ChildContent>
|
||||
<ContentTemplate>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.klassengroesse) HeaderText="Klassengrösse" Width="100" Visible="true"></GridColumn>
|
||||
<div class="row">
|
||||
<div class="col-md-6" id="TestCol">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Klassen und Klassengrösse</h5>
|
||||
<div class="col-lg-12 control-section">
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<SfGrid @bind-Visible="@ShowErrorDialog_grid" DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" Toolbar="@(new List<string>() { "Add", "Edit", "Update", "Cancel" })">
|
||||
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
|
||||
<GridEditSettings AllowAdding="true" AllowDeleting="false" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
|
||||
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="Klasse" OnDataBound="RowDataBoundHandler"></GridEvents>
|
||||
<GridColumns>
|
||||
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.aktiv) HeaderText="Aktiv" Width="100" Visible="false" DisplayAsCheckBox="true"></GridColumn>
|
||||
<GridColumn Field=@nameof(Klasse.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60" Visible="true"></GridColumn>
|
||||
<GridForeignColumn Field=@nameof(Klasse.schulhausID) HeaderText="Schulhaus" ForeignKeyValue="bezeichnung" ForeignKeyField="ID" ForeignDataSource="@_schulhaus" Width="150"></GridForeignColumn>
|
||||
@*<GridColumn Field=@nameof(Klasse.schulhausID) HeaderText="Schulhausid" Width="100" Visible="true"></GridColumn>*@
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
<GridColumn Field=@nameof(Klasse.bezeichnung) HeaderText="Bezeichnung" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
<GridColumn Field=@nameof(Klasse.klassengroesse) HeaderText="Klassengrösse" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
|
||||
<GridColumn Field=@nameof(Klasse.aktiv) HeaderText="Aktiv" Width="100" Visible="false" DisplayAsCheckBox="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
|
||||
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.lehrerID) HeaderText="Lehrerid" Width="100" Visible="false"></GridColumn>
|
||||
<GridColumn Field=@nameof(Klasse.lehrerID) HeaderText="Lehrerid" Width="100" Visible="false"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.mandantnr) HeaderText="Mandantnr" Width="100" Visible="false"></GridColumn>
|
||||
</GridColumns>
|
||||
</SfGrid>
|
||||
<GridColumn Field=@nameof(Klasse.mandantnr) HeaderText="Mandantnr" Width="100" Visible="false"></GridColumn>
|
||||
</GridColumns>
|
||||
</SfGrid>
|
||||
|
||||
<form>
|
||||
</form>
|
||||
<form>
|
||||
</form>
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<SfButton IsPrimary="true" OnClick="@(() => WeiterClick())">Weiter zu Schülerdaten</SfButton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
|
||||
</TabItem>
|
||||
@@ -162,18 +182,11 @@
|
||||
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
|
||||
</DialogButtons>
|
||||
</SfDialog>
|
||||
<SfDialog Width="250px" IsModal="true" @bind-Visible="@ShowErrorDialog_grid">
|
||||
<DialogTemplates>
|
||||
<Header> Formmular unvollständig </Header>
|
||||
<Content> Bitte das Formular vollständig ausfüllen. </Content>
|
||||
|
||||
</DialogTemplates>
|
||||
<DialogButtons>
|
||||
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
|
||||
</DialogButtons>
|
||||
</SfDialog>
|
||||
|
||||
|
||||
@code {
|
||||
SfTab Tab;
|
||||
SfGrid<Klasse> Grid { get; set; }
|
||||
public int Value = 0;
|
||||
public List<BWPMModels.Klasse> GridData { get; set; }
|
||||
@@ -189,14 +202,19 @@
|
||||
public static int? pkey { get; set; }
|
||||
public bool Initial { get; set; } = true;
|
||||
private bool ShowErrorDialog { get; set; } = false;
|
||||
private bool ShowErrorDialog_grid { get; set; } = false;
|
||||
private bool ShowErrorDialog_grid { get; set; } = false;
|
||||
|
||||
public void Submit()
|
||||
{
|
||||
BlazorApp.Controller.LehrerController.PUT(_lehrer);
|
||||
Tab.EnableTab(1, true);
|
||||
Tab.Select(1);
|
||||
|
||||
}
|
||||
public void InvalidSubmit()
|
||||
{
|
||||
Tab.EnableTab(1, false);
|
||||
Tab.Select(0);
|
||||
ShowErrorDialog = true;
|
||||
}
|
||||
private void CloseDialog()
|
||||
@@ -206,16 +224,31 @@
|
||||
|
||||
private void SaveClick()
|
||||
{
|
||||
}
|
||||
private void WeiterClick()
|
||||
{
|
||||
NavManager.NavigateTo("/Teacher/TeacherStudent");
|
||||
}
|
||||
|
||||
protected override async void OnInitialized()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public async Task TabCreate()
|
||||
{
|
||||
await Tab.EnableTab(1, false);
|
||||
@*await Tab.EnableTab(2, false);*@
|
||||
@*Tab.EnableTab(3, false);*@
|
||||
}
|
||||
public async Task SelectTrainBack()
|
||||
{
|
||||
await Tab.Select(0);
|
||||
}
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
if (userid == null)
|
||||
{
|
||||
var authState = await authenticationStateTask;
|
||||
@@ -239,6 +272,7 @@
|
||||
Lehrerdaten = BlazorApp.Controller.LehrerController.GetByUserID(userid);
|
||||
_lehrer = Lehrerdaten.First<BWPMModels.Lehrer>();
|
||||
GridData = BlazorApp.Controller.KlasseController.GetByLehrerID(_lehrer.ID);
|
||||
await sessionStorage.SetItemAsync("LehrerID", _lehrer.ID);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -246,14 +280,20 @@
|
||||
private async Task OnBeginHandler(ActionEventArgs<BWPMModels.Klasse> Args)
|
||||
|
||||
{
|
||||
try{
|
||||
if (_lehrer.ID==0)
|
||||
{ShowErrorDialog_grid=true
|
||||
return}
|
||||
}
|
||||
catch
|
||||
{ ShowErrorDialog_grid=true
|
||||
return}
|
||||
|
||||
@* try
|
||||
{
|
||||
if (_lehrer.ID == 0)
|
||||
{
|
||||
ShowErrorDialog_grid = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
ShowErrorDialog_grid = true;
|
||||
return;
|
||||
}*@
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
if (Args.Action == "Add")
|
||||
@@ -271,9 +311,9 @@
|
||||
Args.Data.mutierer = userid.ToString();
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.KlasseController.PUT(Args.Data);
|
||||
|
||||
|
||||
Value = Args.Data.ID;
|
||||
Grid.Refresh();
|
||||
Grid.Refresh();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
448
BlazorApp/Pages/Teacher/TeacherStudent.razor
Normal file
448
BlazorApp/Pages/Teacher/TeacherStudent.razor
Normal file
@@ -0,0 +1,448 @@
|
||||
@page "/Teacher/TeacherStudent"
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@inject IJSRuntime jsRuntime
|
||||
@inject NavigationManager NavManager
|
||||
@inherits Admin.ListBase;
|
||||
@using System.ComponentModel.DataAnnotations
|
||||
@using Syncfusion.Blazor.Grids;
|
||||
@using Syncfusion.Blazor.Buttons;
|
||||
@using Syncfusion.Blazor.Spinner;
|
||||
@using Syncfusion.Blazor.Navigations;
|
||||
@using Syncfusion.Blazor.Popups;
|
||||
@using Syncfusion.Blazor.DropDowns
|
||||
@using BlazorApp.Helper
|
||||
@using BWPMModels;
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="card">
|
||||
<h6 class="card-header">
|
||||
Klasse
|
||||
</h6>
|
||||
<div class="card-body">
|
||||
<SfDropDownList @bind-Value="@KlasseID" TValue="string" TItem="Klasse" Placeholder="Klasse" DataSource="@Klasse">
|
||||
<DropDownListFieldSettings Value="ID" Text="bezeichnung"></DropDownListFieldSettings>
|
||||
<DropDownListEvents TValue="string" TItem="Klasse" ValueChange="ChangeKlasse"></DropDownListEvents>
|
||||
</SfDropDownList>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="card">
|
||||
<h6 class="card-header">
|
||||
Schüler
|
||||
</h6>
|
||||
<div class="card-body">
|
||||
<RadzenListBox @bind-Value=@SchuelerID Data=@schuelerliste TextProperty="bezeichnung" ValueProperty="id" Style="height:350px" Change=@(args => SchuelerChange(args, "schuelerlist")) />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div class="card">
|
||||
<h6 class="card-header">
|
||||
Schüler
|
||||
</h6>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<SfButton IsPrimary="true" OnClick="@(() => NewClick())">Neuer Schüler</SfButton>
|
||||
<SfButton Disabled="@FieldDisabled" IsPrimary="true" OnClick="@(() => SaveClick())">Änderungen speichern</SfButton>
|
||||
<SfButton Disabled="@FieldDisabled" IsPrimary="true" OnClick="@(() => DeleteClick())">Schüler löschen</SfButton>
|
||||
|
||||
</div>
|
||||
<hr />
|
||||
<EditForm Model="_schueler" OnValidSubmit="@Submit" OnInvalidSubmit="@InvalidSubmit">
|
||||
<input type="hidden" id="hiddenschuelerid" name="hiddenschuelerid" @bind="_schueler.ID">
|
||||
<div class="row">
|
||||
<div class="col-md-1">
|
||||
@*<label for="Name" class="col-2 col-form-label">Name</label>*@
|
||||
Name
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<InputText id="Name" class="form-control" @bind-Value="_schueler.name" placeholder="Nachname" disabled="@FieldDisabled" />
|
||||
<ValidationMessage For="@(() => _schueler.name)" />
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
@*<label for="Name" class="col-2 col-form-label">Name</label>*@
|
||||
Vorname
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
@*<label for="Vorname" class="col-2 col-form-label">Name</label>*@
|
||||
<InputText id="Vorname" class="form-control" @bind-Value="_schueler.vorname" placeholder="Vorname" disabled="@FieldDisabled" />
|
||||
<ValidationMessage For="@(() => _schueler.name)" />
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
@*<label for="Name" class="col-2 col-form-label">Name</label>*@
|
||||
Bemerkung
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<InputText id="Bemerkung" class="form-control" @bind-Value="_schueler.bemerkung" placeholder="Bemerkung" disabled="@FieldDisabled" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-1">
|
||||
Klasse
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<SfDropDownList @bind-Value="@SchuelerklasseID" TValue="string" TItem="Klasse" Placeholder="Klasse" DataSource="@Schuelerklasse" Enabled="@DropDownEnabled">
|
||||
<DropDownListFieldSettings Value="ID" Text="bezeichnung"></DropDownListFieldSettings>
|
||||
</SfDropDownList>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
Typ
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<SfDropDownList @bind-Value="@KlasseTypID" TValue="string" TItem="Klassentyp" Placeholder="Klassentyp" DataSource="@klassentyp" Enabled="@DropDownEnabled">
|
||||
<DropDownListFieldSettings Value="ID" Text="bezeichnung"></DropDownListFieldSettings>
|
||||
</SfDropDownList>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
leer
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
das ist noch leer
|
||||
</div>
|
||||
|
||||
</div>>
|
||||
|
||||
</EditForm>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="card">
|
||||
<h6 class="card-header">
|
||||
Berufe / Berfufswünsche
|
||||
</h6>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<SfListBox TValue="string[]" DataSource="@Berufe" TItem="Beruf" Height="350px">
|
||||
<ListBoxFieldSettings Text="bezeichnung" Value="Id" />
|
||||
<ListBoxSelectionSettings Mode="Syncfusion.Blazor.DropDowns.SelectionMode.Single" ShowCheckbox="false"></ListBoxSelectionSettings>
|
||||
</SfListBox>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" Toolbar="@(new List<string>() { "Edit", "Delete" })">
|
||||
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
|
||||
<GridEditSettings AllowAdding="true" AllowDeleting="false" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
|
||||
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="SchuelerBeruf" OnDataBound="RowDataBoundHandler"></GridEvents>
|
||||
<GridColumns>
|
||||
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(SchuelerBeruf.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Visible="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(SchuelerBeruf.schuelerID) HeaderText="Schuelerid" Width="100" Visible="false"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(SchuelerBeruf.berufID) HeaderText="Berufid" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(SchuelerBeruf.bemerkung) HeaderText="Bemerkung" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(SchuelerBeruf.prioritaet) HeaderText="Prioritaet" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(SchuelerBeruf.aktiv) HeaderText="Aktiv" Width="100" Visible="false" DisplayAsCheckBox="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(SchuelerBeruf.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(SchuelerBeruf.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(SchuelerBeruf.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(SchuelerBeruf.mandantnr) HeaderText="Mandantnr" Width="100" Visible="false"></GridColumn>
|
||||
</GridColumns>
|
||||
</SfGrid>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<SfDialog Width="350px" IsModal="true" @bind-Visible="@ShowDeleteConfirmation">
|
||||
<DialogTemplates>
|
||||
<Header>Schüler löschen? </Header>
|
||||
<Content>Möchten Sie den Schüler '@_schueler.name @_schueler.vorname' löschen?</Content>
|
||||
|
||||
</DialogTemplates>
|
||||
<DialogButtons>
|
||||
<DialogButton Content="Ja" IsPrimary="true" OnClick="@DeleteConfirmed" />
|
||||
<DialogButton Content="Nein" OnClick="@AbortDelete" />
|
||||
</DialogButtons>
|
||||
</SfDialog>
|
||||
|
||||
|
||||
@code {
|
||||
public bool ShowDeleteConfirmation { get; set; } = false;
|
||||
protected ElementReference ToFocus;
|
||||
public int lehrerID = 0;
|
||||
public int hiddenschuelerid = 0;
|
||||
public string KlasseID = "0";
|
||||
public string SchuelerklasseID = "0";
|
||||
public string KlasseTypID = "0";
|
||||
public string userid;
|
||||
public bool FieldDisabled = true;
|
||||
public bool DropDownEnabled = false;
|
||||
public List<BWPMModels.Klasse> Klasse { get; set; }
|
||||
public List<BWPMModels.Klasse> Schuelerklasse { get; set; }
|
||||
public List<BWPMModels.Klassentyp> klassentyp { get; set; } = BlazorApp.Controller.KlassentypController.GetAllAktiveData();
|
||||
public List<BWPMModels.Schueler> Schueler { get; set; }
|
||||
private Schueler _schueler { get; set; } = new BWPMModels.Schueler();
|
||||
public List<BWPMModels.Beruf> Berufe { get; set; } = BlazorApp.Controller.BerufController.GetBerufsangebot();
|
||||
|
||||
public List<Schuelerlist> schuelerliste = new List<Schuelerlist>();
|
||||
public int SchuelerID;
|
||||
|
||||
public class Schuelerlist
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string bezeichnung { get; set; }
|
||||
}
|
||||
|
||||
//--------------------------------------
|
||||
//Schülerberuf / beruf
|
||||
//--------------------------------------
|
||||
SfGrid<SchuelerBeruf> Grid { get; set; }
|
||||
public List<BWPMModels.SchuelerBeruf> GridData { get; set; }
|
||||
public bool ContinuePaging = true;
|
||||
public bool InitialRender { get; set; }
|
||||
public int Value = 0; // consider that value your querystring contains
|
||||
public int foundrow = 0;
|
||||
public bool Initial { get; set; } = true;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
lehrerID = await sessionStorage.GetItemAsync<int>("LehrerID");
|
||||
Klasse = BlazorApp.Controller.KlasseController.GetByLehrerID(Convert.ToInt32(lehrerID));
|
||||
KlasseID = Klasse[0].ID.ToString();
|
||||
Schuelerklasse = BlazorApp.Controller.KlasseController.GetByLehrerID(Convert.ToInt32(lehrerID));
|
||||
SchuelerklasseID = Schuelerklasse[0].ID.ToString();
|
||||
KlasseTypID = klassentyp[0].ID.ToString();
|
||||
|
||||
}
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender != true) { return; };
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
if (userid == null)
|
||||
{
|
||||
var authState = await authenticationStateTask;
|
||||
userid = authState.User.Claims.FirstOrDefault().Value;
|
||||
var user = authState.User;
|
||||
|
||||
}
|
||||
}
|
||||
//----------------------------------------------------------
|
||||
//Klassenliste / Schuelerliste
|
||||
//----------------------------------------------------------
|
||||
public void ChangeKlasse(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string, Klasse> args)
|
||||
{
|
||||
|
||||
UpdateSchulerliste();
|
||||
}
|
||||
|
||||
public void UpdateSchulerliste()
|
||||
{
|
||||
Schueler = BlazorApp.Controller.SchuelerController.GetByKlasseID(Convert.ToInt32(KlasseID));
|
||||
schuelerliste.Clear();
|
||||
int newschuelerid = 0;
|
||||
bool found = false;
|
||||
foreach (BWPMModels.Schueler item in Schueler)
|
||||
{
|
||||
|
||||
Schuelerlist sl = new Schuelerlist();
|
||||
sl.id = item.ID;
|
||||
if (newschuelerid == 0) { newschuelerid = sl.id; };
|
||||
if (SchuelerID == sl.id) { found = true; }
|
||||
sl.bezeichnung = item.name + " " + item.vorname;
|
||||
schuelerliste.Add(sl);
|
||||
};
|
||||
if (found != true)
|
||||
{
|
||||
FieldDisabled = true;
|
||||
DropDownEnabled = false;
|
||||
SchuelerID = -1;
|
||||
SchuelerID = newschuelerid;
|
||||
if (schuelerliste.Count > 0) { SchuelerSelected(); }
|
||||
}
|
||||
|
||||
}
|
||||
private void SchuelerChange(object value, string name)
|
||||
{
|
||||
var str = value is IEnumerable<object> ? string.Join(", ", (IEnumerable<object>)value) : value;
|
||||
SchuelerSelected();
|
||||
|
||||
}
|
||||
private void SchuelerSelected()
|
||||
{
|
||||
Schueler = BlazorApp.Controller.SchuelerController.GetByID(Convert.ToInt32(SchuelerID));
|
||||
_schueler = Schueler.First<BWPMModels.Schueler>();
|
||||
SchuelerklasseID = _schueler.klasseID.ToString();
|
||||
KlasseTypID = _schueler.klassemtypID.ToString();
|
||||
FieldDisabled = false;
|
||||
DropDownEnabled = true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------
|
||||
//Schüler-Formular
|
||||
//----------------------------------------------------------
|
||||
|
||||
public void Submit()
|
||||
{
|
||||
BlazorApp.Controller.SchuelerController.PUT(_schueler);
|
||||
}
|
||||
public void InvalidSubmit()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void SaveClick()
|
||||
{
|
||||
Schueler _tmpschueler = new BWPMModels.Schueler();
|
||||
_tmpschueler = BlazorApp.Controller.SchuelerController.GetByID(_schueler.ID).First<BWPMModels.Schueler>();
|
||||
_tmpschueler.name = _schueler.name;
|
||||
_tmpschueler.vorname = _schueler.vorname;
|
||||
_tmpschueler.bemerkung = _schueler.bemerkung;
|
||||
_tmpschueler.klasseID = Convert.ToInt32(SchuelerklasseID);
|
||||
_tmpschueler.klassemtypID = Convert.ToInt32(KlasseTypID);
|
||||
BlazorApp.Controller.SchuelerController.PUT(_tmpschueler);
|
||||
UpdateSchulerliste();
|
||||
|
||||
}
|
||||
private void NewClick()
|
||||
{
|
||||
int schuelerid = 0;
|
||||
BWPMModels.Schueler schuelerdata = new Schueler();
|
||||
schuelerdata.aktiv = true;
|
||||
schuelerdata.erstellt_am = DateTime.Now;
|
||||
schuelerdata.mutiert_am = DateTime.Now;
|
||||
schuelerdata.mutierer = userid;
|
||||
schuelerdata.name = "Neuer Schüler";
|
||||
schuelerdata.vorname = "";
|
||||
schuelerdata.bemerkung = "";
|
||||
schuelerdata.klasseID = Convert.ToInt32(KlasseID);
|
||||
schuelerdata.klassemtypID = Convert.ToInt32(KlasseTypID);
|
||||
schuelerid = BlazorApp.Controller.SchuelerController.POST(schuelerdata);
|
||||
FieldDisabled = false;
|
||||
|
||||
DropDownEnabled = true;
|
||||
UpdateSchulerliste();
|
||||
SchuelerID = schuelerid;
|
||||
SchuelerSelected();
|
||||
jsRuntime.InvokeVoidAsync("SetFocusToElement", ToFocus);
|
||||
|
||||
}
|
||||
private void DeleteClick()
|
||||
{
|
||||
ShowDeleteConfirmation = true;
|
||||
}
|
||||
|
||||
private void DeleteConfirmed()
|
||||
{
|
||||
_schueler.aktiv = false;
|
||||
_schueler.mutierer = userid;
|
||||
_schueler.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.SchuelerController.PUT(_schueler);
|
||||
BlazorApp.Controller.SchuelerBerufController.DeleteBerufswunsch(_schueler.ID, userid);
|
||||
ShowDeleteConfirmation = false;
|
||||
UpdateSchulerliste();
|
||||
}
|
||||
|
||||
private void AbortDelete()
|
||||
{
|
||||
ShowDeleteConfirmation = false;
|
||||
}
|
||||
|
||||
//--------------------------------------
|
||||
//SchülerBeruf / Beruf
|
||||
//--------------------------------------
|
||||
private async Task OnBeginHandler(ActionEventArgs<BWPMModels.SchuelerBeruf> 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;
|
||||
Args.Data.ID = BlazorApp.Controller.SchuelerBerufController.POST(Args.Data);
|
||||
Value = Args.Data.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
Args.Data.mutierer = userid.ToString();
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.SchuelerBerufController.PUT(Args.Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task OnCompletedHandler(ActionEventArgs<BWPMModels.SchuelerBeruf> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
await Grid.SetRowData(Args.Data.ID, Args.Data);
|
||||
double xx = 0;
|
||||
Value = Args.Data.ID;
|
||||
xx = await DataHandler();
|
||||
await Grid.SelectRow(xx);
|
||||
|
||||
}
|
||||
}
|
||||
public async void RowDataBoundHandler(BeforeDataBoundArgs<BWPMModels.SchuelerBeruf> args)
|
||||
{
|
||||
if (!Initial)
|
||||
{
|
||||
//await Task.Delay(100);
|
||||
//var Idx = await this.Grid.GetRowIndexByPrimaryKey(Convert.ToDouble(Value)); //get index value
|
||||
//this.Grid.SelectRow(Convert.ToDouble(Idx));
|
||||
}
|
||||
Initial = false;
|
||||
}
|
||||
|
||||
public async Task<double> DataHandler()
|
||||
{
|
||||
var PageCount = (GridData.Count / Grid.PageSettings.PageSize) + 1;
|
||||
ContinuePaging = true;
|
||||
var CurrentPage = 1;
|
||||
Grid.Refresh();
|
||||
await Grid.GoToPage(1);
|
||||
|
||||
for (int i = 1; i <= PageCount; i++)
|
||||
|
||||
{
|
||||
List<SchuelerBeruf> Rows = await Grid.GetCurrentViewRecords(); // returns the current view data
|
||||
for (int j = 0; j < Grid.PageSettings.PageSize; j++)
|
||||
{
|
||||
if (j < Rows.Count && Rows[j].ID == Value)
|
||||
{
|
||||
foundrow = j;
|
||||
|
||||
ContinuePaging = false; // prevent the default navigation
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ContinuePaging)
|
||||
{
|
||||
if (i >= PageCount)
|
||||
{
|
||||
i = 0;
|
||||
}
|
||||
await Grid.GoToPage(i + 1);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return foundrow;
|
||||
}
|
||||
}
|
||||
return foundrow;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user