我想在dotnet core 6中的新解决方案中添加excel和pdf生成器。我遵循此模板: https://github.com/iammukeshm/cleanarchitecture.webapi
or
dotnet核心的非常好的干净体系结构教程。在我的知识中,Excel Generator或PDF发电机将放置在Application/Features
Solution
|- Application
|- Features
|- InvoiceFeature
|- Commands
|- Queries
|- Generates
|- GenerateInvoiceByDateRangeInExcel.cs
在controllers
中我会添加
[HttpPost]
public async Task<IActionResult> DownloadExcel(GenerateInvoiceByDateRangeInExcel command)
{
return File(await Mediator.Send(command));
}
,我不先尝试这个想法,所以回到我的问题我应该将Excel/PDF Generator类或功能放在洋葱/清洁体系结构中? 以及如何使用MediaTr
正确使用它
(或DB或其他一些基础架构组件)中。我假设您使用库生成PDF(或Excel),该PDF(或Excel)需要(业务)数据才能放入PDF中,以准备pdf之前,这是一代人发生的,而不是时期(即,不是关于流生成的)。要执行您必须创建的一代,例如发票模型类的InvoICEPDFGENERATOR类,该类别将能够生成PDF,作为文件或数据库记录(SQL或其他)或其他内容,或基于收到的参数收到的发票对象。位置/使用InvoItePdfGenerator,就像它是存储库实现一样(声明其接口);尽管不是经典的存储库,但以类似的方式使用它,您将使用存储库类。如果我们以非常简单的术语来定义级存储库,例如“负责持续使用模型对象的东西”,然后InvoItePdfGenerator将是一个经典的存储库。