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());
            }
        }