namespace After; /// /// The result of discounting an : a separate domain type, /// not a modified order. The discount is derived data — computed on demand, /// correlated to its order by . What a caller does with /// it (and what of it ever reaches or /// ) is deliberately left to the caller. /// public sealed record DiscountedOrder { /// Primary key of the discounted . public Guid OrderId { get; init; } /// The order's total in cents, as read from it (the untouched input). public int TotalInCents { get; init; } /// /// The percentage actually applied, as an integer percent. 0 when the /// order did not pass the discount barrier. /// public int DiscountPercentage { get; init; } /// The total after the discount, in cents. public int DiscountedTotalInCents { get; init; } }