@page "/Reporting/Reporting" @page "/Reporting/Reporting/{ReportNr}" @inherits Admin.ListBase; @inject Blazored.SessionStorage.ISessionStorageService sessionStorage @using Microsoft.AspNetCore.Hosting; @using System.IO; @using System.Data; @using FastReport @using FastReport.Web @using FastReport.Web.Blazor.Components @using BWPMModels; @using Syncfusion.Blazor.Spinner
@emsg; @code { [Parameter] public string ReportNr { get; set; } public string emsg { get; set; } = ""; private IHostingEnvironment Environment; private bool Spinnervisible { get; set; } = true; public string ReportName { get; set; } public DataSet DataSet { get; set; } = new DataSet(); public WebReport UserWebReport { get; set; } = new WebReport(); public Report Report { get; set; } = new Report(); string guserid = ""; string sql = ""; private Firma _firma { get; set; } = new BWPMModels.Firma(); public List Firmendaten { get; set; } protected override async Task OnAfterRenderAsync(bool firstRender) { Spinnervisible = false; } protected override async Task OnParametersSetAsync() { string paramtyp1 = ""; string paramtyp2 = ""; string paramtyp3 = ""; 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"]); } catch (Exception e) { emsg=e.Message; return; } paramtyp1 = dbh.dsdaten.Tables[0].Rows[0]["paramtype1"].ToString(); paramtyp2 = dbh.dsdaten.Tables[0].Rows[0]["paramtype2"].ToString(); paramtyp3 = dbh.dsdaten.Tables[0].Rows[0]["paramtype3"].ToString(); sql = dbh.dsdaten.Tables[0].Rows[0]["sql"].ToString(); switch (paramtyp1) { case "%firmaID%": Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid); _firma = Firmendaten.First(); sql = sql.Replace("%firmaid%", _firma.ID.ToString()); break; default: break; }; dbh.dsdaten.Tables.Clear(); DataSet.Tables.Clear(); DataSet.Tables.Add(dbh.Get_Tabledata(sql, false, true).Copy()); Report.SetParameterValue("Parcours", dbh.Get_Option(2)); Report.SetParameterValue("Spruch", dbh.Get_Option(3)); Report.SetParameterValue("URL", dbh.Get_Option(27)); Report.RegisterData(DataSet); Report.GetDataSource("Daten").Enabled = true; UserWebReport.Report = Report; UserWebReport.Report.Refresh(); Spinnervisible = false; } protected override async Task OnInitializedAsync() { try { 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; } } UserWebReport = new WebReport(); } catch (Exception e) { emsg = e.Message.ToString(); }; } }