Update vor Blazorise

This commit is contained in:
2021-08-17 21:40:36 +02:00
parent e16ec943e1
commit 1746401541
150 changed files with 26965 additions and 4583 deletions

View File

@@ -10,417 +10,510 @@
@using Syncfusion.Blazor.DropDowns
@using Syncfusion.Blazor.Lists
@using Syncfusion.Blazor.Inputs;
@using Syncfusion.Blazor.Notifications;
@using BlazorApp.Helper
@using BWPMModels;
<h3>Berufsangebot</h3> (Bitte erfassen Sie Ihr Berufsangebot)
<hr />
<style>
@*.e-listbox-wrapper:not(.e-list-template) .e-list-item, .e-listbox-wrapper .e-list-nrt, .e-listbox-wrapper .e-selectall-parent, .e-listbox-container:not(.e-list-template) .e-list-item, .e-listbox-container .e-list-nrt, .e-listbox-container .e-selectall-parent
{
height: 20px;
line-height: 1.0;
position: relative;
}*@
</style>
<h3><b>Berufsangebot</b></h3>
<p></p>
<div class="control-section e-tab-section">
<div class="row">
<div class="col-sm">
<h4>Berufe</h4>
<SfListBox @bind-Value=@BerufID TValue="string[]" DataSource="@berufe" @ref="Berufsliste" TItem="Beruf" Height="200px">
<ListBoxSelectionSettings Mode="Syncfusion.Blazor.DropDowns.SelectionMode.Single" ShowCheckbox="false"></ListBoxSelectionSettings>
<ListBoxFieldSettings Text="bezeichnung" Value="id" />
</SfListBox>
</div>
<div class="col-sm">
<h4>Ansprechperson</h4>
<SfListBox @bind-Value=@AnsprechpartnerID TValue="string[]" DataSource="@lap" TItem="AP" Height="200px">
<ListBoxFieldSettings Text="name" Value="ID" />
</SfListBox>
</div>
<div class="col-sm">
<h4>Zeiten</h4>
<SfListBox @bind-Value=@ZeitID TValue="string[]" DataSource="@zeiten" TItem="Zeit" Height="200px">
<ListBoxSelectionSettings Mode="Syncfusion.Blazor.DropDowns.SelectionMode.Single" ShowCheckbox="false"></ListBoxSelectionSettings>
<ListBoxFieldSettings Text="bezeichnung" Value="id" />
</SfListBox>
</div>
<div class="col-sm">
<h4>Plätze</h4>
<label>Max. Anzahl Plätze</label>
<SfDropDownList @bind-Value=@PlatzID TValue="string" TItem="Plaetze" Placeholder="Max. Anzahl Plätze" DataSource="@plaetze">
<DropDownListFieldSettings Value="id" Text="text"></DropDownListFieldSettings>
</SfDropDownList>
<label>Klassentyp</label>
<SfDropDownList @bind-Value=@KlassenTypID TValue="string" TItem="Klassentyp" Placeholder="Klassentyp" DataSource="@klassentyp">
<DropDownListFieldSettings Value="ID" Text="bezeichnung"></DropDownListFieldSettings>
</SfDropDownList>
<p></p>
</div>
<div class="card">
<div class="card-body" style="background-color:#cfe4df;">
<div class="row">
<div class="col-sm">
<div class="card">
<h6 class="card-header">
Berufe
</h6>
<div class="card-body">
<SfListBox @bind-Value=@BerufID TValue="string[]" DataSource="@berufe" @ref="Berufsliste" TItem="Beruf" Height="140px" >
<ListBoxSelectionSettings Mode="Syncfusion.Blazor.DropDowns.SelectionMode.Single" ShowCheckbox="false" ></ListBoxSelectionSettings>
<ListBoxFieldSettings Text="bezeichnung" Value="id" />
</SfListBox>
</div>
</div>
</div>
<div class="col-sm">
<div class="card">
<h6 class="card-header">
Ansprechpartner
</h6>
<div class="card-body">
<SfListBox @bind-Value=@AnsprechpartnerID TValue="string[]" DataSource="@lap" TItem="AP" Height="140px">
<ListBoxFieldSettings Text="name" Value="ID" />
</SfListBox>
</div>
</div>
</div>
</div>
<hr />
<p></p>
<div class="col-sm">
<div class="card">
<h6 class="card-header">
Zeiten
</h6>
<div class="card-body">
<SfListBox @bind-Value=@ZeitID TValue="string[]" DataSource="@zeiten" TItem="Zeit" Height="140px">
<ListBoxSelectionSettings Mode="Syncfusion.Blazor.DropDowns.SelectionMode.Single" ShowCheckbox="false"></ListBoxSelectionSettings>
<ListBoxFieldSettings Text="bezeichnung" Value="id" />
</SfListBox>
</div>
</div>
</div>
<div class="col-sm">
<div class="card">
<h6 class="card-header">
Plätze / Anforderung
</h6>
<div class="card-body">
<h5>Anzahl verfügbare Plätze</h5>
<SfDropDownList @bind-Value=@PlatzID TValue="string" TItem="Plaetze" Placeholder="Max. Anzahl Plätze" DataSource="@plaetze">
<DropDownListFieldSettings Value="id" Text="text"></DropDownListFieldSettings>
</SfDropDownList>
<h5>Mind. Anforderung</h5>
<SfDropDownList @bind-Value=@KlassenTypID TValue="string" TItem="Klassentyp" Placeholder="Klassentyp" DataSource="@klassentyp">
<DropDownListFieldSettings Value="ID" Text="bezeichnung"></DropDownListFieldSettings>
</SfDropDownList>
</div>
</div>
</div>
</div>
<p></p>
<div class="control-section e-tab-section">
<div class="card">
<h6 class="card-header">
Bemerkungen und Hinweise
</h6>
<div class="card-body">
<div class="row">
<div class="col-sm">
<h5>Bemerkung</h5>
<SfTextBox Multiline=true Placeholder="Allgemeine Bemerkung" @bind-Value="@bemerkung"> </SfTextBox>
</div>
<div class="col-sm">
<h5>Hinweis für den Schüler</h5>
<SfTextBox Multiline=true Placeholder="Hinweise für Schüler" @bind-Value="@schuelerbemerkung"> </SfTextBox>
</div>
<div class="col-sm">
<h5>Hinweis zum Standort</h5>
<SfTextBox Multiline=true Placeholder="Hinweise bezüglich Standort" @bind-Value="@standortbemerkung"> </SfTextBox>
</div>
<div class="col-sm text-center">
<SfButton @onclick="einfuegen" CssClass="e-flat" IsPrimary="true">Berufsangebot einfügen</SfButton>
</div>
</div>
</div>
</div>
</div>
<p></p>
<div class="control-section e-tab-section">
<div class="content-wrapper">
<div class="row">
</div>
</div>
</div>
</div>
</div>
<div class="control-section e-tab-section">
<div class="row">
<div class="col-sm">
<h4>Bemerkung</h4>
<SfTextBox Multiline=true Placeholder="Allgemeine Bemerkung" @bind-Value="@bemerkung"> </SfTextBox>
</div>
<div class="col-sm">
<h4>Hinweis für den Schüler</h4>
<SfTextBox Multiline=true Placeholder="Hinweise für Schüler" @bind-Value="@schuelerbemerkung"> </SfTextBox>
</div>
<div class="col-sm">
<h4>Hinweis zum Standortler</h4>
<SfTextBox Multiline=true Placeholder="Hinweise bezüglich Standort" @bind-Value="@standortbemerkung"> </SfTextBox>
</div>
</div>
</div>
<p></p>
<div class="control-section e-tab-section">
<div class="content-wrapper">
<div class="row">
<SfButton @onclick="einfuegen" CssClass="e-flat" IsPrimary="true">Einfügen</SfButton>
</div>
</div>
</div>
<hr />
<h3>Ihr Angebot</h3>
<div class="card">
<h6 class="card-header card-" style="background-color:#f7d687;">
Ihr Angebot
</h6>
<div class="card-body" style="background-color:#ffe89b;">
<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>() { "Edit", "Delete" })">
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="BWPMModels.Firmaberuf" OnDataBound="RowDataBoundHandler"></GridEvents>
<GridSelectionSettings Type="Syncfusion.Blazor.Grids.SelectionType.Single"></GridSelectionSettings>
<GridColumns>
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
<div class="content-wrapper">
<div class="row">
<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="true" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="BWPMModels.Firmaberuf" OnDataBound="RowDataBoundHandler"></GridEvents>
<GridSelectionSettings Type="Syncfusion.Blazor.Grids.SelectionType.Single"></GridSelectionSettings>
<GridColumns>
@*<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>*@
<GridColumn Field=@nameof(Firmaberuf.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Visible="false" Width="60"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Visible="false" Width="60"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.firmaID) HeaderText="Firmaid" Width="100" Visible="false"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.firmaID) HeaderText="Firmaid" Width="100" Visible="false"></GridColumn>
@* <GridColumn Field=@nameof(Firmaberuf.berufID) HeaderText="Berufid" Width="100" Visible="true"></GridColumn>*@
<GridForeignColumn Field=@nameof(Firmaberuf.berufID) HeaderText="Beruf" ForeignKeyField="id" ForeignKeyValue="bezeichnung" ForeignDataSource="@berufe" Width="150"></GridForeignColumn>
@* <GridColumn Field=@nameof(Firmaberuf.berufID) HeaderText="Berufid" Width="100" Visible="true"></GridColumn>*@
<GridForeignColumn Field=@nameof(Firmaberuf.berufID) HeaderText="Beruf" ForeignKeyField="id" ForeignKeyValue="bezeichnung" ForeignDataSource="@berufe" Width="150"></GridForeignColumn>
@* <GridColumn Field=@nameof(Firmaberuf.ansprechpartnerID) HeaderText="Ansprechpartnerid" Width="100" Visible="true"></GridColumn>*@
<GridForeignColumn Field=@nameof(Firmaberuf.ansprechpartnerID) HeaderText="Ansprechpartner" ForeignKeyField="ID" ForeignKeyValue="name" ForeignDataSource="@lap" Width="150"></GridForeignColumn>
@* <GridColumn Field=@nameof(Firmaberuf.ansprechpartnerID) HeaderText="Ansprechpartnerid" Width="100" Visible="true"></GridColumn>*@
<GridForeignColumn Field=@nameof(Firmaberuf.ansprechpartnerID) HeaderText="Ansprechpartner" ForeignKeyField="ID" ForeignKeyValue="name" ForeignDataSource="@lap" Width="150"></GridForeignColumn>
@* <GridColumn Field=@nameof(Firmaberuf.zeitID) HeaderText="Zeitid" Width="100" Visible="true"></GridColumn>*@
<GridForeignColumn Field=@nameof(Firmaberuf.zeitID) HeaderText="Zeit" ForeignKeyField="id" ForeignKeyValue="bezeichnung" ForeignDataSource="@zeiten" Width="150"></GridForeignColumn>
@* <GridColumn Field=@nameof(Firmaberuf.zeitID) HeaderText="Zeitid" Width="100" Visible="true"></GridColumn>*@
<GridForeignColumn Field=@nameof(Firmaberuf.zeitID) HeaderText="Zeit" ForeignKeyField="id" ForeignKeyValue="bezeichnung" ForeignDataSource="@zeiten" Width="150"></GridForeignColumn>
@* <GridColumn Field=@nameof(Firmaberuf.klassetypID) HeaderText="Klassetypid" Width="100" Visible="true"></GridColumn>*@
<GridForeignColumn Field=@nameof(Firmaberuf.klassetypID) HeaderText="Klassentyp" ForeignKeyField="ID" ForeignKeyValue="bezeichnung" ForeignDataSource="@klassentyp" Width="150"></GridForeignColumn>
@* <GridColumn Field=@nameof(Firmaberuf.klassetypID) HeaderText="Klassetypid" Width="100" Visible="true"></GridColumn>*@
<GridForeignColumn Field=@nameof(Firmaberuf.klassetypID) HeaderText="Klassentyp" ForeignKeyField="ID" ForeignKeyValue="bezeichnung" ForeignDataSource="@klassentyp" Width="150"></GridForeignColumn>
<GridColumn Field=@nameof(Firmaberuf.anzahl) HeaderText="Anzahl" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.anzahl) HeaderText="Anzahl" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.bemerkung) HeaderText="Bemerkung" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.bemerkung) HeaderText="Bemerkung" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.schuelerbemerkung) HeaderText="Schuelerbemerkung" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.schuelerbemerkung) HeaderText="Schuelerbemerkung" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.standortbemerkung) HeaderText="Standortbemerkung" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.standortbemerkung) HeaderText="Standortbemerkung" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.minzuteilung) HeaderText="Minzuteilung" Width="100" Visible="false"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.minzuteilung) HeaderText="Minzuteilung" Width="100" Visible="false"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.aktiv) HeaderText="Aktiv" Width="100" Visible="false" DisplayAsCheckBox="true"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.aktiv) HeaderText="Aktiv" Width="100" Visible="false" DisplayAsCheckBox="true"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Firmaberuf.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
</GridColumns>
</SfGrid>
</div>
</div>
</div>
</div>
<GridColumn Field=@nameof(Firmaberuf.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
</GridColumns>
</SfGrid>
</div>
</div>
</div>
<SfTextBox Value="@fid"></SfTextBox>
<SfDialog Width="350px" IsModal="true" @bind-Visible="@ShowDialog">
<DialogTemplates>
<Header> Angaben sind unvollständig </Header>
<Content>@((MarkupString)this.message)</Content>
<SfDialog Width="250px" IsModal="true" @bind-Visible="@ShowDialogCompany">
<DialogTemplates>
<Header> Formmular unvollständig </Header>
<Content> Bitte zuerst die Firmen-Daten vollständig ausfüllen. </Content>
</DialogTemplates>
<DialogButtons>
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
</DialogButtons>
</DialogTemplates>
<DialogButtons>
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
</DialogButtons>
</SfDialog>
@code {
public string fid { get; set; } = "";
public string[] BerufID;
public string[] AnsprechpartnerID;
public string[] ZeitID;
public string PlatzID = "1";
public string KlassenTypID = "1";
public string bemerkung { get; set; } = "";
public string schuelerbemerkung { get; set; } = "";
public string standortbemerkung { get; set; } = "";
public bool ShowDialog = false;
string message = "";
SfListBox<string[], Beruf> Berufsliste { get; set; }
SfGrid<BWPMModels.Firmaberuf> Grid { get; set; }
string userid = "";
static string firmaid = "";
<SfDialog Width="350px" IsModal="true" @bind-Visible="@ShowDialog">
<DialogTemplates>
<Header> Angaben sind unvollständig </Header>
<Content>@((MarkupString)this.message)</Content>
public List<Beruf> berufe = new List<Beruf>();
public List<BWPMModels.Beruf> _berufe { get; set; } = BlazorApp.Controller.BerufController.GetAllAktiveData();
public List<Zeit> zeiten = new List<Zeit>();
</DialogTemplates>
<DialogButtons>
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
</DialogButtons>
</SfDialog>
<div class="col-lg-12 control-section toast-default-section">
<SfToast ID="toast_default" @ref="ToastObj" Content="@ToastContent" Timeout="5000" Icon="e-meeting">
<ToastPosition X="Right" Y="Bottom"></ToastPosition>
<ToastAnimationSettings>
<ToastShowAnimationSettings Effect="@ShowAnimation"></ToastShowAnimationSettings>
<ToastHideAnimationSettings Effect="@HideAnimation"></ToastHideAnimationSettings>
</ToastAnimationSettings>
</SfToast>
</div>
<style>
.bootstrap4 #toast_default .e-meeting::before {
content: "\e763";
font-size: 20px;
}
public List<BWPMModels.Zeiten> _zeiten { get; set; } = BlazorApp.Controller.ZeitenController.GetAllAktiveData();
public List<BWPMModels.Ansprechpartner> ansprechpartner { get; set; }
public List<BWPMModels.Klassentyp> klassentyp { get; set; } = BlazorApp.Controller.KlassentypController.GetAllAktiveData();
public List<BWPMModels.Firma> Firmendaten { get; set; }
public List<AP> lap = new List<AP>();
public List<Plaetze> plaetze = new List<Plaetze>();
public List<BWPMModels.Firmaberuf> GridData { get; set; }
.e-toast-container .e-toast {
background-color: lightgreen;
}
public bool ContinuePaging = true;
public bool InitialRender { get; set; }
public int Value = 0; // consider that value your querystring contains
public int foundrow = 0;
</style>
@code {
SfToast ToastObj;
private string ToastPosition = "Right";
private string ToastContent = "Daten erfolgreich gespeichert";
private ToastEffect ShowAnimation = ToastEffect.FadeIn;
private ToastEffect HideAnimation = ToastEffect.FadeOut;
}
@code {
protected override async Task OnInitializedAsync()
{
foreach (BWPMModels.Beruf item in _berufe)
{
Beruf be = new Beruf();
be.id = item.ID;
be.bezeichnung = item.bezeichnung;
berufe.Add(be);
}
foreach (BWPMModels.Zeiten item in _zeiten)
{
Zeit ze = new Zeit();
ze.id = item.ID;
ze.bezeichnung = item.bezeichnung;
zeiten.Add(ze);
}
firmaid = await sessionStorage.GetItemAsync<string>("FirmaID");
get_ansprechaprtner(firmaid);
}
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;
public string fid { get; set; } = "";
public string[] BerufID;
public string[] AnsprechpartnerID;
public string[] ZeitID;
public string PlatzID = "1";
public string KlassenTypID = "1";
public string bemerkung { get; set; } = "";
public string schuelerbemerkung { get; set; } = "";
public string standortbemerkung { get; set; } = "";
public bool ShowDialog = false;
public bool ShowDialogCompany = false;
string message = "";
SfListBox<string[], Beruf> Berufsliste { get; set; }
SfGrid<BWPMModels.Firmaberuf> Grid { get; set; }
string userid = "";
string firmaid = "";
}
firmaid = await sessionStorage.GetItemAsync<string>("FirmaID");
if (firmaid == null)
{
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
firmaid = Firmendaten.First<BWPMModels.Firma>().ID.ToString();
}
try
{
GridData = BlazorApp.Controller.FirmaberufController.GetAllAktiveByFirmaID(Convert.ToInt32(firmaid));
public List<Beruf> berufe = new List<Beruf>();
public List<BWPMModels.Beruf> _berufe { get; set; } = BlazorApp.Controller.BerufController.GetAllAktiveData();
public List<Zeit> zeiten = new List<Zeit>();
get_ansprechaprtner(firmaid);
public List<BWPMModels.Zeiten> _zeiten { get; set; } = BlazorApp.Controller.ZeitenController.GetAllAktiveData();
public List<BWPMModels.Ansprechpartner> ansprechpartner { get; set; }
public List<BWPMModels.Klassentyp> klassentyp { get; set; } = BlazorApp.Controller.KlassentypController.GetAllAktiveData();
private Firma _firma { get; set; } = new BWPMModels.Firma();
public List<BWPMModels.Firma> Firmendaten { get; set; }
public List<AP> lap = new List<AP>();
public List<Plaetze> plaetze = new List<Plaetze>();
public List<BWPMModels.Firmaberuf> GridData { get; set; }
}
catch { };
await Task.Delay(200);
try
{
await sessionStorage.SetItemAsync("FirmaID", firmaid);
await sessionStorage.SetItemAsync("UserID", userid);
public bool ContinuePaging = true;
public bool InitialRender { get; set; }
public int Value = 0; // consider that value your querystring contains
public int foundrow = 0;
}
catch { }
for (int i = 1; i < 51; i++)
{
plaetze.Add(new Plaetze { id = i, text = i.ToString() });
}
PlatzID = "1";
KlassenTypID = "1";
}
protected override async Task OnInitializedAsync()
{
foreach (BWPMModels.Beruf item in _berufe)
{
Beruf be = new Beruf();
be.id = item.ID;
be.bezeichnung = item.bezeichnung;
berufe.Add(be);
}
foreach (BWPMModels.Zeiten item in _zeiten)
{
Zeit ze = new Zeit();
ze.id = item.ID;
ze.bezeichnung = item.bezeichnung;
zeiten.Add(ze);
}
userid = await sessionStorage.GetItemAsync<string>("UserID");
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
_firma = Firmendaten.First<BWPMModels.Firma>();
if (_firma.nameZ1 == "")
{
ShowDialogCompany = true;
return;
}
firmaid = await sessionStorage.GetItemAsync<string>("FirmaID");
get_ansprechaprtner(firmaid);
GridData = BlazorApp.Controller.FirmaberufController.GetAllAktiveByFirmaID(Convert.ToInt32(firmaid));
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender != true) { return; };
private void get_ansprechaprtner(string firmaid)
{
if (firmaid=="") {return;};
lap.Clear();
ansprechpartner = BlazorApp.Controller.AnsprechpartnerController.GetAllAktivDataByFirmaID(Convert.ToInt32(firmaid));
foreach (Ansprechpartner item in ansprechpartner)
{
AP a1 = new AP();
a1.ID = item.ID;
a1.name = item.name;
lap.Add(a1);
}
try
{
get_ansprechaprtner(firmaid);
}
catch { };
await Task.Delay(200);
for (int i = 1; i < 51; i++)
{
plaetze.Add(new Plaetze { id = i, text = i.ToString() });
}
PlatzID = "1";
KlassenTypID = "1";
}
private async Task get_ansprechaprtner(string firmaid)
{
if (firmaid == "") { return; };
lap.Clear();
ansprechpartner = BlazorApp.Controller.AnsprechpartnerController.GetAllAktivDataByFirmaID(Convert.ToInt32(firmaid));
foreach (Ansprechpartner item in ansprechpartner)
{
AP a1 = new AP();
a1.ID = item.ID;
a1.name = item.name;
lap.Add(a1);
}
}
public class AP
{
public int ID { get; set; }
public string name { get; set; }
}
}
public class AP
{
public int ID { get; set; }
public string name { get; set; }
}
public class Plaetze
{
public int id { get; set; }
public string text { get; set; }
}
public class Plaetze
{
public int id { get; set; }
public string text { get; set; }
}
public class Beruf
{
public int id { get; set; }
public string bezeichnung { get; set; }
}
public class Beruf
{
public int id { get; set; }
public string bezeichnung { get; set; }
}
public class Zeit
{
public int id { get; set; }
public string bezeichnung { get; set; }
}
public class Zeit
{
public int id { get; set; }
public string bezeichnung { get; set; }
}
private void CloseDialog()
{
this.ShowDialog = false;
}
private void CloseDialog()
{
this.ShowDialog = false;
if (this.ShowDialogCompany==true)
{
this.ShowDialogCompany = false;
NavigationManager.NavigateTo("/Company/Company");
}
}
public void einfuegen()
{
message = "";
int bid = 0;
int aid = 0;
int zid = 0;
int pid = 0;
int kid = 0;
public void einfuegen()
{
message = "";
int bid = 0;
int aid = 0;
int zid = 0;
int pid = 0;
int kid = 0;
try { bid = Convert.ToInt32(BerufID[0]); } catch { };
try { aid = Convert.ToInt32(AnsprechpartnerID[0]); } catch { };
try { zid = Convert.ToInt32(ZeitID[0]); } catch { };
try { pid = Convert.ToInt32(PlatzID); } catch { };
try { kid = Convert.ToInt32(KlassenTypID); } catch { };
try { bid = Convert.ToInt32(BerufID[0]); } catch { };
try { aid = Convert.ToInt32(AnsprechpartnerID[0]); } catch { };
try { zid = Convert.ToInt32(ZeitID[0]); } catch { };
try { pid = Convert.ToInt32(PlatzID); } catch { };
try { kid = Convert.ToInt32(KlassenTypID); } catch { };
if (bid == 0) { message += "- Bitte einen Beruf auswählen<br/>"; };
if (aid == 0) { message += "- Bitte einen Ansprechpartner auswählen<br/>"; };
if (zid == 0) { message += "- Bitte einen Zeit auswählen<br/>"; };
if (pid == 0) { message += "- Bitte Anzahl Plätze auswählen<br/>"; };
if (kid == 0) { message += "- Bitte Klassentyp auswählen<br/>"; };
if (message != "")
{
this.ShowDialog = true;
return;
}
if (bid == 0) { message += "- Bitte einen Beruf auswählen<br/>"; };
if (aid == 0) { message += "- Bitte einen Ansprechpartner auswählen<br/>"; };
if (zid == 0) { message += "- Bitte einen Zeit auswählen<br/>"; };
if (pid == 0) { message += "- Bitte Anzahl Plätze auswählen<br/>"; };
if (kid == 0) { message += "- Bitte Klassentyp auswählen<br/>"; };
if (message != "")
{
this.ShowDialog = true;
return;
}
BWPMModels.Firmaberuf fb = new BWPMModels.Firmaberuf();
fb.firmaID = Convert.ToInt32(firmaid);
fb.berufID = bid;
fb.ansprechpartnerID = aid;
fb.zeitID = zid;
fb.anzahl = pid;
fb.klassetypID = kid;
fb.erstellt_am = DateTime.Now;
fb.mutiert_am = DateTime.Now;
fb.aktiv = true;
fb.mutierer = userid;
fb.bemerkung = bemerkung;
fb.schuelerbemerkung = schuelerbemerkung;
fb.standortbemerkung = standortbemerkung;
BlazorApp.Controller.FirmaberufController.POST(fb);
GridData = BlazorApp.Controller.FirmaberufController.GetAllAktiveByFirmaID(Convert.ToInt32(firmaid));
Grid.Refresh();
BWPMModels.Firmaberuf fb = new BWPMModels.Firmaberuf();
fb.firmaID = Convert.ToInt32(firmaid);
fb.berufID = bid;
fb.ansprechpartnerID = aid;
fb.zeitID = zid;
fb.anzahl = pid;
fb.klassetypID = kid;
fb.erstellt_am = DateTime.Now;
fb.mutiert_am = DateTime.Now;
fb.aktiv = true;
fb.mutierer = userid;
fb.bemerkung = bemerkung;
fb.schuelerbemerkung = schuelerbemerkung;
fb.standortbemerkung = standortbemerkung;
BlazorApp.Controller.FirmaberufController.POST(fb);
GridData = BlazorApp.Controller.FirmaberufController.GetAllAktiveByFirmaID(Convert.ToInt32(firmaid));
Grid.Refresh();
ToastObj.ShowAsync();
}
private async Task OnBeginHandler(ActionEventArgs<BWPMModels.Firmaberuf> Args)
}
private async Task OnBeginHandler(ActionEventArgs<BWPMModels.Firmaberuf> Args)
{
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
{
if (Args.Action == "Add")
{
{
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.FirmaberufController.POST(Args.Data);
Value = Args.Data.ID;
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.FirmaberufController.POST(Args.Data);
Value = Args.Data.ID;
}
else
{
Args.Data.mutierer = userid.ToString();
Args.Data.mutiert_am = DateTime.Now;
BlazorApp.Controller.FirmaberufController.PUT(Args.Data);
}
}
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Delete)
{
Args.Data.aktiv = false;
Args.Data.mutierer = userid;
Args.Data.mutiert_am = DateTime.Now;
BlazorApp.Controller.FirmaberufController.PUT(Args.Data);
}
}
ToastObj.ShowAsync();
public async Task OnCompletedHandler(ActionEventArgs<BWPMModels.Firmaberuf> Args)
}
else
{
Args.Data.mutierer = userid.ToString();
Args.Data.mutiert_am = DateTime.Now;
BlazorApp.Controller.FirmaberufController.PUT(Args.Data);
{
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);
ToastObj.ShowAsync();
}
}
public async void RowDataBoundHandler(BeforeDataBoundArgs<BWPMModels.Firmaberuf> args)
{
}
}
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Delete)
{
Args.Data.aktiv = false;
Args.Data.mutierer = userid;
Args.Data.mutiert_am = DateTime.Now;
BlazorApp.Controller.FirmaberufController.PUT(Args.Data);
ToastObj.ShowAsync();
}
}
}
public async Task OnCompletedHandler(ActionEventArgs<BWPMModels.Firmaberuf> Args)
public async Task<double> DataHandler()
{
var PageCount = (GridData.Count / Grid.PageSettings.PageSize) + 1;
ContinuePaging = true;
var CurrentPage = 1;
Grid.Refresh();
await Grid.GoToPage(1);
{
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);
for (int i = 1; i <= PageCount; i++)
}
}
public async void RowDataBoundHandler(BeforeDataBoundArgs<BWPMModels.Firmaberuf> args)
{
{
List<Firmaberuf> 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);
public async Task<double> DataHandler()
{
var PageCount = (GridData.Count / Grid.PageSettings.PageSize) + 1;
ContinuePaging = true;
var CurrentPage = 1;
Grid.Refresh();
await Grid.GoToPage(1);
}
else
{
return foundrow;
}
}
return foundrow;
}
for (int i = 1; i <= PageCount; i++)
}
{
List<Firmaberuf> 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;
}
}

