SampleApi
Classes
Section titled Classes| Type | Description |
|---|---|
ApiEndpoints | Provides well-known route path constants for the sample API. |
ApiResponse<T> | A generic envelope for API responses, providing a consistent wire format that wraps the data payload alongside success/failure status and metadata. |
AuditableEntity | Base class for entities that require audit tracking. |
Customer | Represents a customer entity in the system, serving as the primary domain model for all customer-related operations including creation, retrieval, and segmentation. |
Order | Represents an order placed by a Customer, containing one or more OrderItem line items and tracking lifecycle state through OrderStatus. |
OrderEventArgs | Provides data for order-related events, carrying the Order that triggered the event along with a UTC timestamp indicating when the event occurred. |
OrderItem | Represents a single line item within an Order, capturing the product, quantity, and price at the time of purchase. |
ProblemDetails | A machine-readable error response body following the RFC 9457 (Problem Details for HTTP APIs) specification, providing a standardized structure that clients can parse without knowledge of the specific API. |
ProductDto | A data transfer object for product information, annotated with System.Text.Json serialization attributes to control wire format. |
RateLimitOptions | Configuration options for API rate limiting. |
Result<T> | Encapsulates the outcome of a domain operation as either a success carrying a value of type T, or a failure carrying an error message. |
SoftDeletableEntity | Base class for entities that support soft deletion in addition to audit tracking. |
Records
Section titled Records| Type | Description |
|---|---|
Address | Represents a physical or mailing address, decomposed into street, city, state, postal code, and country components. |
PagedResult<T> | Represents a single page of results from a paginated query, including the items on the current page and metadata for navigating the full result set. |
ValidationError | Describes a single validation error tied to a specific input field, including a human-readable message and an optional machine-readable error code. |
Record Structs
Section titled Record Structs| Type | Description |
|---|---|
Money | Represents a monetary amount paired with an ISO 4217 currency code, ensuring that different currencies are never accidentally mixed in arithmetic. |
Structs
Section titled Structs| Type | Description |
|---|---|
DateRange | Represents an inclusive date range defined by a start and end boundary, with helpers for containment checks, overlap detection, and duration calculation. |
Interfaces
Section titled Interfaces| Type | Description |
|---|---|
ICustomerService | Defines the contract for managing customer lifecycle operations including creation, retrieval, search, update, and deactivation. |
IOrderNotificationService | A service that publishes notifications for key order lifecycle events. |
IRepository<TEntity> | Defines a generic repository contract for performing CRUD and query operations against a persistent store of TEntity objects. |
Enums
Section titled Enums| Type | Description |
|---|---|
ContactMethod | Specifies the preferred communication channel for contacting a customer. |
FeatureFlags | Feature flags that can be independently enabled for the application. |
OrderStatus | Defines the lifecycle states an Order progresses through from initial placement to final fulfilment or cancellation. |