namespace Distribution.Features.StockReport; public static class StockStatus { public const string Ok = "OK"; public const string Low = "Low"; public const string Out = "Out"; } public record StockReportFilter( Guid? LocationId, Guid? CategoryId, Guid? BrandId, string? Search, DateTime From, DateTime To, string? Status, bool ActiveOnly); public record StockOverview( int TotalSkus, decimal TotalQty, decimal TotalValue, int LowStockCount, int OutOfStockCount, int ExpiringSoonCount, int ExpiredCount); public record StockLedgerRow( Guid ItemId, string Sku, string Name, string? Brand, string Category, string Uom, decimal OpeningQty, decimal QtyIn, decimal QtyOut, decimal ClosingQty, decimal CurrentQty, decimal? CostPrice, decimal StockValue, decimal? ReorderLevel, string Status); public record StockExpiryRow( Guid ItemId, string Sku, string Name, Guid BatchId, string? BatchNumber, DateTime ExpiryDate, int DaysLeft, decimal Quantity, decimal? CostPrice, decimal Value, Guid LocationId, string LocationType, string LocationName);