@page "/Company/Berufsangebot" @inject Blazored.SessionStorage.ISessionStorageService sessionStorage @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 Syncfusion.Blazor.Lists @using Syncfusion.Blazor.Inputs; @using BlazorApp.Helper @using BWPMModels;

Berufsangebot

(Bitte erfassen Sie Ihr Berufsangebot)

Berufe

Ansprechperson

Zeiten

Plätze


Bemerkung

Hinweis für den Schüler

Hinweis zum Standortler

Einfügen

Ihr Angebot

@* *@ @* *@ @* *@ @* *@
Angaben sind unvollständig
@((MarkupString)this.message)
@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 Berufsliste { get; set; } SfGrid Grid { get; set; } string userid = ""; static string firmaid = ""; public List berufe = new List(); public List _berufe { get; set; } = BlazorApp.Controller.BerufController.GetAllAktiveData(); public List zeiten = new List(); public List _zeiten { get; set; } = BlazorApp.Controller.ZeitenController.GetAllAktiveData(); public List ansprechpartner { get; set; } public List klassentyp { get; set; } = BlazorApp.Controller.KlassentypController.GetAllAktiveData(); public List Firmendaten { get; set; } public List lap = new List(); public List plaetze = new List(); public List 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; 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("FirmaID"); get_ansprechaprtner(firmaid); } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender != true) { return; }; userid = await sessionStorage.GetItemAsync("UserID"); if (userid == null) { var authState = await authenticationStateTask; userid = authState.User.Claims.FirstOrDefault().Value; var user = authState.User; } firmaid = await sessionStorage.GetItemAsync("FirmaID"); if (firmaid == null) { Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid); firmaid = Firmendaten.First().ID.ToString(); } try { GridData = BlazorApp.Controller.FirmaberufController.GetAllAktiveByFirmaID(Convert.ToInt32(firmaid)); get_ansprechaprtner(firmaid); } catch { }; await Task.Delay(200); try { await sessionStorage.SetItemAsync("FirmaID", firmaid); await sessionStorage.SetItemAsync("UserID", userid); } catch { } for (int i = 1; i < 51; i++) { plaetze.Add(new Plaetze { id = i, text = i.ToString() }); } PlatzID = "1"; KlassenTypID = "1"; } 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); } } 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 Beruf { 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; } 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 { }; if (bid == 0) { message += "- Bitte einen Beruf auswählen
"; }; if (aid == 0) { message += "- Bitte einen Ansprechpartner auswählen
"; }; if (zid == 0) { message += "- Bitte einen Zeit auswählen
"; }; if (pid == 0) { message += "- Bitte Anzahl Plätze auswählen
"; }; if (kid == 0) { message += "- Bitte Klassentyp auswählen
"; }; 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(); } private async Task OnBeginHandler(ActionEventArgs 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.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); } } public async Task OnCompletedHandler(ActionEventArgs 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 args) { } public async Task 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 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; } }