Mango.Nop.Libraries/README.md

32 lines
1.6 KiB
Markdown

# Mango.Nop Libraries
> For library domain rules see: `.github/copilot-instructions.md`
> For detailed docs see: `docs/`
Shared nopCommerce extension libraries providing domain entities, DTOs, data access, and service base classes. All target **net9.0** (nopCommerce 4.80.9 requirement).
## Projects
| Project | Purpose | Key Types |
|---|---|---|
| [Mango.Nop.Core](Mango.Nop.Core/README.md) | Domain entities, DTOs, interfaces, nopCommerce entity mirrors | `MgOrderDto`, `MgProductDto`, `MgEntityBase`, `GenericAttribute`, `BaseEntity` |
| [Mango.Nop.Data](Mango.Nop.Data/README.md) | Data access layer — repository base classes, DB context | `MgDalBase`, `MgDbContextBase`, `MgDbTableBase`, `MgDtoDbTableBase` |
| [Mango.Nop.Services](Mango.Nop.Services/README.md) | Service base classes — background services, session, events, locking | `MgBackgroundServiceBase`, `MgSessionServiceBase`, `MgEventConsumerBase`, `NopLogWriter` |
## Dependency Graph
```
AyCode.Core (net9.0, DLL references: AyCode.Interfaces, AyCode.Entities, AyCode.Core, AyCode.Utils, + .Server variants)
Mango.Nop.Core (net9.0, no nopCommerce dependency)
Mango.Nop.Data (net9.0) → references Nop.Core, Nop.Data
Mango.Nop.Services (net9.0) → references Nop.Core, Nop.Data, Nop.Services, Nop.Web.Framework
```
## Reference Modes
- **Full stack** (ProjectReference, all 3 libraries) — for nopCommerce plugins that need entity access, data layer, and services.
- **Types only** (DLL reference, `Mango.Nop.Core` only) — for projects that only need DTOs, entities, and interfaces without the nopCommerce runtime dependency.