Table of Contents

Class UserNoticeStreamEntity

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

One user's stream of notices — one notice delivered at once, or the daily summary of one mail category — and when its next mail is due.

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

ClaimedBy

Who holds it, while an instance does.

public string ClaimedBy { get; init; }

Property Value

string

ClaimedUntil

When the holder's lease runs out, in UTC.

public DateTime? ClaimedUntil { get; init; }

Property Value

DateTime?

Covered

Each subject such a mail covered and when it last did, newest kept when there are many.

[BsonIgnoreIfNull]
public UserNoticeCoveredEntity[] Covered { get; init; }

Property Value

UserNoticeCoveredEntity[]

DueAt

When the next mail is due while something waits, in UTC; far in the future while nothing does.

public DateTime DueAt { get; init; }

Property Value

DateTime

LastMailedAt

When the last mail of a notice held to an interval or composed from state went out, in UTC; absent for any other stream.

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

Property Value

DateTime?

MailItemIds

The notices that mail carries, while it is queued.

public string[] MailItemIds { get; init; }

Property Value

string[]

MailKey

The key of the mail being queued, while it is.

public string MailKey { get; init; }

Property Value

string

Stream

The stream.

public required string Stream { get; init; }

Property Value

string

UserKey

The user's key.

public required string UserKey { get; init; }

Property Value

string

Version

Raised by every notice added, so a release can tell one arrived while it counted what waits.

public long Version { get; init; }

Property Value

long