Table of Contents

Class InboundMailEntity

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

The stored form of InboundMailItem. A mail with no TeamKey is held by the postmaster, and archived there when its Outcome is Archived.

public record InboundMailEntity : EntityBase, ISupportInitialize, IEquatable<PersistableEntityBase>, IEntity<ObjectId>, IEquatable<EntityBase<ObjectId>>, IEquatable<EntityBase>, IEquatable<InboundMailEntity>
Inheritance
PersistableEntityBase
EntityBase<ObjectId>
EntityBase
InboundMailEntity
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

Envelope

public required MailEnvelopeEntity Envelope { get; init; }

Property Value

MailEnvelopeEntity

HandledAt

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

Property Value

DateTime?

HandledBy

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

Property Value

string

ItemKey

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

Property Value

string

KeyRetiresAt

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

Property Value

DateTime?

MailId

Derived from the delivery itself, and unique, so the same delivery read twice is kept once.

public required string MailId { get; init; }

Property Value

string

Outcome

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

Property Value

string

OwnerId

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

Property Value

string

OwnerType

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

Property Value

string

Reason

[BsonRepresentation(BsonType.String)]
public required MailRouteReason Reason { get; init; }

Property Value

MailRouteReason

ReceivedAt

public required DateTime ReceivedAt { get; init; }

Property Value

DateTime

TeamKey

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

Property Value

string