OElite.Services.Platform 5.0.9-develop.8629
OElite.Services.Platform
Platform business logic services: auth, customer, merchant, order, payment, inventory, role, settings, tenant, and omni-channel operations.
Overview
OElite.Services.Platform provides the business logic service layer for the OElite eCommerce Platform. Every service implements IOEliteService and is auto-discovered and registered through OElite.Common.Hosting's AddOEliteDependencyInjections() extension.
This package is the heart of the Platform's business operations: it orchestrates data access (via OElite.Data.Platform), applies business rules, manages caching, and emits audit events. Nexus (the core API server) is the primary consumer.
Features
🔐 Auth & Identity
AuthService: Authentication, token issuance, refresh, and revocationRoleService/PermissionService: RBAC and permission catalog managementIPasswordHasher: Argon2id password hashing
🏪 Commerce Operations
CustomerService: Customer CRUD, search, multi-tenant isolationMerchantService: Merchant onboarding, settings, configurationProductService/CategoryService/CampaignService: Catalog managementOrderService: Order lifecycle (create, cancel, fulfill, refund)PaymentService: Payment processing and webhook handlingFinanceService: Invoices, expenses, payment tracking
📦 Inventory & Operations
InventoryService: Stock adjustments, reservations, low-stock alertsDashboardService: Aggregated analytics and KPIs
🏢 Multi-tenant
TenantService: Tenant context resolution and configurationSettingService: Per-tenant configuration overrides- All services enforce tenant isolation via
RequestContext
🌐 OmniChannel
SalesChannelStockAllocationService: Multi-channel stock allocationShippingProviderService/MerchantShippingProviderService: Shipping integrationOeSterlingAccountService/OeSterlingUsageEventService: Loyalty points accountingEnhancedSalesChannelService: Channel management and synchronization
🔔 Auxiliary
NotificationService: Email, push, and in-app notification dispatchPasswordHasher: Argon2id implementation
Quick Start
1. Installation
dotnet add package OElite.Services.Platform
2. Inject a Service
using OElite.Services.Platform.Biz.Customers;
public class MyController
{
private readonly CustomerService _customers;
public MyController(CustomerService customers)
{
_customers = customers;
}
public async Task<IActionResult> GetById(string id)
{
var customer = await _customers.GetByIdAsync(id);
return customer is null ? NotFound() : Ok(customer);
}
}
Services are auto-registered via OElite's AddOEliteDependencyInjections() — no manual services.AddScoped<CustomerService>() required.
Dependencies
- OElite.Services (core service patterns)
- OElite.Data.Platform (repositories)
- OElite.Common.Platform (entities and DTOs)
- OElite.Common.Hosting.AspNetCore (DI integration)
- OElite.Restme.Hosting 2.x, OElite.Restme.MongoDb 2.x, OElite.Restme.RateLimiting 2.x
Related Packages
- OElite.Common.Hosting.AspNetCore - DI auto-discovery entry point
- OElite.Servers.Nexus - Reference implementation using all these services
License
Copyright (c) Phanes. All rights reserved.
No packages depend on OElite.Services.Platform.
.NET 10.0
- OElite.Common.Hosting.AspNetCore (>= 5.0.9-develop.8629)
- OElite.Common.Platform (>= 5.0.9-develop.8629)
- OElite.Data.Platform (>= 5.0.9-develop.8629)
- OElite.Services (>= 5.0.9-develop.8629)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.3.11)
- Microsoft.Extensions.Caching.Memory (>= 10.0.0)
- Microsoft.IdentityModel.Tokens (>= 8.9.0)
- System.IdentityModel.Tokens.Jwt (>= 8.9.0)