GetVatSum
Определение
- Пространство имён
- Resto.Front.PrintTemplates.Cheques.Razor
Вычисляет НДС, уже включённый в полную сумму.
decimal TemplateBaseCore<T>.GetVatSum(decimal fullSum, decimal vatPercent)
- Возвращает
decimal- Допустимость null
- Не null
- Объявлено в
- Resto.Front.PrintTemplates.Cheques.Razor.TemplateBaseCore<T>
- Назначение модели
- Базовый класс шаблонов печати RazorEngineCore. Model содержит данные документа типа T. Предоставляет методы форматирования и вывода разметки.
Параметры
decimal fullSum- Полная сумма с включённым НДС.
decimal vatPercent- Ставка НДС в процентных пунктах, например 20 для 20%.
Возвращаемое значение
fullSum минус сумма без НДС, округлённая до дробной точности текущей валюты; ноль, если любой аргумент равен нулю.
Особенности поведения
Сумма без НДС вычисляется как fullSum / (1 + vatPercent / 100). Она округляется до точности валюты, середины от нуля, без минимального номинала. Полученный НДС повторно не округляется. Метод выполняет арифметику и не проверяет допустимость налоговой ставки.
Исключения
System.InvalidOperationException- Поставщик валюты движка не инициализирован.
System.Collections.Generic.KeyNotFoundException- ISO-код текущей валюты отсутствует в каталоге движка.
System.DivideByZeroException- vatPercent равен -100, а fullSum не равен нулю.
System.OverflowException- Промежуточное вычисление выходит за диапазон Decimal.
Пример
// Точность текущей валюты: 2 GetVatSum(120m, 20m); // 20m