23 lines
850 B
C#
23 lines
850 B
C#
using System.Text;
|
|
using Kurs.MailQueue.MailGeneration.Models;
|
|
using Volo.Abp.DependencyInjection;
|
|
|
|
namespace Kurs.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()));
|
|
}
|
|
}
|