Table of Contents

Class ContactQuery

Namespace
MailFathom.Application.Contacts
Assembly
MailFathom.Application.dll

Asks for one bounded, keyset-paginated page of the contact book.

public sealed record ContactQuery : IEquatable<ContactQuery>
Inheritance
ContactQuery
Implements
Inherited Members

Remarks

A page is always bounded and always ordered by the name's comparison form and then by the identity, so a caller that supplies nothing is served the first DefaultPageSize contacts in that order rather than the whole book. The order is what makes the walk complete: it is total, it never changes while a walk is in progress unless a contact is renamed, and it is the order the supporting index is built in.

Fields

DefaultPageSize

The page size a request that names none is served.

MaximumPageSize

The greatest page size one request may ask for.

Properties

Cursor

Gets the boundary a continued walk reads beyond, or null for the first page.

Origin

Gets the origin the page is narrowed to, or null for the whole book.

PageSize

Gets how many contacts the page holds at most.

Search

Gets the text a contact must carry in its name or in one of its addresses, or null for no narrowing.

Methods

Create(ContactOrigin?, ContactSearch?, int?, ContactCursor?)

Builds a validated query from what a caller asked for.