public static void Main() { IExportLocally export = new ExportWord(); IExportToServer export2 = new ExportWord(); export.Export(); export2.Export(); Console.ReadLine(); }
public static void Main() { // Вариант №1 IExportLocally export = new ExportWord(); IExportToServer export2 = new ExportWord(); export.Export(); export2.Export(); //Вариант №2 ExportWord exportExp2 = new ExportWord(); ((IExportLocally)exportExp2).Export(); ((IExportToServer)exportExp2).Export(); Console.ReadLine(); }
public async Task <ValueTuple <string, string> > ExportAsync(IServiceProvider serviceProvider, Guid id, Guid templateId, TemplateType type) { var fileTemplate = await GetAsync(templateId); if (fileTemplate == null) { throw new BussinessException("无法找到指定的文档模板"); } object data = null; switch (type) { case TemplateType.PurchaseOrder: var purchaseOrderContract = serviceProvider.GetService <IPurchaseOrderContract>(); data = await purchaseOrderContract.GetAsync(id); break; case TemplateType.InboundReceipt: var inboundReceiptContract = serviceProvider.GetService <IInboundReceiptContract>(); data = await inboundReceiptContract.GetAsync(id); break; case TemplateType.OutboundReceipt: var outboundReceiptContract = serviceProvider.GetService <IOutboundReceiptContract>(); data = await outboundReceiptContract.GetAsync(id); break; case TemplateType.TransferOrder: var transferOrderContract = serviceProvider.GetService <ITransferOrderContract>(); data = await transferOrderContract.GetAsync(id); break; case TemplateType.SaleOrder: var saleOrderContract = serviceProvider.GetService <ISaleOrderContract>(); data = await saleOrderContract.GetAsync(id); break; default: throw new BussinessException("模板类型不正确"); } if (data == null) { throw new BussinessException("找不到指定表单数据"); } var fullPath = Path.Combine(_templatesPath, fileTemplate.Path); var word = new ExportWord(fullPath); word.OnExport = () => { SetBookMark(word, data, ""); }; var tempDirectory = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "temp"); var directory = new DirectoryInfo(tempDirectory); if (!directory.Exists) { directory.Create(); } try { foreach (var file in directory.GetFiles()) { file.Delete(); } } catch { } var fileName = Guid.NewGuid().ToString(); var tragetPath = Path.Combine(tempDirectory, fileName + ".docx"); word.Export(tragetPath); return(type.GetDisplayName(), fileName); }