39 lines
1.8 KiB
C#
39 lines
1.8 KiB
C#
namespace Distribution.Features.DashboardReport;
|
|
|
|
public record DashboardFilter(DateTime From, DateTime To, Guid? RegionId, Guid? CategoryId, Guid? WarehouseId);
|
|
|
|
public record SalesTotals(decimal GrossSales, decimal ReturnValue, decimal Discounts, int Orders, decimal CostedSales, decimal CostOfSales);
|
|
|
|
public record SalesKpis(
|
|
decimal GrossSales, decimal ReturnValue, decimal Discounts, decimal NetSales, int Orders, decimal AverageOrderValue,
|
|
decimal GrossProfit, decimal? GrossProfitMarginPercent);
|
|
|
|
public record SalesKpiComparison(SalesKpis Current, SalesKpis Previous, DateTime PreviousFrom, DateTime PreviousTo);
|
|
|
|
public record ReceivablesTotals(decimal Collected, decimal Outstanding, decimal Overdue);
|
|
|
|
public record CashKpis(decimal Collected, decimal Outstanding, decimal Overdue, decimal? CollectionRatePercent);
|
|
|
|
public record CashKpiComparison(CashKpis Current, CashKpis Previous);
|
|
|
|
public record TrendPoint(string Period, decimal Sales, decimal Returns);
|
|
|
|
public record NamedAmount(Guid? Id, string Name, decimal Amount);
|
|
|
|
public record SalesSummaryResponse(
|
|
DateTime From, DateTime To, string Granularity,
|
|
SalesKpiComparison Kpis, CashKpiComparison Cash, List<TrendPoint> Trend,
|
|
List<NamedAmount> ByCategory, List<NamedAmount> ByRegion, List<NamedAmount> ByRep);
|
|
|
|
public record PeriodAmount(DateTime Date, decimal Amount);
|
|
|
|
public record MovementPoint(string Period, decimal Received, decimal Issued, decimal Net);
|
|
|
|
public record WarehouseStockRow(Guid WarehouseId, string Name, decimal Quantity, decimal Value);
|
|
|
|
public record CategoryValueRow(string Category, decimal Quantity, decimal Value);
|
|
|
|
public record InventorySummaryResponse(
|
|
DateTime From, DateTime To, string Granularity,
|
|
List<CategoryValueRow> ValueByCategory, List<WarehouseStockRow> ByWarehouse, List<MovementPoint> MovementTrend);
|