Ustin.Finance.Sales.Common
1.0.0
dotnet add package Ustin.Finance.Sales.Common --version 1.0.0
NuGet\Install-Package Ustin.Finance.Sales.Common -Version 1.0.0
<PackageReference Include="Ustin.Finance.Sales.Common" Version="1.0.0" />
<PackageVersion Include="Ustin.Finance.Sales.Common" Version="1.0.0" />
<PackageReference Include="Ustin.Finance.Sales.Common" />
paket add Ustin.Finance.Sales.Common --version 1.0.0
#r "nuget: Ustin.Finance.Sales.Common, 1.0.0"
#:package Ustin.Finance.Sales.Common@1.0.0
#addin nuget:?package=Ustin.Finance.Sales.Common&version=1.0.0
#tool nuget:?package=Ustin.Finance.Sales.Common&version=1.0.0
Ustin.Finance.Sales.Common
Dependency-free contracts for sales / retail analytics. Implement them on your own
entities — no base class, no attributes — and feed them to
Ustin.Finance.Sales.Analytics.
Targets netstandard2.1 and net10.0, with zero package dependencies.
What's in the box
| Type | Purpose |
|---|---|
ISellable |
Marker: something sold at line level, identified by Sku. |
ISellableProduct |
ISellable + optional Name, CategoryPath, BrandRef, UnitPrice, UnitCost. |
ISalesTransaction / ISalesLine |
A basket / receipt and its lines. |
ITransactionSource |
The one port the engine consumes: IAsyncEnumerable<ISalesTransaction> for a DateRange. |
IProductCatalog |
Optional SKU → product lookup for category / margin-aware analyses. |
Model.* |
Plain SellableProduct / SalesLine / SalesTransaction records + InMemoryTransactionSource for tests and small jobs. |
Primitives.DateRange |
Inclusive-start, exclusive-end instant range. |
public sealed class OrderSource(MyDbContext db) : ITransactionSource
{
public async IAsyncEnumerable<ISalesTransaction> GetAsync(
DateRange window, [EnumeratorCancellation] CancellationToken ct = default)
{
await foreach (var order in db.Orders
.Where(o => o.PlacedAt >= window.Start && o.PlacedAt < window.End)
.AsAsyncEnumerable().WithCancellation(ct))
{
yield return new SalesTransaction(
order.Id.ToString(),
order.PlacedAt,
order.Lines.Select(l => (ISalesLine)new SalesLine(l.Sku, l.Qty, l.Net)).ToList(),
CustomerRef: order.CustomerId.ToString());
}
}
}
See the project README / ROADMAP for the full design.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
net10.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Ustin.Finance.Sales.Common:
| Package | Downloads |
|---|---|
|
Ustin.Finance.Sales.Analytics
Default market-basket / affinity analytics for Ustin.Finance.Sales.Common: frequent-itemset mining (FP-Growth, Apriori), association rules with a full interestingness-measure library, and non-obvious co-occurrence detection with statistical significance. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 106 | 8/31/2026 |