erp-platform/api/modules/Erp.MailQueue/FileGeneration/TXTFileGenerator.cs
2025-11-11 22:49:52 +03:00

24 lines
849 B
C#

using System.Text;
using Erp.MailQueue.MailGeneration.Models;
using Volo.Abp.DependencyInjection;
namespace Erp.MailQueue.FileGeneration;
public class TXTFileGenerator : IFileGenerator, ITransientDependency
{
/// <summary>
/// TXT icerigi ve delimiter, musteriye ozel oldugundan, burada sabit bir txt
/// uretmek yerine, veri tablosunda belirtilen kaydi dosyaya donsturmemiz yeterli
/// </summary>
/// <param name="table"></param>
/// <returns></returns>
public async Task<byte[]> Generate(MailTemplateTableModel table)
{
var sb = new StringBuilder();
table.TabloDegerleri.ForEach(row =>
sb.AppendLine(string.Join('\t', table.TabloSutunlari.Select(col => row.GetValueOrDefault(col.SutunAdi)))));
return await Task.FromResult(Encoding.UTF8.GetBytes(sb.ToString()));
}
}