using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Wino.Core.Domain.Entities.Mail; using Wino.Core.Domain.Interfaces; namespace Wino.Services; public class EmailTemplateService(IDatabaseService databaseService) : BaseDatabaseService(databaseService), IEmailTemplateService { public Task> GetEmailTemplatesAsync() { return Connection.Table() .OrderBy(t => t.Name) .ToListAsync(); } public Task GetEmailTemplateAsync(Guid templateId) { return Connection.Table() .FirstOrDefaultAsync(t => t.Id == templateId); } public async Task CreateEmailTemplateAsync(EmailTemplate template) { await Connection.InsertAsync(template, typeof(EmailTemplate)).ConfigureAwait(false); return template; } public async Task UpdateEmailTemplateAsync(EmailTemplate template) { await Connection.UpdateAsync(template, typeof(EmailTemplate)).ConfigureAwait(false); return template; } public async Task DeleteEmailTemplateAsync(EmailTemplate template) { await Connection.DeleteAsync(template.Id).ConfigureAwait(false); return template; } }