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; }
}