diff --git a/src/jQueryDatatableServerSideNetCore/Controllers/TestRegistersController.cs b/src/jQueryDatatableServerSideNetCore/Controllers/TestRegistersController.cs index 13ab1da..5edaefc 100644 --- a/src/jQueryDatatableServerSideNetCore/Controllers/TestRegistersController.cs +++ b/src/jQueryDatatableServerSideNetCore/Controllers/TestRegistersController.cs @@ -17,12 +17,12 @@ namespace jQueryDatatableServerSideNetCore.Controllers public class TestRegistersController : Controller { private readonly ApplicationDbContext _context; - private readonly IExportService _exportService; + private readonly IExportService _exportService; /// Initializes a new instance of the class. /// The context. /// The export service. - public TestRegistersController(ApplicationDbContext context, IExportService exportService) + public TestRegistersController(ApplicationDbContext context, IExportService exportService) { _context = context; _exportService = exportService; diff --git a/src/jQueryDatatableServerSideNetCore/Program.cs b/src/jQueryDatatableServerSideNetCore/Program.cs index a2401f3..5f1c964 100644 --- a/src/jQueryDatatableServerSideNetCore/Program.cs +++ b/src/jQueryDatatableServerSideNetCore/Program.cs @@ -28,7 +28,7 @@ options.SerializerSettings.Converters.Add(new StringEnumConverter()); }); -builder.Services.AddScoped(); +builder.Services.AddScoped(typeof(IExportService<>), typeof(ExportService<>)); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); diff --git a/src/jQueryDatatableServerSideNetCore/Services/ExportService/ExportService.cs b/src/jQueryDatatableServerSideNetCore/Services/ExportService/ExportService.cs index ac09526..9dded92 100644 --- a/src/jQueryDatatableServerSideNetCore/Services/ExportService/ExportService.cs +++ b/src/jQueryDatatableServerSideNetCore/Services/ExportService/ExportService.cs @@ -9,7 +9,7 @@ namespace jQueryDatatableServerSideNetCore.Services.ExportService { - public class ExportService : IExportService + public class ExportService : IExportService where TModel : class { private readonly IExcelService _excelService; private readonly ICsvService _csvService; @@ -28,32 +28,32 @@ public ExportService(IExcelService excelService, ICsvService csvService, IHtmlSe _yamlService = yamlService; } - public async Task ExportToExcel(List registers) + public async Task ExportToExcel(List registers) { return await _excelService.Write(registers); } - public byte[] ExportToCsv(List registers) + public byte[] ExportToCsv(List registers) { return _csvService.Write(registers); } - public byte[] ExportToHtml(List registers) + public byte[] ExportToHtml(List registers) { return _htmlService.Write(registers); } - public byte[] ExportToJson(List registers) + public byte[] ExportToJson(List registers) { return _jsonService.Write(registers); } - public byte[] ExportToXml(List registers) + public byte[] ExportToXml(List registers) { return _xmlService.Write(registers); } - public byte[] ExportToYaml(List registers) + public byte[] ExportToYaml(List registers) { return _yamlService.Write(registers); } diff --git a/src/jQueryDatatableServerSideNetCore/Services/ExportService/IExportService.cs b/src/jQueryDatatableServerSideNetCore/Services/ExportService/IExportService.cs index 0b3058c..bf27326 100644 --- a/src/jQueryDatatableServerSideNetCore/Services/ExportService/IExportService.cs +++ b/src/jQueryDatatableServerSideNetCore/Services/ExportService/IExportService.cs @@ -5,18 +5,18 @@ namespace jQueryDatatableServerSideNetCore.Services.ExportService { - public interface IExportService + public interface IExportService where TModel : class { - Task ExportToExcel(List registers); + Task ExportToExcel(List registers); - byte[] ExportToCsv(List registers); + byte[] ExportToCsv(List registers); - byte[] ExportToHtml(List registers); + byte[] ExportToHtml(List registers); - byte[] ExportToJson(List registers); + byte[] ExportToJson(List registers); - byte[] ExportToXml(List registers); + byte[] ExportToXml(List registers); - byte[] ExportToYaml(List registers); + byte[] ExportToYaml(List registers); } }