Skip to content

Commit 98ebccc

Browse files
Merge pull request #12 from sametcekin/net-60
#improvement
2 parents af8f4dc + 2ed55d7 commit 98ebccc

File tree

4 files changed

+17
-17
lines changed

4 files changed

+17
-17
lines changed

src/jQueryDatatableServerSideNetCore/Controllers/TestRegistersController.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ namespace jQueryDatatableServerSideNetCore.Controllers
1717
public class TestRegistersController : Controller
1818
{
1919
private readonly ApplicationDbContext _context;
20-
private readonly IExportService _exportService;
20+
private readonly IExportService<TestRegister> _exportService;
2121

2222
/// <summary>Initializes a new instance of the <see cref="TestRegistersController" /> class.</summary>
2323
/// <param name="context">The context.</param>
2424
/// <param name="exportService">The export service.</param>
25-
public TestRegistersController(ApplicationDbContext context, IExportService exportService)
25+
public TestRegistersController(ApplicationDbContext context, IExportService<TestRegister> exportService)
2626
{
2727
_context = context;
2828
_exportService = exportService;

src/jQueryDatatableServerSideNetCore/Program.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
options.SerializerSettings.Converters.Add(new StringEnumConverter());
2929
});
3030

31-
builder.Services.AddScoped<IExportService, ExportService>();
31+
builder.Services.AddScoped(typeof(IExportService<>), typeof(ExportService<>));
3232
builder.Services.AddScoped<IExcelService, ExcelService>();
3333
builder.Services.AddScoped<ICsvService, CsvService>();
3434
builder.Services.AddScoped<IHtmlService, HtmlService>();

src/jQueryDatatableServerSideNetCore/Services/ExportService/ExportService.cs

+7-7
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
namespace jQueryDatatableServerSideNetCore.Services.ExportService
1111
{
12-
public class ExportService : IExportService
12+
public class ExportService<TModel> : IExportService<TModel> where TModel : class
1313
{
1414
private readonly IExcelService _excelService;
1515
private readonly ICsvService _csvService;
@@ -28,32 +28,32 @@ public ExportService(IExcelService excelService, ICsvService csvService, IHtmlSe
2828
_yamlService = yamlService;
2929
}
3030

31-
public async Task<byte[]> ExportToExcel(List<TestRegister> registers)
31+
public async Task<byte[]> ExportToExcel(List<TModel> registers)
3232
{
3333
return await _excelService.Write(registers);
3434
}
3535

36-
public byte[] ExportToCsv(List<TestRegister> registers)
36+
public byte[] ExportToCsv(List<TModel> registers)
3737
{
3838
return _csvService.Write(registers);
3939
}
4040

41-
public byte[] ExportToHtml(List<TestRegister> registers)
41+
public byte[] ExportToHtml(List<TModel> registers)
4242
{
4343
return _htmlService.Write(registers);
4444
}
4545

46-
public byte[] ExportToJson(List<TestRegister> registers)
46+
public byte[] ExportToJson(List<TModel> registers)
4747
{
4848
return _jsonService.Write(registers);
4949
}
5050

51-
public byte[] ExportToXml(List<TestRegister> registers)
51+
public byte[] ExportToXml(List<TModel> registers)
5252
{
5353
return _xmlService.Write(registers);
5454
}
5555

56-
public byte[] ExportToYaml(List<TestRegister> registers)
56+
public byte[] ExportToYaml(List<TModel> registers)
5757
{
5858
return _yamlService.Write(registers);
5959
}

src/jQueryDatatableServerSideNetCore/Services/ExportService/IExportService.cs

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55

66
namespace jQueryDatatableServerSideNetCore.Services.ExportService
77
{
8-
public interface IExportService
8+
public interface IExportService<TModel> where TModel : class
99
{
10-
Task<byte[]> ExportToExcel(List<TestRegister> registers);
10+
Task<byte[]> ExportToExcel(List<TModel> registers);
1111

12-
byte[] ExportToCsv(List<TestRegister> registers);
12+
byte[] ExportToCsv(List<TModel> registers);
1313

14-
byte[] ExportToHtml(List<TestRegister> registers);
14+
byte[] ExportToHtml(List<TModel> registers);
1515

16-
byte[] ExportToJson(List<TestRegister> registers);
16+
byte[] ExportToJson(List<TModel> registers);
1717

18-
byte[] ExportToXml(List<TestRegister> registers);
18+
byte[] ExportToXml(List<TModel> registers);
1919

20-
byte[] ExportToYaml(List<TestRegister> registers);
20+
byte[] ExportToYaml(List<TModel> registers);
2121
}
2222
}

0 commit comments

Comments
 (0)