AugusteVN.Modules.Commerce.Domain
1.0.2
See the version list below for details.
dotnet add package AugusteVN.Modules.Commerce.Domain --version 1.0.2
NuGet\Install-Package AugusteVN.Modules.Commerce.Domain -Version 1.0.2
<PackageReference Include="AugusteVN.Modules.Commerce.Domain" Version="1.0.2" />
<PackageVersion Include="AugusteVN.Modules.Commerce.Domain" Version="1.0.2" />
<PackageReference Include="AugusteVN.Modules.Commerce.Domain" />
paket add AugusteVN.Modules.Commerce.Domain --version 1.0.2
#r "nuget: AugusteVN.Modules.Commerce.Domain, 1.0.2"
#:package AugusteVN.Modules.Commerce.Domain@1.0.2
#addin nuget:?package=AugusteVN.Modules.Commerce.Domain&version=1.0.2
#tool nuget:?package=AugusteVN.Modules.Commerce.Domain&version=1.0.2
AugusteVN.Modules.Commerce.Domain
Domain entities and provider-agnostic interfaces for commerce — defines the ICommerceDbContext contract and all entity types used by both the EfCore and MongoDB persistence layers.
Entities
Product (extends AuditableEntity)
| Property | Type | Description |
|---|---|---|
Id |
Guid |
Primary key (inherited from Entity) |
Title |
string |
Display title |
CoverPhotoUrl |
string |
Cover image URL |
BodyAsMarkdown |
string |
Description in Markdown |
BodyAsHtml |
string |
Description in HTML |
Slug |
string |
URL-friendly slug |
IsAvailable |
bool |
Available for purchase |
AmountInStock |
int |
Stock quantity |
IsPinned |
bool |
Pinned to top of listings |
Price |
double |
Regular price |
Discounted |
Discounted |
Owned type: discounted price and expiration |
IsDigital |
bool |
Digital product flag |
IsLeadMagnet |
bool |
Free lead magnet flag |
Downloadable |
DownloadableEntity? |
Associated file download |
Discounted (owned type)
| Property | Type | Description |
|---|---|---|
Price |
double |
Discounted price |
ExpiresAt |
DateTime? |
Discount expiration date |
ShopOrder (extends TrackingBaseEntity)
| Property | Type | Default | Description |
|---|---|---|---|
Id |
Guid |
— | Primary key |
Email |
string |
— | Customer email |
Address |
string? |
— | Shipping address |
Products |
List<ShopOrderProduct> |
— | Navigation: line items |
PaymentRefId |
Guid? |
— | Payment reference |
Status |
string |
ShopOrderStatuses.Pending |
Order lifecycle status |
TotalPrice |
double? |
— | Calculated total |
ShopOrderProduct (extends AuditableEntity)
| Property | Type | Description |
|---|---|---|
Id |
Guid |
Primary key |
Quantity |
int |
Ordered quantity |
ProductId |
Guid |
Foreign key to Product |
Product |
Product |
Navigation: product |
Title |
string |
Product title snapshot |
ShopOrderId |
Guid |
Foreign key to ShopOrder |
ShopOrder |
ShopOrder |
Navigation: parent order |
Interface
ICommerceDbContext
public interface ICommerceDbContext
{
IGenericRepository<Product> Products { get; }
IGenericRepository<ShopOrder> ShopOrders { get; }
IGenericRepository<ShopOrderProduct> ShopOrderProducts { get; }
IGenericRepository<AttachmentEntity> ProductAttachments { get; }
Task<int> SaveChangesAsync(CancellationToken cancellationToken = default);
}
Provider-agnostic contract implemented by both CommerceEfCoreDbContext and CommerceMongoDbContext.
Dependencies
AugusteVN._Shared.ContractsAugusteVN.Database.EntitiesAugusteVN.Modules.Commerce._Shared
Installation
dotnet add package AugusteVN.Modules.Commerce.Domain
Full Documentation
See the Commerce Module README for complete documentation.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- AugusteVN._Shared.Contracts (>= 1.1.0)
- AugusteVN.Database.Entities (>= 1.1.4)
- AugusteVN.Modules.Commerce._Shared (>= 1.0.2)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on AugusteVN.Modules.Commerce.Domain:
| Package | Downloads |
|---|---|
|
AugusteVN.Modules.Commerce.Features
CQRS handlers for product and shop order operations |
|
|
AugusteVN.Modules.Commerce.Database.EfCore
EF Core DbContext and entities for products and orders |
|
|
AugusteVN.Modules.Commerce.Database.Mongo
MongoDB persistence layer for commerce |
GitHub repositories
This package is not used by any popular GitHub repositories.