class ProductDiscountHelper

Class TotalProductDiscountHelper

Properties

protected ProductSettingsManager $productSettingsManager
protected ProductGroupManager $productGroupManager
protected User|null $user
protected array $currentPricelist
protected array $preparedProductGroups
protected array $cachedProductGroups

Methods

__construct(ProductSettingsManager $productSettingsManager, ProductGroupManager $productGroupManager, TokenStorage $tokenStorage, PricelistManager $pricelistManager)

ProductDiscountHelper constructor.

array|null
getCurrentPricelist()

Find user price list if logged or default

int|null
getCurrentPricelistId()

Find current price list id

array
getTotalGroupDiscount(int $productId, int $quantity = 1)

Calculate total group discount

prepareProductGroups()

Cache product groups per request

array
getPreparedProductGroups()

Find cached prepared product groups

array
getCachedProductGroups()

Find cached product groups

int
getTotalPricelistDiscount(array $productPricelistItemsArray, int $quantity = 1)

Calculate total price list discount

float
getFinalPrice(float $price, float $pricelistDiscount, float $groupDiscountTotal, float $groupDiscountFixedTotal)

Calculate final price with all discounts

Details

at line 53
__construct(ProductSettingsManager $productSettingsManager, ProductGroupManager $productGroupManager, TokenStorage $tokenStorage, PricelistManager $pricelistManager)

ProductDiscountHelper constructor.

Parameters

ProductSettingsManager $productSettingsManager
ProductGroupManager $productGroupManager
TokenStorage $tokenStorage
PricelistManager $pricelistManager

at line 65
array|null getCurrentPricelist()

Find user price list if logged or default

Return Value

array|null

at line 94
int|null getCurrentPricelistId()

Find current price list id

Return Value

int|null

at line 108
array getTotalGroupDiscount(int $productId, int $quantity = 1)

Calculate total group discount

Parameters

int $productId
int $quantity

Return Value

array

at line 168
prepareProductGroups()

Cache product groups per request

See also

ProductGroup

at line 217
array getPreparedProductGroups()

Find cached prepared product groups

Return Value

array

See also

ProductGroup

at line 228
array getCachedProductGroups()

Find cached product groups

Return Value

array

See also

ProductGroup

at line 241
int getTotalPricelistDiscount(array $productPricelistItemsArray, int $quantity = 1)

Calculate total price list discount

Parameters

array $productPricelistItemsArray
int $quantity

Return Value

int

at line 304
float getFinalPrice(float $price, float $pricelistDiscount, float $groupDiscountTotal, float $groupDiscountFixedTotal)

Calculate final price with all discounts

Parameters

float $price
float $pricelistDiscount
float $groupDiscountTotal
float $groupDiscountFixedTotal

Return Value

float