Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
setTotalPrice example
'document_' . self::TYPE,
$context
,
$order
->
getSalesChannelId
(
)
,
$operation
->
isPreview
(
)
)
;
}
private
function
calculatePrice
(
OrderLineItemCollection
$creditItems
, OrderEntity
$order
)
: CartPrice
{
foreach
(
$creditItems
as
$creditItem
)
{
$creditItem
->
setUnitPrice
(
$creditItem
->
getUnitPrice
(
)
!== 0.0 ? -
$creditItem
->
getUnitPrice
(
)
: 0.0
)
;
$creditItem
->
setTotalPrice
(
$creditItem
->
getTotalPrice
(
)
!== 0.0 ? -
$creditItem
->
getTotalPrice
(
)
: 0.0
)
;
}
$creditItemsCalculatedPrice
=
$creditItems
->
getPrices
(
)
->
sum
(
)
;
$totalPrice
=
$creditItemsCalculatedPrice
->
getTotalPrice
(
)
;
$taxAmount
=
$creditItemsCalculatedPrice
->
getCalculatedTaxes
(
)
->
getAmount
(
)
;
$taxes
=
$creditItemsCalculatedPrice
->
getCalculatedTaxes
(
)
;
foreach
(
$taxes
as
$tax
)
{
$tax
->
setTax
(
$tax
->
getTax
(
)
!== 0.0 ? -
$tax
->
getTax
(
)
: 0.0
)
;
}
throw
new
InvalidOrderException
(
$orderId
)
;
}
return
$order
;
}
private
function
handlePrices
(
OrderEntity
$order
)
: OrderEntity
{
foreach
(
$order
->
getLineItems
(
)
??
[
]
as
$lineItem
)
{
$lineItem
->
setUnitPrice
(
$lineItem
->
getUnitPrice
(
)
/ -1
)
;
$lineItem
->
setTotalPrice
(
$lineItem
->
getTotalPrice
(
)
/ -1
)
;
}
foreach
(
$order
->
getPrice
(
)
->
getCalculatedTaxes
(
)
->
sortByTax
(
)
->
getElements
(
)
as
$tax
)
{
$tax
->
setTax
(
$tax
->
getTax
(
)
/ -1
)
;
}
$order
->
setShippingTotal
(
$order
->
getShippingTotal
(
)
/ -1
)
;
$order
->
setAmountNet
(
$order
->
getAmountNet
(
)
/ -1
)
;
$order
->
setAmountTotal
(
$order
->
getAmountTotal
(
)
/ -1
)
;
return
$order
;
}