more flex and filters
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
using IdokladSdk.Models.Email;
|
||||
using Idoklad.Client;
|
||||
|
||||
namespace Idoklad.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Sends document e-mails (invoice, proforma, credit note, received invoice, reminders) through
|
||||
/// the iDoklad MailClient. The settings carry the document id, recipients and options.
|
||||
/// </summary>
|
||||
public sealed class MailService
|
||||
{
|
||||
private readonly IdokladApiAccessor _accessor;
|
||||
|
||||
public MailService(IdokladApiAccessor accessor) => _accessor = accessor;
|
||||
|
||||
public async Task<EmailSendResult> SendIssuedInvoiceAsync(IssuedInvoiceEmailSettings settings, CancellationToken ct)
|
||||
=> (await _accessor.Api.MailClient.IssuedInvoiceEmail.SendAsync(settings, ct)).Unwrap();
|
||||
|
||||
public async Task<EmailSendResult> SendProformaInvoiceAsync(ProformaInvoiceEmailSettings settings, CancellationToken ct)
|
||||
=> (await _accessor.Api.MailClient.ProformaInvoiceEmail.SendAsync(settings, ct)).Unwrap();
|
||||
|
||||
public async Task<EmailSendResult> SendCreditNoteAsync(CreditNoteEmailSettings settings, CancellationToken ct)
|
||||
=> (await _accessor.Api.MailClient.CreditNoteEmail.SendAsync(settings, ct)).Unwrap();
|
||||
|
||||
public async Task<EmailSendResult> SendReceivedInvoiceAsync(ReceivedInvoiceEmailSettings settings, CancellationToken ct)
|
||||
=> (await _accessor.Api.MailClient.ReceivedInvoiceEmail.SendAsync(settings, ct)).Unwrap();
|
||||
|
||||
public async Task<EmailSendResult> SendRemindersAsync(RemindersEmailSettings settings, CancellationToken ct)
|
||||
=> (await _accessor.Api.MailClient.RemindersEmail.SendAsync(settings, ct)).Unwrap();
|
||||
}
|
||||
Reference in New Issue
Block a user