public ResultModel <IEnumerable <dynamic> > GetReportContent(DynamicReportDto reportModel) { var result = new ResultModel <IEnumerable <dynamic> > { IsSuccess = true }; IEnumerable <dynamic> Results() { using (var connection = new NpgsqlConnection(GetConnectionString())) { connection.Open(); using (var sqlCommand = connection.CreateCommand()) { var queryBuilder = new StringBuilder(); queryBuilder.Append("SELECT "); if (!reportModel.FieldsList.Any()) { queryBuilder.Append(" * "); } else { foreach (var field in reportModel.FieldsList) { queryBuilder.Append(field.AggregateType != AggregateType.None ? $" {field.AggregateType.GetDescription()}({field.FieldName}) {(string.IsNullOrWhiteSpace(field.FieldAlias) ? "" : $" AS \"{field.FieldAlias}\"")}"
public IActionResult GetReportData(DynamicReportDto model) { return(Json(new { charts = model.DynamicReportCharts, data = _service.GetReportContent(model) })); }