namespace SIGCM2.Domain.Exceptions; /// /// Thrown when no ProductPrice row covers the requested date for the given product. → HTTP 404 /// Consumers of IProductPricingService may throw this when GetPriceAtAsync returns null. /// public sealed class ProductSinPrecioActivoException : DomainException { public int ProductId { get; } public DateOnly Date { get; } public ProductSinPrecioActivoException(int productId, DateOnly date) : base($"No existe precio registrado para el producto {productId} aplicable a la fecha {date:yyyy-MM-dd}.") { ProductId = productId; Date = date; } }