View File

@@ -7,269 +7,308 @@
@using Syncfusion.Blazor.Spinner;
@using Syncfusion.Blazor.Navigations;
@using Syncfusion.Blazor.Popups;
@using Syncfusion.Blazor.Notifications;
@using BlazorApp.Helper
@using BWPMModels;
@*<div class="container">*@
<h3><b>Firmen-Daten</b></h3>
<p></p>
<div class="card">
<div class="card-body">
<div class="control-section e-tab-section">
<EditForm Model="_firma" OnValidSubmit="@Submit" OnInvalidSubmit="@InvalidSubmit">
<DataAnnotationsValidator />
<SfTab ID="BlazorTab" >
<TabItems>
<TabItem>
<ChildContent>
<TabHeader Text="Kontakt-Daten"></TabHeader>
</ChildContent>
<ContentTemplate>
<div class="row">
<div class="col-md-6">
<div class="card">
<EditForm Model="_firma" OnValidSubmit="@Submit" OnInvalidSubmit="@InvalidSubmit">
<div class="card">
<div class="card-body">
<h5 class="card-title">Adress-Daten</h5>
<form>
<div class="form-group row">
<label for="nameZ1" class="col-2 col-form-label">Name</label>
<div class="col-10">
<InputText id="namez1" class="form-control" @bind-Value="_firma.nameZ1" placeholder="Firmenname" />
<ValidationMessage For="@(() => _firma.nameZ1)" />
</div>
</div>
<div class="form-group row">
<label for="nameZ2" class="col-2 col-form-label">Zusatz</label>
<div class="col-10">
<InputText id="nameZ2" class="form-control" @bind-Value="@_firma.nameZ2" placeholder="Zusatz" />
<ValidationMessage For="@(() => _firma.nameZ2)" />
</div>
</div>
<div class="form-group row">
<label for="strasse" class="col-2 col-form-label">Strasse</label>
<div class="col-10">
<InputText id="strasse" class="form-control" @bind-Value="@_firma.strasse" placeholder="Strasse" />
<ValidationMessage For="@(() => _firma.strasse)" />
</div>
</div>
<div class="form-group row">
<label for="plz" class="col-2 col-form-label">PLZ</label>
<div class="col-10">
<InputText id="plz" class="form-control" @bind-Value="@_firma.plz" placeholder="Postleitzahl" />
<ValidationMessage For="@(() => _firma.plz)" />
</div>
</div>
<div class="form-group row">
<label for="ort" class="col-2 col-form-label">Ort</label>
<div class="col-10">
<InputText id="ort" class="form-control" @bind-Value="@_firma.ort" placeholder="Ort" />
<ValidationMessage For="@(() => _firma.ort)" />
</div>
</div>
<hr />
<div class="form-group row">
<label for="telefon" class="col-2 col-form-label">Telefon</label>
<div class="col-10">
<InputText id="tel" class="form-control" @bind-Value="@_firma.tel" placeholder="Telefon-Nummer" />
<ValidationMessage For="@(() => _firma.tel)" />
</div>
</div>
<div class="form-group row">
<label for="email" class="col-2 col-form-label">E-Mail</label>
<div class="col-10">
<InputText id="mail" class="form-control" @bind-Value="@_firma.mail" placeholder="E-Mail" required="required" typeof="email" />
<ValidationMessage For="@(() => _firma.mail)" />
</div>
</div>
<div class="form-group row">
<label for="web" class="col-2 col-form-label">Internet</label>
<div class="col-10">
<InputText id="internet" class="form-control" @bind-Value="@_firma.web" placeholder="Internet" />
<ValidationMessage For="@(() => _firma.web)" />
<div class="card-body">
<SfButton IsPrimary="true" OnClick="@(() => SaveClick())">Speichern</SfButton>
</div>
</div>
</div>
</div>
<div class="form-group row">
<label for="Bemerkungen" class="col-2 col-form-label">Bemerkung</label>
<div class="col-10">
<InputTextArea id="bemerkung" class="form-control" @bind-Value="@_firma.bemerkung" placeholder="Bemerkung" />
<ValidationMessage For="@(() => _firma.bemerkung)" />
</div>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-body">
<h5 class="card-title">Ansprechperson</h5>
<form>
<div class="form-group row">
<label for="Anrede" class="col-2 col-form-label">Anrede</label>
<div class="col-10">
<select id="Anrede" name="Anrede" class="form-control" @bind="@_firma.anrede">
<option value="1">Herr</option>
<option value="2">Frau</option>
<option value="3">Damen und Herren</option>
</select>
</div>
</div>
<div class="form-group row">
<label for="ansprechperson_anme" class="col-2 col-form-label">Name</label>
<div class="col-10">
<InputText id="ansprechperson_name" class="form-control" @bind-Value="@_firma.ansprechperson_name" placeholder="Name Ansprechperson" />
<ValidationMessage For="@(() => _firma.ansprechperson_name)" />
</div>
</div>
<div class="form-group row">
<label for="ansprechperson_vorname" class="col-2 col-form-label">Vorname</label>
<div class="col-10">
<InputText id="ansprechperson_vorname" class="form-control" @bind-Value="@_firma.ansprechperon_vorname" placeholder="Vorname Ansprechperson" />
<ValidationMessage For="@(() => _firma.ansprechperon_vorname)" />
</div>
</div>
<div class="form-group row">
<label for="briefanrede" class="col-2 col-form-label">Briefanrede</label>
<div class="col-10">
<InputText id="briefanrede" class="form-control" @bind-Value="@_firma.briefanrede" placeholder="gewünschte Briefanrede" />
<ValidationMessage For="@(() => _firma.briefanrede)" />
</div>
</div>
<div class="form-group row">
<label for="handy" class="col-2 col-form-label">Telefon</label>
<div class="col-10">
<InputText id="handy" class="form-control" @bind-Value="@_firma.handy" placeholder="Telefon" />
<ValidationMessage For="@(() => _firma.handy)" />
</div>
</div>
<DataAnnotationsValidator />
<SfTab ID="BlazorTab" Height="390">
<TabItems>
<TabItem>
<ChildContent>
<TabHeader Text="Kontakt-Daten"></TabHeader>
</ChildContent>
<ContentTemplate>
<div class="row">
<div class="col-md-6">
<div class="card">
</form>
</div>
</div>
</div>
</div>
<div class="card-body">
<h5 class="card-title">Adress-Daten</h5>
<form>
<div class="form-group row">
<label for="nameZ1" class="col-2 col-form-label">Name</label>
<div class="col-10">
<InputText id="namez1" class="form-control" @bind-Value="_firma.nameZ1" placeholder="Firmenname" />
<ValidationMessage For="@(() => _firma.nameZ1)" />
</div>
</div>
<div class="form-group row">
<label for="nameZ2" class="col-2 col-form-label">Zusatz</label>
<div class="col-10">
<InputText id="nameZ2" class="form-control" @bind-Value="@_firma.nameZ2" placeholder="Zusatz" />
<ValidationMessage For="@(() => _firma.nameZ2)" />
</div>
</div>
<div class="form-group row">
<label for="strasse" class="col-2 col-form-label">Strasse</label>
<div class="col-10">
<InputText id="strasse" class="form-control" @bind-Value="@_firma.strasse" placeholder="Strasse" />
<ValidationMessage For="@(() => _firma.strasse)" />
</div>
</div>
<div class="form-group row">
<label for="plz" class="col-2 col-form-label">PLZ</label>
<div class="col-10">
<InputText id="plz" class="form-control" @bind-Value="@_firma.plz" placeholder="Postleitzahl" />
<ValidationMessage For="@(() => _firma.plz)" />
</div>
</div>
<div class="form-group row">
<label for="ort" class="col-2 col-form-label">Ort</label>
<div class="col-10">
<InputText id="ort" class="form-control" @bind-Value="@_firma.ort" placeholder="Ort" />
<ValidationMessage For="@(() => _firma.ort)" />
</div>
</div>
<hr />
<div class="form-group row">
<label for="telefon" class="col-2 col-form-label">Telefon</label>
<div class="col-10">
<InputText id="tel" class="form-control" @bind-Value="@_firma.tel" placeholder="Telefon-Nummer" />
<ValidationMessage For="@(() => _firma.tel)" />
</div>
</div>
<div class="form-group row">
<label for="email" class="col-2 col-form-label">E-Mail</label>
<div class="col-10">
<InputText id="mail" class="form-control" @bind-Value="@_firma.mail" placeholder="E-Mail" required="required" typeof="email" />
<ValidationMessage For="@(() => _firma.mail)" />
</div>
</div>
<div class="form-group row">
<label for="web" class="col-2 col-form-label">Internet</label>
<div class="col-10">
<InputText id="internet" class="form-control" @bind-Value="@_firma.web" placeholder="Internet" />
<ValidationMessage For="@(() => _firma.web)" />
</ContentTemplate>
</div>
</div>
<div class="form-group row">
<label for="Bemerkungen" class="col-2 col-form-label">Bemerkung</label>
<div class="col-10">
<InputTextArea id="bemerkung" class="form-control" @bind-Value="@_firma.bemerkung" placeholder="Bemerkung" />
<ValidationMessage For="@(() => _firma.bemerkung)" />
</div>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-body">
<h5 class="card-title">Ansprechperson</h5>
<form>
<div class="form-group row">
<label for="Anrede" class="col-2 col-form-label">Anrede</label>
<div class="col-10">
<select id="Anrede" name="Anrede" class="form-control" @bind="@_firma.anrede">
<option value="1">Herr</option>
<option value="2">Frau</option>
<option value="3">Damen und Herren</option>
</select>
</div>
</div>
<div class="form-group row">
<label for="ansprechperson_anme" class="col-2 col-form-label">Name</label>
<div class="col-10">
<InputText id="ansprechperson_name" class="form-control" @bind-Value="@_firma.ansprechperson_name" placeholder="Name Ansprechperson" />
<ValidationMessage For="@(() => _firma.ansprechperson_name)" />
</div>
</div>
<div class="form-group row">
<label for="ansprechperson_vorname" class="col-2 col-form-label">Vorname</label>
<div class="col-10">
<InputText id="ansprechperson_vorname" class="form-control" @bind-Value="@_firma.ansprechperon_vorname" placeholder="Vorname Ansprechperson" />
<ValidationMessage For="@(() => _firma.ansprechperon_vorname)" />
</div>
</div>
<div class="form-group row">
<label for="briefanrede" class="col-2 col-form-label">Briefanrede</label>
<div class="col-10">
<InputText id="briefanrede" class="form-control" @bind-Value="@_firma.briefanrede" placeholder="gewünschte Briefanrede" />
<ValidationMessage For="@(() => _firma.briefanrede)" />
</div>
</div>
<div class="form-group row">
<label for="handy" class="col-2 col-form-label">Telefon</label>
<div class="col-10">
<InputText id="handy" class="form-control" @bind-Value="@_firma.handy" placeholder="Telefon" />
<ValidationMessage For="@(() => _firma.handy)" />
</div>
</div>
</TabItem>
<TabItem>
<ChildContent>
<TabHeader text="Angaben zur Ausbildung"></TabHeader>
</ChildContent>
<ContentTemplate>
<div class="col-md">
<div class="card">
<div class="card-body">
<h5 class="card-title">Allgemeine Angaben</h5>
<form>
<div class="form-group row">
<label for="ausbildung_Standort" class="col-2 col-form-label">Ausbildungsstandort</label>
<div class="col-10">
<InputTextArea id="ausbildung_Standort" class="form-control" @bind-Value="@_firma.ausbildungsstandort" placeholder="Allgmeine Angaben über Ausbildungsstandort" />
<ValidationMessage For="@(() => _firma.ausbildungsstandort)" />
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div class="form-group row">
<label for="ausbildung_bemerkung" class="col-2 col-form-label">Bemerkung</label>
<div class="col-10">
<InputTextArea id="ausbildung_bemerkung" class="form-control" @bind-Value="@_firma.ausbildungsbemerkung" placeholder="Allgemeine Bemerkungen zu den Ausbildungen" />
<ValidationMessage For="@(() => _firma.ausbildungsbemerkung)" />
</div>
</div>
</form>
</div>
</div>
</div>
</ContentTemplate>
</TabItem>
</TabItems>
</SfTab>
<div class="card">
</ContentTemplate>
<div class="card-body">
<SfButton IsPrimary="true" OnClick="@(() => SaveClick())">Speichern</SfButton>
</div>
</div>
</TabItem>
<TabItem>
<ChildContent>
<TabHeader text="Angaben zur Ausbildung"></TabHeader>
</ChildContent>
<ContentTemplate>
<div class="col-md-10">
<div class="card">
<div class="card-body">
<h5 class="card-title">Allgemeine Angaben</h5>
<form>
<div class="form-group row">
<label for="ausbildung_Standort" class="col-2 col-form-label">Ausbildungsstandort</label>
<div class="col-10">
<InputTextArea id="ausbildung_Standort" class="form-control" @bind-Value="@_firma.ausbildungsstandort" placeholder="Allgmeine Angaben über Ausbildungsstandort" />
<ValidationMessage For="@(() => _firma.ausbildungsstandort)" />
</div>
</div>
<div class="form-group row">
<label for="ausbildung_bemerkung" class="col-2 col-form-label">Bemerkung</label>
<div class="col-10">
<InputTextArea id="ausbildung_bemerkung" class="form-control" @bind-Value="@_firma.ausbildungsbemerkung" placeholder="Allgemeine Bemerkungen zu den Ausbildungen" />
<ValidationMessage For="@(() => _firma.ausbildungsbemerkung)" />
</div>
</div>
</form>
</div>
</div>
</div>
</ContentTemplate>
</TabItem>
</TabItems>
</SfTab>
</EditForm>
</EditForm>
</div>
</div>
</div>
<SfDialog Width="250px" IsModal="true" @bind-Visible="@ShowErrorDialog">
<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 Width="250px" IsModal="true" @bind-Visible="@ShowErrorDialog">
<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>
@*</div>*@
@code {
private Firma _firma { get; set; } = new BWPMModels.Firma();
public List<BWPMModels.Firma> Firmendaten { get; set; }
string userid = "";
public static int? pkey { get; set; }
public bool Initial { get; set; } = true;
private bool ShowErrorDialog { get; set; } = false;
<div class="col-lg-12 control-section toast-default-section">
<SfToast ID="toast_default" @ref="ToastObj" Content="@ToastContent" Timeout="5000" Icon="e-meeting">
<ToastPosition X="Right" Y="Bottom"></ToastPosition>
<ToastAnimationSettings>
<ToastShowAnimationSettings Effect="@ShowAnimation"></ToastShowAnimationSettings>
<ToastHideAnimationSettings Effect="@HideAnimation"></ToastHideAnimationSettings>
</ToastAnimationSettings>
</SfToast>
</div>
<style>
public void Submit()
{
BlazorApp.Controller.FirmaController.PUT(_firma);
}
public void InvalidSubmit()
{
ShowErrorDialog = true;
}
private void CloseDialog()
{
this.ShowErrorDialog = false;
}
private void SaveClick()
{
//BlazorApp.Controller.FirmaController.savedata(_firma);
}
.bootstrap4 #toast_default .e-meeting::before {
content: "\e763";
font-size: 20px;
}
protected override async void OnInitialized()
{
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
@*userid = "4c456017-85b9-4f34-a42c-f3ac534cc34f";*@
.e-toast-container .e-toast {
background-color: lightgreen;
}
</style>
userid = await sessionStorage.GetItemAsync<string>("UserID");
if (userid == null)
{
var authState = await authenticationStateTask;
var userId = authState.User.Claims.FirstOrDefault().Value;
var user = authState.User;
@code {
if (user.Identity.IsAuthenticated)
SfToast ToastObj;
private string ToastPosition = "Right";
private string ToastContent = "Daten erfolgreich gespeichert";
private ToastEffect ShowAnimation = ToastEffect.FadeIn;
private ToastEffect HideAnimation = ToastEffect.FadeOut;
{
await sessionStorage.SetItemAsync("UserID", userId);
userid = userId;
}
else
{
await sessionStorage.SetItemAsync("UserID", userId);
userid = userId;
}
}
if (firstRender)
{
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
_firma = Firmendaten.First<BWPMModels.Firma>();
}
private Firma _firma { get; set; } = new BWPMModels.Firma();
public List<BWPMModels.Firma> Firmendaten { get; set; }
string userid = "";
public static int? pkey { get; set; }
public bool Initial { get; set; } = true;
private bool ShowErrorDialog { get; set; } = false;
}
public void Submit()
{
BlazorApp.Controller.FirmaController.PUT(_firma);
ToastObj.ShowAsync();
}
public void InvalidSubmit()
{
ShowErrorDialog = true;
}
private void CloseDialog()
{
this.ShowErrorDialog = false;
}
}
private void SaveClick()
{
//BlazorApp.Controller.FirmaController.PUT(_firma);
}
protected override async void OnInitialized()
{
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
@*userid = "4c456017-85b9-4f34-a42c-f3ac534cc34f";*@
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);
userid = userId;
}
else
{
await sessionStorage.SetItemAsync("UserID", userId);
userid = userId;
}
}
if (firstRender)
{
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
_firma = Firmendaten.First<BWPMModels.Firma>();
}
}
}

