## GetCartPricing
<table class="TableStyle-Borders" style="margin-left: 0; margin-right: auto; width: 100%;" data-cellspacing="0"> <colgroup> <col style="width: 33%" /> <col style="width: 33%" /> <col style="width: 33%" /> </colgroup> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Pipe</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">100</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">CalculateOrderLines</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>If the CalculateOrderLines property on the parameter object is true or the Cart LastPricingOn is null, gets all CartLines that are:</p> <ul> <li>not awaiting approval and UpdatePricingOnApproval is false</li> <li>not promotional items</li> <li>configured and not in quote proposed status</li> <li>quote required and not in quote proposed status</li> </ul> <p>Calls IPricingPipeline.GetProductPricing setting the OrderLine of the parameter to get the pricing of the CartLines.</p></td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">150</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">CalculateCartRealTimePricing</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">If IPricingService is RealTime and the CalculateOrderLines property on the parameter object is true, calls IRealTimePricingService.GetPricing and sets the CartLine pricing equal to the result from the call.</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">200</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">CalculateShipping</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">If the user is signed in or a remembered user and theCalculateShipping property on the parameter object is true, callsICartPipeline.CalculateHandling andIShippingEngine.ProcessShipping on the Cart. If this changes the Cart ShipVia, it setsCart.RecalculatePromotions andCart.RecalculateTax to true.</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">300</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">CalculatePromotions</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">If the Cart Type is not Quote and the Cart Type is not Job, callsIPromotionEngine.ApplyPromotion on the Cart.</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">400</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">CalculateTaxes</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">If the user is signed in or a remembered user that has set their address and theCalculateTaxes property on the parameter object is true, callsITaxEngine.CalculateTax on the Cart.</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">CalculateOrderTotal</td> <td class="TableStyle-Borders-BodyA-Regular-Row1">If theCalculateOrderTotal property on the parameter object is true and there are CartLines, calculates the order total and setsCart.OrderTotal and setsCart.LastPricingOn to the current date time.</td> </tr> </tbody> </table>
## GetProductPricing
Order | Pipe | Description |
100 | CalculatePrice | For eachPricingServiceParameter in the parameter, callsIPricingService.CalculatePrice and add the result to the resultProductPriceDtos collection. |
150 | CalculateProductRealTimePricing | If IPricingService is RealTime and parameter PerformRealTimePricing is true, calls IRealTimePricingService.GetPricing and sets result ProductPriceDtos equal to the result from the call. |