You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
4.4 KiB
146 lines
4.4 KiB
@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
|
|
<div id="container">
|
|
|
|
<WebReportContainer WebReport="@UserWebReport" />
|
|
<div id="container">
|
|
<SfSpinner @bind-Visible="@Spinnervisible">
|
|
</SfSpinner>
|
|
</div>
|
|
|
|
</div>
|
|
@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<BWPMModels.Firma> Firmendaten { get; set; }
|
|
|
|
protected override async void OnInitialized()
|
|
{
|
|
Spinnervisible=true;
|
|
await Task.Delay(10);
|
|
}
|
|
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
|
|
}
|
|
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);
|
|
|
|
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<BWPMModels.Firma>();
|
|
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;
|
|
};
|
|
|
|
|
|
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;
|
|
Spinnervisible = false;
|
|
}
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
try
|
|
|
|
{
|
|
|
|
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;
|
|
}
|
|
}
|
|
UserWebReport = new WebReport();
|
|
}
|
|
catch (Exception e)
|
|
{ emsg = e.Message.ToString(); };
|
|
}
|
|
|
|
|
|
}
|
|
|