Как распространить конфигурацию округления в настройках магазина Kentico для пользовательских расчетов? - PullRequest
1 голос
/ 01 марта 2020

Я разрабатываю коммерческий сайт в Kentico 11 CMS, и в дополнение к цене продукта необходимо рассчитать стоимость страховки на основе ввода пользователя.

Kentico позволяет настроить параметр округления цены в Приложение для настройки магазина -> Настройки магазина -> вкладка «Общие» , и я хотел бы также использовать его для своих пользовательских вычислений, чтобы моя индивидуальная функция округляла результат в соответствии с количеством десятичных знаков в соответствии с настройкой глобального хранилища .

Согласно документации Kentico вы можете настроить глобальное округление, создав класс Service, реализующий интерфейс IRoundingService с методом Round() в соответствии с вашими конкретными требованиями c и Класс SeviceFactory, реализующий интерфейс IRoundingServiceFactory с методом GetRoundingService(). В идеале я бы хотел этого избежать, так как я доволен стандартной опцией округления financial в Кентико и просто хочу применить ее к моей пользовательской функциональности для согласованности.

1 Ответ

3 голосов
/ 01 марта 2020

Вы можете получить сервис округления для сайта контекста следующим образом:

using CMS.Core;
using CMS.Ecommerce;
using CMS.SiteProvider;
IRoundingService roundingService = Service.Resolve<IRoundingServiceFactory().GetRoundingService(SiteContext.CurrentSiteID);

Затем вызвать метод округления как roundingService.Round(insurance, currency), передав ему десятичное значение и текущую валюту.

Текущая валюта вы можете получить, как показано ниже:

CurrencyInfo currencyInfo = ECommerceContext.CurrentCurrency;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...