using System.Text;
using Kurs.MailQueue.MailGeneration.Models;
using Volo.Abp.DependencyInjection;
namespace Kurs.MailQueue.FileGeneration;
public class TXTFileGenerator : IFileGenerator, ITransientDependency
{
///
/// TXT icerigi ve delimiter, musteriye ozel oldugundan, burada sabit bir txt
/// uretmek yerine, veri tablosunda belirtilen kaydi dosyaya donsturmemiz yeterli
///
///
///
public async Task 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()));
}
}