@inherits ComponentBase @using Interfaces @implements Interfaces.IReportUI @inject IReportingHandler ReportingHandler @if (_showReportModal) { } @code { public Type ReportType => typeof(ReportComponent); [Parameter] public IReportable ReportableEntity { get; set; } private bool _showReportModal = false; private string _reportReason = ""; private class ReportEntityTest : IReportable { public int EntityID { get; set; } public string ModuleName { get; set; } public int ModuleID { get; set; } } protected override Task OnInitializedAsync() { ReportableEntity = new ReportEntityTest { EntityID = 1, ModuleID = 2, ModuleName = "TestModule" }; return base.OnInitializedAsync(); } private void ShowReportModal() { _reportReason = ""; _showReportModal = true; } private void CloseReportModal() { _showReportModal = false; } private void ReportEntry() { ReportingHandler.Report(ReportableEntity, _reportReason); Console.WriteLine($"Eintrag gemeldet mit Grund: {_reportReason}"); CloseReportModal(); } public override Task SetParametersAsync(ParameterView parameters) { Console.WriteLine("ParameterView received in ReportComponent:"); foreach (var parameter in parameters) { Console.WriteLine(parameter.Name + "name - value" + parameter.Value); } return base.SetParametersAsync(parameters); } }