Files
Wino-Mail/Wino.Core.Domain/Models/MailItem/SendDraftPreparationRequest.cs
2024-08-17 22:55:58 +02:00

53 lines
1.6 KiB
C#

using System.Text.Json.Serialization;
using MimeKit;
using Wino.Core.Domain.Entities;
using Wino.Core.Domain.Extensions;
namespace Wino.Core.Domain.Models.MailItem
{
public class SendDraftPreparationRequest
{
public MailCopy MailItem { get; }
public string Base64MimeMessage { get; }
public MailItemFolder SentFolder { get; }
public MailItemFolder DraftFolder { get; }
public MailAccountPreferences AccountPreferences { get; }
public MailAccountAlias SendingAlias { get; set; }
public SendDraftPreparationRequest(MailCopy mailItem,
MailAccountAlias sendingAlias,
MailItemFolder sentFolder,
MailItemFolder draftFolder,
MailAccountPreferences accountPreferences,
string base64MimeMessage)
{
MailItem = mailItem;
SendingAlias = sendingAlias;
SentFolder = sentFolder;
DraftFolder = draftFolder;
AccountPreferences = accountPreferences;
Base64MimeMessage = base64MimeMessage;
}
[JsonConstructor]
private SendDraftPreparationRequest() { }
[JsonIgnore]
private MimeMessage mime;
[JsonIgnore]
public MimeMessage Mime
{
get
{
if (mime == null)
{
mime = Base64MimeMessage.GetMimeMessageFromBase64();
}
return mime;
}
}
}
}