using System; using Stimulsoft.Report; using Stimulsoft.Report.Mvc; using Stimulsoft.Report.Export; using Microsoft.AspNetCore.Mvc; using System.Collections; namespace DummyApi.Controllers { [Route("api/[controller]")] [ApiController] public class ReportController : Controller { [HttpGet] public IActionResult Get() { try { StiReport report = new StiReport(); report.Load(StiNetCoreHelper.MapPath(this, "Reports/TableHeaderExampleReport.mrt")); Products products = new Products(); products.Add(new Product("Product 1", 100m, 10m)); products.Add(new Product("Product 2", 100m, 10m)); products.Add(new Product("Product 3", 100m, 10m)); products.Add(new Product("Product 4", 100m, 10m)); products.Add(new Product("Product 5", 100m, 10m)); products.Add(new Product("Product 6", 100m, 10m)); products.Add(new Product("Product 7", 100m, 10m)); products.Add(new Product("Product 8", 100m, 10m)); products.Add(new Product("Product 9", 100m, 10m)); products.Add(new Product("Product 10", 100m, 10m)); products.Add(new Product("Product 11", 100m, 10m)); products.Add(new Product("Product 12", 100m, 10m)); products.Add(new Product("Product 13", 100m, 10m)); products.Add(new Product("Product 14", 100m, 10m)); products.Add(new Product("Product 15", 100m, 10m)); products.Add(new Product("Product 16", 100m, 10m)); products.Add(new Product("Product 17", 100m, 10m)); products.Add(new Product("Product 18", 100m, 10m)); // products.Add(new Product("Product 19", 100m, 10m)); // products.Add(new Product("Product 20", 100m, 10m)); // products.Add(new Product("Product 21", 100m, 10m)); // products.Add(new Product("Product 22", 100m, 10m)); // products.Add(new Product("Product 23", 100m, 10m)); // products.Add(new Product("Product 24", 100m, 10m)); // products.Add(new Product("Product 25", 100m, 10m)); Delivery delivery = new Delivery(30m, 3.5m); report.RegData("Products", products); report.RegBusinessObject("Delivery", delivery); StiPdfExportSettings pdfSettings = new StiPdfExportSettings(); pdfSettings.EmbeddedFonts = true; return StiNetCoreReportResponse.ResponseAsPdf(report, pdfSettings); } catch (Exception ex) { return BadRequest(ex.ToString()); } } } public class Products : CollectionBase { public void Add(Product value) { List.Add(value); } } public class Product { public decimal Price { get; set; } public decimal Tax { get; set; } public string Name { get; set; } public Product(string name, decimal price, decimal tax) { this.Name = name; this.Price = price; this.Tax = tax; } } public class Delivery { public decimal Price { get; set; } public decimal Tax { get; set; } public Delivery(decimal price, decimal tax) { this.Price = price; this.Tax = tax; } } }