public ProductVatConfigurationPartDriver( IVatConfigurationService vatConfigurationService, IVatConfigurationProvider vatConfigurationProvider, IProductPriceService productPriceService) { _vatConfigurationService = vatConfigurationService; _vatConfigurationProvider = vatConfigurationProvider; _productPriceService = productPriceService; }
public ProductPriceEditorViewModel( ProductVatConfigurationPart vatPart, IShippingMethod shipping, IVatConfigurationService vatConfigurationService) : this(vatPart) { // There are two different cases here: FlexibleShippingMethodPart or the others HasDiscount = false; var rate = vatConfigurationService.GetRate(vatPart.VatConfigurationPart ?? vatConfigurationService.GetDefaultCategory()); if (shipping is FlexibleShippingMethodPart) { ShowShape = true; var flexible = shipping as FlexibleShippingMethodPart; BasePrice = flexible.DefaultPrice; BaseTaxedPrice = Math.Round(flexible.DefaultPrice * (1.0m + rate), 2); OriginalPriceId = "FlexibleShippingMethodPart_DefaultPrice"; } // NOTE: VAT configuration currently only works properly and is tested // for FlexibleShippingMethodPart. Other IShippingMethod implementations // likely don't work with it. }