Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

28 lines
804B

  1. <?php
  2. namespace common\logic\Order\ProductOrder;
  3. use common\helpers\Price;
  4. use common\logic\BaseService;
  5. use common\logic\Order\Order\Order;
  6. use common\logic\SolverInterface;
  7. class ProductOrderSolver extends BaseService implements SolverInterface
  8. {
  9. /**
  10. * Retourne le prix du produit avec taxe
  11. */
  12. public function getPriceWithTax(ProductOrder $productOrder): float
  13. {
  14. return Price::getPriceWithTax($productOrder->price, $productOrder->taxRate->value);
  15. }
  16. public function getPriceByTypeTotal(ProductOrder $productOrder, string $typeTotal = Order::AMOUNT_TOTAL): float
  17. {
  18. if ($typeTotal == Order::INVOICE_AMOUNT_TOTAL && $productOrder->invoice_price) {
  19. return $productOrder->invoice_price;
  20. }
  21. return $productOrder->price;
  22. }
  23. }