@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 Syncfusion.Blazor.Notifications; @using BlazorApp.Helper @using BWPMModels;

Berufsangebot

Berufe
Ansprechpartner
Zeiten
Plätze / Anforderung
Anzahl verfügbare Plätze
Mind. Anforderung

Bemerkungen und Hinweise
Bemerkung
Hinweis für den Schüler
Hinweis zum Standort
Berufsangebot einfügen

Ihr Angebot
@**@ @* *@ @* *@ @* *@ @* *@
Formmular unvollständig
Bitte zuerst die Firmen-Daten vollständig ausfüllen.
Angaben sind unvollständig
@((MarkupString)this.message)
@code { SfToast ToastObj; private string ToastPosition = "Right"; private string ToastContent = "Daten erfolgreich gespeichert"; private ToastEffect ShowAnimation = ToastEffect.FadeIn; private ToastEffect HideAnimation = ToastEffect.FadeOut; } @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; public bool ShowDialogCompany = false; string message = ""; SfListBox Berufsliste { get; set; } SfGrid Grid { get; set; } string userid = ""; 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(); private Firma _firma { get; set; } = new BWPMModels.Firma(); 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); } userid = await sessionStorage.GetItemAsync("UserID"); Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid); _firma = Firmendaten.First(); if (_firma.nameZ1 == "") { ShowDialogCompany = true; return; } firmaid = await sessionStorage.GetItemAsync("FirmaID"); get_ansprechaprtner(firmaid); GridData = BlazorApp.Controller.FirmaberufController.GetAllAktiveByFirmaID(Convert.ToInt32(firmaid)); } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender != true) { return; }; 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 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; 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; 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(); ToastObj.ShowAsync(); } 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; ToastObj.ShowAsync(); } else { Args.Data.mutierer = userid.ToString(); Args.Data.mutiert_am = DateTime.Now; BlazorApp.Controller.FirmaberufController.PUT(Args.Data); ToastObj.ShowAsync(); } } 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 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; } }