View File

@@ -5,46 +5,47 @@
@using Syncfusion.Blazor.Buttons;
@using Syncfusion.Blazor.Spinner;
@using Syncfusion.Blazor.Popups;
@using Syncfusion.Blazor.Notifications;
@using BlazorApp.Helper
@using BWPMModels;
@using BlazorApp.Controller;
<h1>Ansprechpartner</h1>
<h3><b>Ansprechpartner</b></h3>
<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" })">
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" Toolbar="@(new List<string>() { "Add", "Edit", "Delete" })">
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
<GridEditSettings AllowAdding="true" AllowDeleting="false" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
<GridEditSettings AllowAdding="true" AllowDeleting="true" ShowDeleteConfirmDialog="true" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="Ansprechpartner" OnDataBound="RowDataBoundHandler"></GridEvents>
<GridColumns>
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
@*<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>*@
<GridColumn Field=@nameof(Ansprechpartner.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60" Visible="false"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.FirmaID) HeaderText="Firmaid" Width="100" Visible="false"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.FirmaID) HeaderText="Firmaid" Width="100" Visible="false"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.name) HeaderText="Name" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.name) HeaderText="Name" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.vorname) HeaderText="Vorname" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.vorname) HeaderText="Vorname" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.anrede) HeaderText="Anrede" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.anrede) HeaderText="Anrede" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.tel) HeaderText="Tel" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.tel) HeaderText="Tel" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.email) HeaderText="Email" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.email) HeaderText="Email" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.aktiv) HeaderText="Aktiv" Width="100" Visible="true" DisplayAsCheckBox="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.aktiv) HeaderText="Aktiv" Width="100" Visible="false" DisplayAsCheckBox="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
</GridColumns>
</SfGrid>
</div>
@@ -52,22 +53,63 @@
</div>
<SfDialog Width="250px" IsModal="true" @bind-Visible="@ShowDialog">
<DialogTemplates>
<Header> Formmular unvollständig </Header>
<Content> Bitte das Formular vollständig ausfüllen. </Content>
<DialogTemplates>
<Header> Formmular unvollständig </Header>
<Content> Bitte zuerst die Firmen-Daten vollständig ausfüllen. </Content>
</DialogTemplates>
<DialogButtons>
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
</DialogButtons>
</DialogTemplates>
<DialogButtons>
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
</DialogButtons>
</SfDialog>
@code{
<SfDialog Width="250px" IsModal="true" @bind-Visible="@ShowDialogDeleteError">
<DialogTemplates>
<Header> Löschung nicht möglich </Header>
<Content> Dem Ansprechpartner sind noch Berufsangebote zugeordnet. Diese bitte zuerst löschen. </Content>
</DialogTemplates>
<DialogButtons>
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
</DialogButtons>
</SfDialog>
<div class="col-lg-12 control-section toast-default-section">
<SfToast ID="toast_default" @ref="ToastObj" Content="@ToastContent" Timeout="5000" Icon="e-meeting">
<ToastPosition X="Right" Y="Bottom"></ToastPosition>
<ToastAnimationSettings>
<ToastShowAnimationSettings Effect="@ShowAnimation"></ToastShowAnimationSettings>
<ToastHideAnimationSettings Effect="@HideAnimation"></ToastHideAnimationSettings>
</ToastAnimationSettings>
</SfToast>
</div>
<style>
.bootstrap4 #toast_default .e-meeting::before {
content: "\e763";
font-size: 20px;
}
.e-toast-container .e-toast {
background-color: lightgreen;
}
</style>
@code {
SfToast ToastObj;
private string ToastPosition = "Right";
private string ToastContent = "Daten erfolgreich gespeichert";
private ToastEffect ShowAnimation = ToastEffect.FadeIn;
private ToastEffect HideAnimation = ToastEffect.FadeOut;
}
@code {
SfGrid<Ansprechpartner> Grid { get; set; }
public List<BWPMModels.Ansprechpartner> GridData { get; set; }
public List<BWPMModels.Ansprechpartner> Ansprechpartners { get; set; }
string userid = "";
public static int? pkey { get; set; }
public bool Initial { get; set; } = true;
public bool ShowDialogDeleteError = false;
public bool ContinuePaging = true;
public bool InitialRender { get; set; }
@@ -79,47 +121,53 @@
private bool ShowDialog { get; set; } = false;
private void CloseDialog()
{
this.ShowDialog = false;
}
{
if (ShowDialog == true)
{
this.ShowDialog = false;
NavigationManager.NavigateTo("/Company/Company");
}
}
protected override async void OnInitialized()
{
}
{
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
@*userid = "4c456017-85b9-4f34-a42c-f3ac534cc34f";*@
@*userid = "4c456017-85b9-4f34-a42c-f3ac534cc34f";*@
userid = await sessionStorage.GetItemAsync<string>("UserID");
if (userid == null)
{
var authState = await authenticationStateTask;
var userId = authState.User.Claims.FirstOrDefault().Value;
var user = authState.User;
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)
if (user.Identity.IsAuthenticated)
{
await sessionStorage.SetItemAsync("UserID", userId);
userid = userId;
}
else
{
await sessionStorage.SetItemAsync("UserID", userId);
userid = userId;
}
}
{
await sessionStorage.SetItemAsync("UserID", userId);
userid = userId;
}
else
{
await sessionStorage.SetItemAsync("UserID", userId);
userid = userId;
}
}
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
_firma = Firmendaten.First<BWPMModels.Firma>();
if (_firma.nameZ1==""){
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
_firma = Firmendaten.First<BWPMModels.Firma>();
if (_firma.nameZ1 == "")
{
ShowDialog = true;
return;
}
GridData = BlazorApp.Controller.AnsprechpartnerController.GetByFirmaID(_firma.ID);
GridData = BlazorApp.Controller.AnsprechpartnerController.GetByFirmaID(_firma.ID);
}
private async Task OnBeginHandler(ActionEventArgs<BWPMModels.Ansprechpartner> Args)
@@ -137,12 +185,33 @@
Args.Data.FirmaID = _firma.ID;
Args.Data.ID = BlazorApp.Controller.AnsprechpartnerController.POST(Args.Data);
Value = Args.Data.ID;
ToastObj.ShowAsync();
}
else
{
Args.Data.mutierer = userid.ToString();
Args.Data.mutiert_am = DateTime.Now;
BlazorApp.Controller.AnsprechpartnerController.PUT(Args.Data);
ToastObj.ShowAsync();
}
}
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Delete)
{
List<BWPMModels.Firmaberuf> FB = new List<BWPMModels.Firmaberuf>();
FB = BlazorApp.Controller.FirmaberufController.GetAllAktiveByAnsprechpartnerID(Args.Data.ID);
if (FB.Count > 0)
{
ShowDialogDeleteError=true;
return;
}
else
{
Args.Data.aktiv = false;
Args.Data.mutierer = userid;
Args.Data.mutiert_am = DateTime.Now;
BlazorApp.Controller.AnsprechpartnerController.PUT(Args.Data);
GridData = BlazorApp.Controller.AnsprechpartnerController.GetByFirmaID(_firma.ID);
}
}
}
@@ -208,5 +277,5 @@
}
}
return foundrow;
}
}
}

