public async Task <IActionResult> Execution([FromBody] ExecutionChartRequestModel model) { if (ModelState.IsValid) { var foundChart = await _chartRepository.GetOneAsync(model.ChartId); if (foundChart != null) { var result = await _chartService.Execute(foundChart, model); return(Ok(result)); } } return(BadRequest()); }
public async Task <ExecutionChartResponseModel> Execute(Chart chart, ExecutionChartRequestModel model) { var databaseConnection = await _databaseServiceProvider.GetOneDatabaseConnectionAsync(chart.DatabaseOptions.DatabaseConnectionId); var foundExecution = _executionChartReports.First(a => a.ConnectionType == databaseConnection.GetConnectionType()); return(await foundExecution.Execute(new ExecutionChartReportModel { DatabaseConnection = databaseConnection, FilterValues = model.ChartFilterValues, Parameters = model.ChartParameterValues, FormattedString = chart.DatabaseOptions.Query, MappingProjection = chart.Definitions.MappingProjection, IsRealTime = model.IsRealTime, LastComparedDate = model.LastRealTimeComparedDate, ComparedRealTimeField = model.RealTimeField })); }