Table of Contents

Class UserMailBatchEntity

Namespace
Tharga.Team.MongoDB
Assembly
Tharga.Team.MongoDB.dll

The content one mail to many users shares, stored once, and once every mail of it is done what became of them.

public record UserMailBatchEntity : EntityBase, ISupportInitialize, IEquatable<PersistableEntityBase>, IEntity<ObjectId>, IEquatable<EntityBase<ObjectId>>, IEquatable<EntityBase>, IEquatable<UserMailBatchEntity>
Inheritance
PersistableEntityBase
EntityBase<ObjectId>
EntityBase
UserMailBatchEntity
Implements
IEquatable<PersistableEntityBase>
IEntity<ObjectId>
IEquatable<EntityBase<ObjectId>>
IEquatable<EntityBase>
Inherited Members
EntityBase.ToString()
EntityBase.GetHashCode()
EntityBase.Equals(EntityBase<ObjectId>)
EntityBase.Equals(EntityBase)
EntityBase.<Clone>$()
EntityBase.EqualityContract
EntityBase<ObjectId>.Equals(PersistableEntityBase)
EntityBase<ObjectId>.Id
PersistableEntityBase.NeedsCleaning()
PersistableEntityBase.BeginInit()
PersistableEntityBase.EndInit()
PersistableEntityBase.CatchAll

Properties

Attachments

The files; always an array, so their content can be removed in one update once every mail is done.

public UserMailAttachmentEntity[] Attachments { get; init; }

Property Value

UserMailAttachmentEntity[]

Body

The plain-text body.

public string Body { get; init; }

Property Value

string

BodyHtml

The sanitized HTML body, or null for a text-only mail.

[BsonIgnoreIfNull]
public string BodyHtml { get; init; }

Property Value

string

Category

The category's key.

public required string Category { get; init; }

Property Value

string

CompletedAt

When its last mail was sent, skipped or given up, in UTC; the retention period runs from here.

[BsonIgnoreIfNull]
public DateTime? CompletedAt { get; init; }

Property Value

DateTime?

Outcome

What became of its mails, recorded when the last one was done.

[BsonIgnoreIfNull]
public UserMailBatchOutcomeEntity Outcome { get; init; }

Property Value

UserMailBatchOutcomeEntity

QueuedAt

When it was queued, in UTC.

public DateTime QueuedAt { get; init; }

Property Value

DateTime

RecipientCount

How many mails were queued for it.

public int RecipientCount { get; init; }

Property Value

int

Subject

The subject line.

public required string Subject { get; init; }

Property Value

string