View File

@@ -0,0 +1,288 @@
@page "/Company/Dashboard"
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
@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 BlazorApp.Helper
@using BWPMModels;
<h3><b>Übersicht</b></h3>
<p></p>
<style>
.e-icons {
font-size: 10px;
}
.e-search:before {
content: '\e993';
}
.e-upload:before {
content: '\e725';
}
.e-font:before {
content: '\e34c';
}
.e-plus-icon::before {
content: '\e78f';
}
.e-pager {
display: none;
}
.btn {
border-radius: 0;
height: 24px;
width: 24px;
@* background-color: #007BFF; *@
}
.e-copy::before {
content: '\e77b';
}
.e-btn.e-icon-btn {
padding: initial;
}
</style>
<div class="control-section e-tab-section">
<div class="card">
<h6 class="card-header card-header1">
<div class="row">
<div class="col-sm">
Firmen-Daten
</div>
<div class="col-sm">
<div class="float-right">
<SfButton id="btn1" CssClass="btn" IconCss="e-icons e-plus-icon" IsPrimary="false" OnClick="@((args) => NavigateToStammdaten())"></SfButton>
<SfTooltip ID="Tooltip" Target="#btn1" Content="Stammdaten bearbeiten"></SfTooltip>
</div>
</div>
</div>
</h6>
<div class="card-body">
<div class="row">
<div class="col-sm">
<div class="card">
<h6 class="card-header">
Adresse
</h6>
<div class="card-body">
@_firma.nameZ1<br />
@_firma.nameZ2 @if (_firma.nameZ2 != "")
{
<br />
}
@_firma.strasse<br />
@_firma.plz @_firma.ort<br />
<br>
Tel: @_firma.tel<br />
Mail: @_firma.mail<br>
Internet: @_firma.web<br />
</div>
</div>
</div>
<div class="col-sm">
<div class="card">
<h6 class="card-header">
Bemerkung für Organisator
</h6>
<div class="card-body">
@_firma.bemerkung
</div>
</div>
<p></p>
<div class="card">
<h6 class="card-header">
Ansprechperson
</h6>
<div class="card-body">
@_firma.ansprechperon_vorname @_firma.ansprechperson_name<br />
@_firma.handy
</div>
</div>
</div>
<div class="col-sm">
<div class="card">
<h6 class="card-header">
Bemerkung zum Ausbildungsstandort
</h6>
<div class="card-body">
@_firma.ausbildungsstandort
</div>
</div>
<p></p>
<div class="card">
<h6 class="card-header">
Bemerkung zur Ausbildung
</h6>
<div class="card-body">
@_firma.ausbildungsbemerkung
</div>
</div>
</div>
</div>
<p></p>
</div>
</div>
<p></p>
<div class="row">
<div class="col-sm">
<div class="card">
<h6 class="card-header card-header2">
<div class="row">
<div class="col-sm">
Ansprechpartner
</div>
<div class="col-sm">
<div class="float-right">
<SfButton CssClass="btn" IconCss="e-icons e-plus-icon" IsPrimary="false" OnClick="@((args) => NavigateToAnsprechpartner())"></SfButton>
</div>
</div>
</div>
</h6>
<div class="card-body">
<SfGrid DataSource="@GridDataAP" @ref="GridAP" AllowPaging="true" AllowSorting="true" RowHeight="20">
<GridPageSettings PageCount="5" PageSizes="false"></GridPageSettings>
<GridColumns>
<GridColumn Field=@nameof(Ansprechpartner.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60" Visible="false"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.FirmaID) HeaderText="Firmaid" Width="100" Visible="false"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.name) HeaderText="Name" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.vorname) HeaderText="Vorname" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.anrede) HeaderText="Anrede" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.tel) HeaderText="Tel" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.email) HeaderText="Email" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.aktiv) HeaderText="Aktiv" Width="100" Visible="false" DisplayAsCheckBox="true"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
<GridColumn Field=@nameof(Ansprechpartner.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
</GridColumns>
</SfGrid>
</div>
</div>
</div>
</div>
<p></p>
<div class="row">
<div class="col-sm">
<div class="card">
<h6 class="card-header card-header3">
<div class="row">
<div class="col-sm">
Berufsangebot
</div>
<div class="col-sm">
<div class="float-right">
<SfButton CssClass="btn" IconCss="e-icons e-plus-icon" IsPrimary="false" OnClick="@((args) => NavigateToBerufsangebot())"></SfButton>
</div>
</div>
</div>
</h6>
<div class="card-body">
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" RowHeight="20">
<GridPageSettings PageCount="5" PageSizes="false"></GridPageSettings>
<GridEditSettings AllowAdding="false" AllowDeleting="false" AllowEditing="false" Mode="EditMode.Dialog"></GridEditSettings>
<GridColumns>
<GridColumn Field=@nameof(View_Berufsangebot.firmaid) HeaderText="Firmaid" Width="100" Visible="false"></GridColumn>
<GridColumn Field=@nameof(View_Berufsangebot.beruf) HeaderText="Beruf" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(View_Berufsangebot.ansprechpartner) HeaderText="Ansprechpartner" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(View_Berufsangebot.zeit) HeaderText="Zeit" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(View_Berufsangebot.anzahl_plaetze) HeaderText="Anzahl Plätze" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(View_Berufsangebot.bemerkung) HeaderText="Bemerkung" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(View_Berufsangebot.schuelerbemerkung) HeaderText="Schuelerbemerkung" Width="100" Visible="true"></GridColumn>
<GridColumn Field=@nameof(View_Berufsangebot.standortbemerkung) HeaderText="Standortbemerkung" Width="100" Visible="true"></GridColumn>
</GridColumns>
</SfGrid>
</div>
</div>
</div>
</div>
</div>
@code {
string userid = "";
private Firma _firma { get; set; } = new BWPMModels.Firma();
public List<BWPMModels.Firma> Firmendaten { get; set; }
public List<BWPMModels.View_Berufsangebot> GridData { get; set; }
public List<BWPMModels.Ansprechpartner> GridDataAP { get; set; }
public List<BWPMModels.View_Berufsangebot> View_Berufsangebots { get; set; }
public static int? pkey { get; set; }
public bool Initial { get; set; } = true;
public bool ContinuePaging = true;
public bool InitialRender { get; set; }
public int Value = 0; // consider that value your querystring contains
public int foundrow = 0;
SfGrid<View_Berufsangebot> Grid { get; set; }
SfGrid<BWPMModels.Ansprechpartner> GridAP { get; set; }
protected override async Task OnInitializedAsync()
{
var authState = await authenticationStateTask;
userid = authState.User.Claims.FirstOrDefault().Value;
await sessionStorage.SetItemAsync("UserID", userid);
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
_firma = Firmendaten.First<BWPMModels.Firma>();
await sessionStorage.SetItemAsync("FirmaID", _firma.ID.ToString());
GridData = BlazorApp.Controller.View_BerufsangebotController.GetByFirmaID(_firma.ID);
GridDataAP = BlazorApp.Controller.AnsprechpartnerController.GetAllAktivDataByFirmaID(_firma.ID);
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender != true) { return; };
var authState = await authenticationStateTask;
userid = authState.User.Claims.FirstOrDefault().Value;
await sessionStorage.SetItemAsync("UserID", userid);
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
_firma = Firmendaten.First<BWPMModels.Firma>();
await sessionStorage.SetItemAsync("FirmaID", _firma.ID.ToString());
}
private void NavigateToStammdaten()
{
NavigationManager.NavigateTo("/Company/Company");
}
private void NavigateToBerufsangebot()
{
NavigationManager.NavigateTo("/Company/Berufsangebot");
}
private void NavigateToAnsprechpartner()
{
NavigationManager.NavigateTo("/Company/CompanyContact");
}
}

View File

@@ -14,10 +14,13 @@
<div id="container">
<WebReportContainer WebReport="@UserWebReport" />
<SfSpinner @bind-Visible="@Spinnervisible">
</SfSpinner>
<div id="container">
<SfSpinner @bind-Visible="@Spinnervisible">
</SfSpinner>
</div>
</div>
@emsg;
@emsg
@code {
[Parameter]
@@ -36,24 +39,30 @@
private Firma _firma { get; set; } = new BWPMModels.Firma();
public List<BWPMModels.Firma> Firmendaten { get; set; }
protected override async void OnInitialized()
{
Spinnervisible=true;
await Task.Delay(10);
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
Spinnervisible = false;
}
protected override async Task OnParametersSetAsync()
{
string paramtyp1 = "";
string paramtyp2 = "";
string paramtyp3 = "";
string userid = "";
string firmaid="";
string lehrerid = "";
Helper.dbhelper dbh = new Helper.dbhelper();
string reportdir = dbh.Get_Option(28);
reportdir += "/";
dbh.Get_Tabledata("Select * from Report where id=" + ReportNr.ToString(), false, true);
@*reportdir = "Reports/";*@
try
{
Report = Report.FromFile(reportdir + dbh.dsdaten.Tables[0].Rows[0]["reportfile"]);
@@ -72,9 +81,13 @@
switch (paramtyp1)
{
case "%firmaID%":
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
@* Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
_firma = Firmendaten.First<BWPMModels.Firma>();
sql = sql.Replace("%firmaid%", _firma.ID.ToString());
sql = sql.Replace("%firmaid%", _firma.ID.ToString());*@
firmaid = await sessionStorage.GetItemAsync<string>("FirmaID");
userid = await sessionStorage.GetItemAsync<string>("UserID");
sql = sql.Replace("%firmaid%", firmaid);
break;
default:
break;
@@ -93,6 +106,7 @@
UserWebReport.Report = Report;
UserWebReport.Report.Refresh();
Spinnervisible = false;
Spinnervisible = false;
}
protected override async Task OnInitializedAsync()

View File

@@ -10,6 +10,7 @@
<title>@ViewData["Title"] - BWPM</title>
<link rel="stylesheet" href="~/Identity/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/Identity/css/site.css" />
</head>
<body>
<header>

View File

@@ -0,0 +1,33 @@
@page "/Teacher/Dashboard"
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
@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 BlazorApp.Helper
@using BWPMModels;
@code {
string userid = "";
private Lehrer _lehrer { get; set; } = new BWPMModels.Lehrer();
public List<BWPMModels.Lehrer> Lehrerdaten { get; set; }
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender != true) { return; };
var authState = await authenticationStateTask;
userid = authState.User.Claims.FirstOrDefault().Value;
var user = authState.User;
await sessionStorage.SetItemAsync("UserID", userid);
Lehrerdaten = BlazorApp.Controller.LehrerController.GetByUserID(userid);
_lehrer = Lehrerdaten.First<BWPMModels.Lehrer>();
await sessionStorage.SetItemAsync("LehrerID", _lehrer.ID.ToString());
}
}

View File

@@ -0,0 +1,40 @@
@page "/Teacher/LBDemo"
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
@inject NavigationManager NavManager
@using System.ComponentModel.DataAnnotations
@using Syncfusion.Blazor.DropDowns;
@using BlazorApp.Helper
@using BWPMModels;
<div class="control-section e-tab-section">
<SfDropDownList @bind-Value="@KlasseID" TValue="string" TItem="clKlasse" Placeholder="Klasse" DataSource="@Klasse">
<DropDownListFieldSettings Value="ID" Text="bezeichnung"></DropDownListFieldSettings>
@*<DropDownListEvents TValue="string" TItem="clKlasse" </DropDownListEvents>*@
</SfDropDownList>
</div>
@code {
public string KlasseID;
public List<clKlasse> Klasse = new List<clKlasse>();
public class clKlasse
{
public string ID { get; set; }
public string bezeichnung { get; set; }
}
protected override async Task OnInitializedAsync()
{
for (int i = 0; i < 5; i++)
{
clKlasse ck = new clKlasse();
ck.ID=i.ToString();
ck.bezeichnung="Bezeichnung "+i.ToString();
Klasse.Add(ck);
}
}
}

View File

@@ -272,7 +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);
await sessionStorage.SetItemAsync("LehrerID", _lehrer.ID.ToString());
}
}

