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 Trend, List ByCategory, List ByRegion, List 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 ValueByCategory, List ByWarehouse, List MovementTrend);