using Connected.Data;
namespace Connected.Common.Types.TaxRates;
///
/// Represents an entity which contains information about tax rate.
///
///
/// Every Tax system has one or more tax rates, for example one tax rate is for
/// products and the other is for servies. This entity enables the environment
/// to manage different tax rates.
///
public interface ITaxRate : IPrimaryKey
{
///
/// The name of the tax rate.
///
///
/// Define this value as descriptive as possible so users can
/// quickly recognize whyt kind of tax rate defines each record.
///
string? Name { get; init; }
///
/// The rate or value of the tax rate. Should be a positive number.
///
///
/// Avoid updating this value. Create a new entity instead
/// and disable the previous entity by setting its value to .
///
float Rate { get; init; }
///
/// The status of tax rate. Tax rates that are not used in the environment should be marked
/// as so users can use only valid records.
///
Status Status { get; init; }
}