View File

@@ -21,12 +21,21 @@
Klasse
</h6>
<div class="card-body">
<SfDropDownList @bind-Value="@KlasseID" TValue="string" TItem="Klasse" Placeholder="Klasse" DataSource="@Klasse">
<RadzenDropDown AllowClear="true" TValue="string" @bind-Value=@KlasseID
Data=@intKlasse
Change=@(args => OnChange(args, "DropDown")) TextProperty="bezeichnung" ValueProperty="id" />
@* <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>
</SfDropDownList>*@
<div class="panel panel-default">
<div class="panel-body" style="color:@klassehinweiscolor">@((MarkupString)klassehinweis)</div>
</div>
</div>
</div>
<br />
<div class="card">
<h6 class="card-header">
@@ -45,16 +54,13 @@
<div class="card-body">
<div class="row">
<SfButton IsPrimary="true" OnClick="@(() => NewClick())">Neuer Schüler</SfButton>&nbsp;
<SfButton Disabled="@FieldDisabled" IsPrimary="true" OnClick="@(() => SaveClick())">Änderungen speichern</SfButton>&nbsp;
<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">
@@ -62,16 +68,16 @@
<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">
@@ -83,9 +89,12 @@
Klasse
</div>
<div class="col-md-3">
<SfDropDownList @bind-Value="@SchuelerklasseID" TValue="string" TItem="Klasse" Placeholder="Klasse" DataSource="@Schuelerklasse" Enabled="@DropDownEnabled">
@* <SfDropDownList @bind-Value="@SchuelerklasseID" TValue="string" TItem="Klasse" Placeholder="Klasse" DataSource="@Schuelerklasse" Enabled="@DropDownEnabled">
<DropDownListFieldSettings Value="ID" Text="bezeichnung"></DropDownListFieldSettings>
</SfDropDownList>
</SfDropDownList>
*@ <RadzenDropDown AllowClear="true" TValue="string" @bind-Value=@SchuelerklasseID
Data=@Schuelerklasse
TextProperty="bezeichnung" ValueProperty="id" />
</div>
<div class="col-md-1">
Typ
@@ -96,15 +105,18 @@
</SfDropDownList>
</div>
<div class="col-md-1">
leer
</div>
<div class="col-md-3">
das ist noch leer
</div>
</div>>
</div>
<br />
</EditForm>
<div class="row">
<SfButton Disabled="@FieldDisabled" IsPrimary="true" OnClick="@(() => SaveClick())">Änderungen speichern</SfButton>&nbsp;
<SfButton Disabled="@FieldDisabled" IsPrimary="true" OnClick="@(() => DeleteClick())">Schüler löschen</SfButton>
</div>
</div>
</div>
@@ -120,7 +132,7 @@
<RadzenButton style="margin: 0 1rem 1rem 0" Click=@(args => InsertBeruf()) Text="Beruf zuordnen" ButtonStyle="ButtonStyle.Secondary" />
</div>
<div class="col-md-8">
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" Toolbar="@(new List<string>() { "Edit", "Delete" })">
<SfGrid ID="Grid3" DataSource="@GridData" @ref="Grid" AllowPaging="false" AllowSorting="true" Toolbar="@(new List<string>() { "Edit", "Delete" })">
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="SchuelerBeruf" OnDataBound="RowDataBoundHandler"></GridEvents>
@@ -131,7 +143,6 @@
<GridColumn Field=@nameof(SchuelerBeruf.schuelerID) HeaderText="Schuelerid" Width="100" Visible="false"></GridColumn>
@*<GridColumn Field=@nameof(SchuelerBeruf.berufID) HeaderText="Berufid" Width="100" Visible="true"></GridColumn>*@
<GridForeignColumn Field=@nameof(SchuelerBeruf.berufID) HeaderText="Beruf" ForeignKeyField="ID" ForeignKeyValue="bezeichnung" ForeignDataSource="@berufe" Width="150"></GridForeignColumn>
<GridColumn Field=@nameof(SchuelerBeruf.bemerkung) HeaderText="Bemerkung" Width="100" Visible="true"></GridColumn>
@@ -149,6 +160,12 @@
<GridColumn Field=@nameof(SchuelerBeruf.mandantnr) HeaderText="Mandantnr" Width="100" Visible="false"></GridColumn>
</GridColumns>
</SfGrid>
<div class="container">
<h2></h2>
<div class="panel panel-default">
<div class="panel-body" style="color:red">@((MarkupString)berufhinweis)</div>
</div>
</div>
</div>
</div>
</div>
@@ -156,6 +173,12 @@
</div>
</div>
</div>
<style>
#Grid1.e-grid .e-gridheader .e-columnheader,
#Grid3.e-grid .e-gridfooter {
display: none;
}
</style>
<SfDialog Width="350px" IsModal="true" @bind-Visible="@ShowDeleteConfirmation">
<DialogTemplates>
@@ -164,24 +187,32 @@
</DialogTemplates>
<DialogButtons>
@if (DialogShowYesNO==true) {
<DialogButton Content="Ja" IsPrimary="true" OnClick="@DeleteConfirmed" />
<DialogButton Content="Nein" OnClick="@AbortDelete" />
@if (DialogShowYesNO == true)
{
<DialogButton Content="Ja" IsPrimary="true" OnClick="@DeleteConfirmed" />
<DialogButton Content="Nein" OnClick="@AbortDelete" />
}
else
{
<DialogButton Content="OK" IsPrimary="true" OnClick="@DialogConfirmed" />
}
else
{<DialogButton Content="OK" IsPrimary="true" OnClick="@DialogConfirmed" />}
</DialogButtons>
</SfDialog>
@code {
@code {
public string[] sfSchuelerID { get; set; }
public string DialogHeader { get; set; } = "";
public string DialogText { get; set; } = "";
public bool DialogShowYesNO { get; set; } = true;
public string berufhinweis = "";
public string klassehinweis = "";
public string klassehinweiscolor = "red";
public bool ShowDeleteConfirmation { get; set; } = false;
protected ElementReference ToFocus;
public int lehrerID = 0;
public string lehrerID = "";
public int hiddenschuelerid = 0;
public string KlasseID = "0";
public string SchuelerklasseID = "0";
@@ -190,25 +221,33 @@
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 List<iKlasse> Schuelerklasse = new List<iKlasse>();
public int SchuelerID;
public List<iKlasse> intKlasse = new List<iKlasse>();
public class iKlasse
{
public string id { get; set; }
public string bezeichnung { get; set; }
}
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; }
@@ -216,28 +255,40 @@
public int foundrow = 0;
public bool Initial { get; set; } = true;
public int BerufID;
private Lehrer _lehrer { get; set; } = new BWPMModels.Lehrer();
public List<BWPMModels.Lehrer> Lehrerdaten { get; set; }
protected override async Task OnInitializedAsync()
{
lehrerID = await sessionStorage.GetItemAsync<int>("LehrerID");
lehrerID = await sessionStorage.GetItemAsync<string>("LehrerID");
userid = await sessionStorage.GetItemAsync<string>("UserID");
Klasse = BlazorApp.Controller.KlasseController.GetByLehrerID(Convert.ToInt32(lehrerID));
intKlasse.Clear();
foreach (BWPMModels.Klasse item in Klasse)
{
iKlasse kl = new iKlasse();
kl.id = item.ID.ToString();
kl.bezeichnung = item.bezeichnung;
intKlasse.Add(kl);
Schuelerklasse.Add(kl);
};
KlasseID = Klasse[0].ID.ToString();
Schuelerklasse = BlazorApp.Controller.KlasseController.GetByLehrerID(Convert.ToInt32(lehrerID));
SchuelerklasseID = Schuelerklasse[0].ID.ToString();
SchuelerklasseID = Klasse[0].ID.ToString();
KlasseTypID = klassentyp[0].ID.ToString();
Update_Schueler_Klasse();
}
void OnChange(object value, string name)
{
KlasseID = value.ToString();
Update_Schueler_Klasse();
}
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
@@ -245,18 +296,26 @@
public void ChangeKlasse(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string, Klasse> args)
{
Update_Schueler_Klasse();
}
public void Update_Schueler_Klasse()
{
UpdateSchulerliste();
pruefung_klasse();
}
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; };
@@ -273,12 +332,12 @@
if (schuelerliste.Count > 0) { SchuelerSelected(); }
}
pruefung_klasse();
}
private void SchuelerChange(object value, string name)
{
var str = value is IEnumerable<object> ? string.Join(", ", (IEnumerable<object>)value) : value;
SchuelerSelected();
}
private void SchuelerSelected()
{
@@ -289,10 +348,9 @@
FieldDisabled = false;
DropDownEnabled = true;
update_griddata();
pruefung();
}
//----------------------------------------------------------
//Schüler-Formular
//----------------------------------------------------------
@@ -303,11 +361,8 @@
}
public void InvalidSubmit()
{
}
private void SaveClick()
{
Schueler _tmpschueler = new BWPMModels.Schueler();
@@ -319,8 +374,8 @@
_tmpschueler.klassemtypID = Convert.ToInt32(KlasseTypID);
BlazorApp.Controller.SchuelerController.PUT(_tmpschueler);
UpdateSchulerliste();
}
private void NewClick()
{
int schuelerid = 0;
@@ -336,7 +391,6 @@
schuelerdata.klassemtypID = Convert.ToInt32(KlasseTypID);
schuelerid = BlazorApp.Controller.SchuelerController.POST(schuelerdata);
FieldDisabled = false;
DropDownEnabled = true;
UpdateSchulerliste();
SchuelerID = schuelerid;
@@ -346,8 +400,8 @@
}
private void DeleteClick()
{
DialogHeader="Löschbestätigung";
DialogText = "Schüler '"+_schueler.name+' '+_schueler.vorname+"' wirklich löschen?'";
DialogHeader = "Löschbestätigung";
DialogText = "Schüler '" + _schueler.name + ' ' + _schueler.vorname + "' wirklich löschen?'";
DialogShowYesNO = true;
ShowDeleteConfirmation = true;
}
@@ -367,7 +421,7 @@
{
ShowDeleteConfirmation = false;
}
private void DialogConfirmed()
private void DialogConfirmed()
{
ShowDeleteConfirmation = false;
}
@@ -375,21 +429,21 @@
//SchülerBeruf / Beruf
//--------------------------------------
private void InsertBeruf()
{
{
if (SchuelerID == 0)
{
DialogHeader="Daten unvollständig";
DialogText="Bitte zuerst einen Schüler auswählen!";
DialogShowYesNO=false;
ShowDeleteConfirmation=true;
DialogHeader = "Daten unvollständig";
DialogText = "Bitte zuerst einen Schüler auswählen!";
DialogShowYesNO = false;
ShowDeleteConfirmation = true;
return;
}
if (BerufID == 0)
{
DialogHeader="Daten unvollständig";
DialogText="Bitte zuerst einen Beruf auswählen!";
DialogShowYesNO=false;
ShowDeleteConfirmation=true;
DialogHeader = "Daten unvollständig";
DialogText = "Bitte zuerst einen Beruf auswählen!";
DialogShowYesNO = false;
ShowDeleteConfirmation = true;
return;
}
ShowDeleteConfirmation = false;
@@ -405,7 +459,7 @@
sberuf.prioritaet = prio + 1;
BlazorApp.Controller.SchuelerBerufController.POST(sberuf);
update_griddata();
pruefung();
}
private void update_griddata()
@@ -414,25 +468,25 @@
}
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;
pruefung();
}
else
{
Args.Data.mutierer = userid.ToString();
Args.Data.mutiert_am = DateTime.Now;
BlazorApp.Controller.SchuelerBerufController.PUT(Args.Data);
pruefung();
}
}
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Delete)
@@ -441,12 +495,11 @@
Args.Data.mutiert_am = DateTime.Now;
Args.Data.aktiv = false;
BlazorApp.Controller.SchuelerBerufController.PUT(Args.Data);
pruefung();
}
}
public async Task OnCompletedHandler(ActionEventArgs<BWPMModels.SchuelerBeruf> Args)
{
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
{
@@ -455,16 +508,12 @@
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;
}
@@ -476,9 +525,7 @@
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++)
@@ -487,7 +534,7 @@
{
foundrow = j;
ContinuePaging = false; // prevent the default navigation
ContinuePaging = false;
break;
}
}
@@ -507,4 +554,47 @@
}
return foundrow;
}
public void pruefung()
{
berufhinweis = "";
int Anzahl_Berufe = 0;
try
{
dbhelper dbh = new dbhelper();
if (BlazorApp.Controller.SchuelerBerufController.Get_Anzahl(SchuelerID) < Convert.ToInt32(dbh.Get_Option(4)))
{
berufhinweis += "\r\n- es sollten 3 Berufswünsche ausgewählt werden<br />";
}
if (BlazorApp.Controller.SchuelerBerufController.Has_Prio1(SchuelerID) == false)
{
berufhinweis += "\r\n- Es fehlt ein Berufswunsch mit Priorität 1";
}
}
catch { };
}
public void pruefung_klasse()
{
klassehinweis = "";
dbhelper dbh = new dbhelper();
dbh.add_sp_param("Param1", KlasseID.ToString());
dbh.Get_Tabledata("sp_chk_klasse", true, false);
if (dbh.dsdaten.Tables[0].Rows[0][0].ToString() != dbh.dsdaten.Tables[0].Rows[0][1].ToString())
{
klassehinweis += "\r\n- " + dbh.dsdaten.Tables[0].Rows[0][1].ToString() + " von " + dbh.dsdaten.Tables[0].Rows[0][0].ToString() + " Schüler erfasst";
klassehinweiscolor = "red";
}
else
{
klassehinweis += "\r\n- " + dbh.dsdaten.Tables[0].Rows[0][1].ToString() + " von " + dbh.dsdaten.Tables[0].Rows[0][0].ToString() + " Schüler erfasst";
klassehinweiscolor = "green";
}
}
public async Task SchuelerClick(RecordClickEventArgs<Schuelerlist> args)
{
SchuelerID = args.RowData.id;
SchuelerSelected();
}
}

View File

@@ -16,6 +16,7 @@
<base href="~/" />
<link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
<link href="css/site.css" rel="stylesheet" />
<link href="css/all.css" rel="stylesheet" />
<link href="_content/Syncfusion.Blazor.Themes/bootstrap4.css" rel="stylesheet" />
<link rel="stylesheet" href="_content/Radzen.Blazor/css/default-base.css">
<link rel="stylesheet" href="_content/Radzen.Blazor/css/default.css">