@page "/Company/CompanyContact" @page "/Company/CompanyContact/{paramfid:int}" @inject Blazored.SessionStorage.ISessionStorageService sessionStorage @inherits Admin.ListBase @using Syncfusion.Blazor.Grids; @using Syncfusion.Blazor.Buttons; @using Syncfusion.Blazor.Spinner; @using Syncfusion.Blazor.Popups; @using Syncfusion.Blazor.Notifications; @using BlazorApp.Helper @using BWPMModels; @using BlazorApp.Controller;
Ansprechpartner @_firma.nameZ1 @_firma.ort
@if (@paramfid != 0) { }
@**@
Formmular unvollständig
Bitte zuerst die Firmen-Daten vollständig ausfüllen.
Löschung nicht möglich
Dem Ansprechpartner sind noch Berufsangebote zugeordnet. Diese bitte zuerst löschen.
@code { [Parameter] public int paramfid { get; set; } SfToast ToastObj; private string ToastPosition = "Right"; private string ToastContent = "Daten erfolgreich gespeichert"; private ToastEffect ShowAnimation = ToastEffect.FadeIn; private ToastEffect HideAnimation = ToastEffect.FadeOut; } @code { SfGrid Grid { get; set; } public List GridData { get; set; } public List 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; } public int Value = 0; // consider that value your querystring contains public int foundrow = 0; private Firma _firma { get; set; } = new BWPMModels.Firma(); public List Firmendaten { get; set; } private bool ShowDialog { get; set; } = false; private void CloseDialog() { if (ShowDialog == true) { this.ShowDialog = false; NavigationManager.NavigateTo("/Company/CompanyContact"); } else{ NavigationManager.NavigateTo("/Company/Berufsangebot"); } } protected override async void OnInitialized() { } protected override async Task OnAfterRenderAsync(bool firstRender) { @*userid = "4c456017-85b9-4f34-a42c-f3ac534cc34f";*@ userid = await sessionStorage.GetItemAsync("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 (paramfid != 0) { Firmendaten = BlazorApp.Controller.FirmaController.GetByID(paramfid); } else { Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid); } _firma = Firmendaten.First(); if (_firma.nameZ1 == "") { ShowDialog = true; return; } GridData = BlazorApp.Controller.AnsprechpartnerController.GetByFirmaID(_firma.ID); } 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.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 FB = new List(); 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); } } } 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) { if (!Initial) { //await Task.Delay(100); //var Idx = await this.Grid.GetRowIndexByPrimaryKey(Convert.ToDouble(Value)); //get index value //this.Grid.SelectRow(Convert.ToDouble(Idx)); } Initial = false; } public async Task 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; } private void NavigateToFirmenuebersicht() { if (paramfid != 0) { NavigationManager.NavigateTo("/Admin/Company/Company"); } } private void NavigateToFirmendaten() { if (paramfid != 0) { NavigationManager.NavigateTo("/Company/Dashboard/" + paramfid.ToString()); } } }