33 lines
1.5 KiB
C#
33 lines
1.5 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, int Orders, decimal CostedSales, decimal CostOfSales);
|
|
|
|
public record SalesKpis(
|
|
decimal GrossSales, decimal ReturnValue, decimal NetSales, int Orders, decimal AverageOrderValue,
|
|
decimal GrossProfit, decimal? GrossProfitMarginPercent);
|
|
|
|
public record SalesKpiComparison(SalesKpis Current, SalesKpis Previous, DateTime PreviousFrom, DateTime PreviousTo);
|
|
|
|
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, 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);
|