private async Task <IActionResult> GetReport <TRequest, TResult>(TRequest request) where TRequest : IReportRequest where TResult : IReportResult { try { var result = await _reportsService.GenerateReportAsync <TRequest, TResult>(request); return(Ok(result)); } catch (ReportGeneratorNotFoundException) { return(NotFound()); } }