c# wpf document viewer pdf : Cut pages out of pdf software application cloud windows winforms html class ATGCommProgGuide19-part1930

ATG  C om mer ce P ro g ramm in g   Gui d e 
17 3  
11  -  C o m merce  P rici n g  C al cu lat o rs  
μ
defaultBandingProperty = "OrderPriceInfo.amount" 
The 
defaultBandingProperty
provides access to the price for the calculator to process. 
The calculator’s 
bandedDiscountCalculatorHelper
points to a helper class, 
BandedDiscountCalculatorHelper
, that holds the banded discount logic. See the 
BandedDiscountCalculatorHelper section for information. 
OrderSubtotalCalculator 
The 
atg.commerce.pricing.OrderSubtotalCalculator
class computes the 
rawSubtotal
and 
amount
of an 
OrderPriceInfo
that corresponds to the input order. Unlike in the case of discount 
calculators, there is no rule that determines whether the subtotal should be calculated. The order’s 
subtotal is always calculated by summing the prices of the items in the order. If a pricing model is passed 
in, it is ignored. 
ShippingCalculatorImpl 
The 
atg.commerce.pricing.ShippingCalculatorImpl
class is an abstract class that acts as a starting 
point for general price calculation in shipping groups. The implementation of 
priceShippingGroup
checks that there are items in the shipping group. If there are no items, the price quote is reset to zero. If 
there are items to price for shipping, the 
performPricing
method confirms that the items in the group 
should be priced. For example, soft goods, such as gift certificates, should not be priced for shipping. 
When extending this class, implement the 
getAmount
method as the base shipping cost in this calculator. 
The amount returned is set into the 
ShippingPriceInfo
. If the 
addAmount
property is 
true
, the amount 
returned is added to the current 
ShippingPriceInfo
amount. This behavior allows for the addition of 
surcharges. 
Set the 
shippingMethod
property to the name of a particular delivery process that your sites offer, for 
example ground, 2-day or next day. If the 
ignoreShippingMethod
property is 
true
, then the calculator 
does not expose a shipping method name (through 
getAvailableMethods
). In addition, this calculator 
always attempts to perform pricing. This option is useful for situations in which you do not want to give 
customers a choice of different shipping methods. 
ShippingDiscountCalculator 
The 
atg.commerce.pricing.ShippingDiscountCalculator
class calculates 
ShippingPriceInfos
for specified 
ShippingGroups
. This calculator receives a 
MatchingObject
and 
DiscountStructure
from the pricing engine, then computes a 
ShippingPriceInfo
based on the input 
PricingModel
(
RepositoryItem
). 
See the ATG API Reference for detailed information on 
ShippingDiscountCalculator
and its related 
classes. 
The 
ShippingDiscountCalculator
component is a preconfigured instance of the class 
atg.commerce.pricing.ShippingDiscountCalculator
. It is the default discount calculator for 
shipping promotions. 
Cut pages out of pdf - software application cloud:C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use C# Code to Extract PDF Pages, Copy Pages from One PDF File and Paste into Others
www.rasteredge.com
Cut pages out of pdf - software application cloud:VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
17 4  
11  -  C om merce  P ri cin g   Ca lcu l at ors  
The following table describes the properties of the 
ShippingDiscountCalculator
component. 
Property 
Description 
pricingModelProperties 
Specifies a bean that hosts the names of all of the properties of a 
pricing model repository item. 
qualifierService 
Specifies a Qualifier that performs the actual evaluation of a 
pmdlRule
of the 
PricingModel
against the running environment. 
negativeAmountException 
Determines what happens when discounts cause the amount of an 
item to be negative. 
True:
Throw an exception when a discount causes an amount to be 
negative. 
False:
(default) Log a warning message and set the amount to 0.0 
when a discount causes an amount to be negative. 
You can view and modify the 
ShippingDiscountCalculator
component in the ATG Control Center. 
The component is located in 
/atg/commerce/pricing/calculators/ShippingDiscountCalculator
BulkShippingDiscountCalculator 
The 
atg.commerce.pricing.BulkShippingDiscountCalculator
class is a calculator that supports 
bulk item discounts. This class is based on the 
ShippingDiscountCalculator
. The unique behavior of 
BulkShippingDiscountCalculator
is to determine the adjuster for the discount; other functionality is 
inherited. 
The calculator has a default property for banding attributes, in case those are not provided in the PMDL: 
defaultBandingProperty = "OrderPriceInfo.amount" 
The 
defaultBandingProperty
provides access to the shipping price for the calculator to process. 
The calculator’s 
bandedDiscountCalculatorHelper
method points to a helper class, 
BandedDiscountCalculatorHelper
, that holds the banded discount logic. See 
BandedDiscountCalculatorHelper in this chapter. 
PriceRangeShippingCalculator 
The 
atg.commerce.pricing.PriceRangeShippingCalculator
class determines the shipping price 
based on the subtotal of all the items in the shipping group. The service is configured through the 
ranges
property. With the given array of price range configurations (format: 
low:high:price
) the 
service parses the values into their double format for calculating shipping costs. For example: 
software application cloud:VB.NET Image: Image Cropping SDK to Cut Out Image, Picture and
VB.NET Image Cropper Control SDK to Cut Out Part of Image. Do you need to cut out certain unwanted part from one image file by VB.NET code?
www.rasteredge.com
software application cloud:C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Image: Copy, Paste, Cut Image in Page. Link: Edit URL. Bookmark can view PDF document in single page or continue pages. Support to zoom in and zoom out PDF page.
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
17 5  
11  -  C o m merce  P rici n g  C al cu lat o rs  
ranges=00.00:15.99:4.50,\ 
16.00:30.99:6.00,\ 
31.00:40.99:7.25,\ 
41.00:MAX_VALUE:10.00 
Note: The keyword 
MAX_VALUE
indicates the maximum possible value in the range. 
The 
PriceRangeShippingCalculator
also contains the following properties: 
addAmount
: If the property 
addAmount
is 
true
, instead of setting the price quote 
amount to the value of the amount property, the calculator adds the amount to the 
current amount in the price quote. This can be used to configure a “surcharge” 
calculator, which increases the shipping price. 
shippingMethod
: The 
shippingMethod
property is set to the name of a particular 
delivery process. For example: UPS Ground, UPS 2-day or UPS Next Day. 
ignoreShippingMethod
: Setting the 
ignoreShippingMethod
property to 
true
prevents this calculator from exposing the shipping method name (through 
getAvailableMethods
). In addition, this calculator always attempts to perform 
pricing. This option is useful for situations in which you do not want to give customers 
a choice of different shipping methods. 
DoubleRangeShippingCalculator 
This 
atg.commerce.pricing.DoubleRangeShippingCalculator
class is an abstract shipping 
calculator that determines the shipping price by comparing a value from the 
ShippingGroup
to a series 
of ranges. The service is configured through the 
ranges
property. It is extended by the 
PriceRangeShippingCalculator
PropertyRangeShippingCalculator
, and 
WeightRangeShippngCalculator
classes. 
With the given array of price range configurations (format: 
low:high:price
), the service parses the 
values into their double format for calculating shipping costs. For example: 
ranges=00.00:15.99:4.50,\ 
16.00:30.99:6.00,\ 
31.00:40.99:7.25,\ 
41.00:MAX_VALUE:10.00 
Note: The keyword 
MAX_VALUE
indicates the maximum possible value in the range. 
The 
DoubleRangeShippingCalculator
also contains the following properties: 
addAmount
: If the property 
addAmount
is 
true
, instead of setting the price quote 
amount to the value of the 
amount
property, the calculator adds the amount to the 
current amount in the price quote. This behavior can be used to configure a 
“surcharge” calculator, which increases the shipping price. 
shippingMethod
: The 
shippingMethod
property is set to the name of a particular 
delivery process, for example ground, 2-day or next day. 
software application cloud:VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
Remove Image from PDF Page. Image: Copy, Paste, Cut Image in can view PDF document in single page or continue pages. Support to zoom in and zoom out PDF page.
www.rasteredge.com
software application cloud:VB.NET PDF Text Extract Library: extract text content from PDF
Extract highlighted text out of PDF document. Image text extraction control provides text extraction from PDF images and image files.
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
17 6  
11  -  C om merce  P ri cin g   Ca lcu l at ors  
ignoreShippingMethod
: Setting the 
ignoreShippingMethod
property to 
true
prevents this calculator from exposing the shipping method name (through 
getAvailableMethods
). In addition, this calculator always attempts to perform 
pricing. This option is useful for situations in which you do not want to give customers 
a choice of different shipping methods. 
FixedPriceShippingCalculator 
The 
atg.commerce.pricing.FixedPriceShippingCalculator
class is a shipping calculator that sets 
the shipping amount to a fixed price. 
The 
FixedPriceShippingCalculator
also contains the following properties: 
addAmount
: If the property 
addAmount
is 
true
, instead of setting the price quote 
amount to the value of the 
amount
property, the calculator adds the amount to the 
current amount in the price quote. This behavior can be used to configure a 
“surcharge” calculator, which increases the shipping price. 
shippingMethod
: The 
shippingMethod
property is set to the name of a particular 
delivery process. For example: ground, 2-day or next day. 
ignoreShippingMethod
: Setting the 
ignoreShippingMethod
property to 
true
prevents this calculator from exposing the shipping method name (through 
getAvailableMethods
). In addition, this calculator always attempts to perform 
pricing. This option is useful for situations in which you do not want to give customers 
a choice of different shipping methods. 
PropertyRangeShippingCalculator 
The 
atg.commerce.pricing.PropertyRangeShippingCalculator
class is a highly flexible shipping 
calculator that identifies an item property and adds the value provided to each item in the shipping 
group together to create a shipping group total. The total falls into one of the ranges specified in the 
ranges
property, which provides a shipping cost for each range. 
For example, all items may have a property called 
weight
that correlates to the weight of the item in 
pounds. To base shipping cost on the cumulative weight total, you set the 
PropertyRangeShippingCalculator
propertyName
property to 
weight
. If your shipping group has 
three items, each of which has a weight of 1, ATG Commerce calculates a total of three and uses the 
ranges
property to determine how much to charge. The range property takes the format of 
low:high:price and holds these options:
ranges=00.00:15.99:4.50,\ 
16.00:30.99:6.00,\ 
31.00:40.99:7.25,\ 
41.00:MAX_VALUE:10.00 
In this example, shipping charges total $4.50. Note that keyword 
MAX_VALUE
indicates the maximum 
possible value in the range. 
The 
PropertyRangeShippingCalculator
also contains the following properties: 
software application cloud:C# PDF Text Extract Library: extract text content from PDF file in
Ability to extract highlighted text out of PDF document. Please have a quick test by using the following C# example code for text extraction from all PDF pages.
www.rasteredge.com
software application cloud:C# WPF PDF Viewer SDK to view PDF document in C#.NET
Image from PDF Page. Image: Copy, Paste, Cut Image in PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET Abilities to zoom in and zoom out PDF page.
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
17 7  
11  -  C o m merce  P rici n g  C al cu lat o rs  
addAmount
: If the property 
addAmount
is 
true
, instead of setting the price quote 
amount to the value of the amount property, the calculator adds the amount to the 
current amount in the price quote. This can be used to configure a “surcharge” 
calculator, which increases the shipping price. 
shippingMethod
: The 
shippingMethod
property is set to the name of a particular 
delivery process. For example: ground, 2-day or next day. 
ignoreShippingMethod
: Setting the 
ignoreShippingMethod
property to 
true
prevents this calculator from exposing the shipping method name (through 
getAvailableMethods
). In addition, this calculator always attempts to perform 
pricing. This option is useful for situations in which you do not want to give customers 
a choice of different shipping methods. 
propertyName
: Set the 
propertyName
property to the name of the property that you 
want to add across all items. For example, “weight” would calculate the total weight of 
an order by adding together the 
weight
property values of all the items. 
useCatalogRef
: If the 
useCatalogRef
property is set to 
true
, the property value is 
extracted from the 
catalogRef
of the 
CommerceItem
(usually the SKU). If 
useCatalogRef
property is set to 
false
, the 
product
is used as the source. 
WeightRangeShippingCalculator 
The 
atg.commerce.pricing.WeightRangeShippingCalculator
class is a shipping calculator that 
determines the shipping price based on the sum of the weights of each item in a shipping group. 
The service is configured through the 
ranges
property. With the given array of price range configurations 
(format: 
low:high:price
), the service parses the values into their double format for calculating shipping 
costs. For example: 
ranges=00.00:15.99:4.50,\ 
16.00:30.99:6.00,\ 
31.00:40.99:7.25,\ 
41.00:MAX_VALUE:10.00 
Note: The keyword 
MAX_VALUE
indicates the maximum possible value in the range. 
The 
WeightRangeShippingCalculator
also contains the following properties: 
addAmount
: If the property 
addAmount
is 
true
, instead of setting the price quote 
amount to the value of the 
amount
property, the calculator adds the amount to the 
current amount in the price quote. This can be used to configure a “surcharge” 
calculator, which increases the shipping price. 
shippingMethod
: The 
shippingMethod
property is set to the name of a particular 
delivery process. For example: ground, 2-day or next day. 
ignoreShippingMethod
: Setting the 
ignoreShippingMethod
property to 
true
prevents this calculator from exposing the shipping method name (through 
getAvailableMethods
). In addition, this calculator always attempts to perform 
pricing. This option is useful for situations in which you do not want to give customers 
a choice of different shipping methods. 
software application cloud:VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
Image from PDF Page. Image: Copy, Paste, Cut Image in PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET Abilities to zoom in and zoom out PDF page.
www.rasteredge.com
software application cloud:C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#
Able to fill out all PDF form field in C#.NET. RasterEdge XDoc.PDF SDK package provides PDF field processing features for your C# project.
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
17 8  
11  -  C om merce  P ri cin g   Ca lcu l at ors  
NoTaxCalculator 
The 
atg.commerce.pricing.NoTaxCalculator
class creates a new 
TaxPriceInfo
object that 
specifies a tax price of zero for an order. 
TaxDiscountCalculator 
Use the 
atg.commerce.pricing.TaxDiscountCalculator
to calculate 
TaxPriceInfo
objects for 
Orders
. This calculator receives a 
MatchingObject
and 
DiscountStructure
from the pricing engine, 
then computes a 
TaxPriceInfo
based on the input 
PricingModel
See the ATG API Reference for detailed information on 
TaxDiscountCalculator
and its related classes. 
BulkTaxDiscountCalculator 
The 
atg.commerce.pricing.BulkTaxDiscountCalculator
class is a calculator that supports bulk 
item discounts. This class is based on the 
TaxDiscountCalculator
. The unique behavior of 
BulkTaxDiscountCalculator
is to determine the adjuster for the discount; other functionality is 
inherited. 
The calculator has a default property for banding attributes, in case those are not provided in the PMDL: 
defaultBandingProperty = "OrderPriceInfo.amount" 
The 
defaultBandingProperty
provides access to the shipping price for the calculator to process. 
The calculator’s 
bandedDiscountCalculatorHelper
method points to a helper class, 
BandedDiscountCalculatorHelper
, that holds the banded discount logic. See the 
BandedDiscountCalculatorHelper section in this chapter. 
TaxProcessorTaxCalculator 
You use the 
atg.commerce.pricing.TaxProcessorTaxCalculator
class if you are setting up a site 
that uses third-party software to handle tax calculation. This class consults a 
TaxProcessor
(an 
implementation of the 
atg.payment.tax.TaxProcessor
interface) to determine how much tax to 
charge for an order. For more information, refer to Integrating Third-Party Software With ATG Commerce . 
The 
TaxProcessorTaxCalculator
component is located in the ACC at 
atg/commerce/pricing/calculators
TaxProcessorTaxCalculator
class has the following 
properties: 
taxStatusProperty
: The property in the SKU repository that indicates whether each 
SKU is taxable or not. See Integrating CyberSource with ATG Commerce  for more 
information. 
taxProcessor
: The ATG tax integration that this calculator consults for tax amounts, 
currently either 
CyberSourceTax
or 
TaxWareTax
orderManager
: The location of the 
OrderManager
class instance. The default is 
/atg/commerce/order/OrderManager
software application cloud:VB.NET PDF - WPF PDF Viewer for VB.NET Program
Image to PDF. Image: Remove Image from PDF Page. Image: Copy, Paste, Cut Image in Users can rotate PDF pages, zoom in or zoom out PDF pages and go to any pages
www.rasteredge.com
software application cloud:VB.NET PDF- HTML5 PDF Viewer for VB.NET Project
Remove Image from PDF Page. Image: Copy, Paste, Cut Image in NET comment annotate PDF, VB.NET delete PDF pages, VB.NET PDF page and zoom in or zoom out PDF page
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
17 9  
11  -  C o m merce  P rici n g  C al cu lat o rs  
pricingTools
: The location of the 
PricingTools
class instance. The default is 
/atg/commerce/pricing/PricingTools
verifyAddresses
: If 
true
, the 
TaxProcessor
verifies the addresses passed in before 
attempting to calculate tax. 
calculateTaxByShipping
: If 
true
, the calculator calculates tax by shipping group. If 
false
, tax is calculated by total order. 
Note: The default 
TaxProcessor
for ATG Commerce is 
/atg/commerce/payment/DummyTaxProcessor
, which always returns “no tax.” 
Price List ConfigurableItemPriceListCalculator 
The 
ConfigurableItemPriceListCalculator
calculator assumes the 
ItemListPriceCalculator
has already run. 
ItemListPriceCalculator
calculator sets the list price and the amount of the 
ItemPriceInfo
based on the price of the 
ConfigurableSku
. The 
ConfigurableItemPriceListCalculator
calculator then iterates through the 
subSKUs
and modifies 
the list price and amount accordingly. 
For example, consider a situation when a 
parentSKU
is $5, 
subSKU
A is $2 and 
subSKU
B is $1. If we buy 
two of this configurable SKU, then coming into this calculator the 
listPrice
will be $5 and the amount 
will be $10. After the 
ConfigurableItemPriceListCalculator
calculator runs the 
listPrice
will be 
$8 and the amount will be $16. 
The 
ConfigurableItemPriceListCalculator
component is located in the ACC at 
atg/commerce/pricing/calculators
/
ConfigurableItemPriceListCalculator
. For more 
information on this calculator, see the Price List Calculators section of the Using Price Lists chapter. 
Price List ItemListPriceCalculator 
This calculator determines the list price of an item and sets the 
itemPriceInfo
to that amount. The 
pricing scheme for that item is list pricing. 
The 
ItemListPriceCalculator
component is located in the ACC at 
atg/commerce/pricing/calculators
ItemListPriceCalculator
. For more information on this 
calculator. See the Price List Calculators section of the Using Price Lists chapter. 
Price List ItemPriceCalculator 
The 
ItemPriceCalculator
class can either price a single commerce item or price a list of commerce 
items. It first selects the 
priceList
to use based on the 
profilePriceListPropertyName
property. 
The 
ItemPriceCalculator
then delegates the pricing to different 
ItemSchemePriceCalculators
based on the item’s pricing scheme by the 
pricingSchemePropertyName
property. 
The 
ItemPriceListCalculator
component is located in the ACC at 
atg/commerce/pricing/calculators/ItemPriceListCalculator
. It has the following properties: 
loggingIdentifier
: the ID that this class uses to identify itself in logs. 
ATG  C om merce  P ro gra mm in g  G ui d e 
18 0  
11  -  C om merce  P ri cin g   Ca lcu l at ors  
pricingSchemePropertyName
: the property name in the repository for the pricing 
scheme. 
profilePriceListPropertyName
: the property name in the repository for the user’s 
price list. 
useDefaultPriceList
: If true and 
ProfilePriceListPropertyName
is null, then 
the value of the 
automaticallyUseDefaultPriceList
property of the 
PriceListManager
determines if the default price list is used. If false, then the default 
price list is never used. 
noPriceIsError
: If true, and the price list is null or there is no price in the price list, 
then an error is thrown. If false, and the price list is null, then nothing happens. 
priceListManager
: points to the location of the 
PriceListManager
pricingSchemeNames
: the Map whose key is the allowed scheme names and whose 
value is the corresponding calculators. 
For more information on this calculator. See the Price List Calculators section of the Using Price Lists 
chapter. 
Price List ItemSalesPriceCalculator 
The 
ItemSalesPriceCalculator
sets the sales price for a commerce item. The 
ItemSalesPriceCalculator
implements the 
SalePriceListsListCalculator
component, which is 
located in the ACC at 
atg/commerce/pricing/calculators/SalePriceListsListCalculator
For more information on this calculator. See the Price List Calculators section of the Using Price Lists 
chapter. 
Price List ItemSalesTieredPriceCalculator 
A calculator which determines the sales tiered price of an item and sets the 
itemPriceInfo
to be that 
amount. The definition of tiered pricing can be referenced in 
ItemTieredPriceCalculator
The 
ItemSalesTieredPriceCalculator
implements the 
SalePriceListsTieredCalculator
component, which is located in the ACC at 
atg/commerce/pricing/calculators/SalePriceListsTieredCalculator
For more information on this calculator, see the Price List Calculators section of the Using Price Lists 
chapter. 
Price List ItemTieredPriceCalculator 
The 
ItemTieredPriceCalculator
determines the tiered price of an item and sets the 
itemPriceInfo
to that amount. The pricing scheme for that item is tier pricing. For more information on tiered pricing, 
see the Using Price Lists section of this chapter. 
The 
ItemTieredPriceCalculator
implements the 
PriceListsTieredCalculator
component, 
which is located in the ACC at 
atg/commerce/pricing/calculators/PriceListsTieredCalculator
ATG  C om mer ce P ro g ramm in g   Gui d e 
18 1  
11  -  C o m merce  P rici n g  C al cu lat o rs  
For more information on this calculator, see the Price List Calculators section of the Using Price Lists 
chapter. 
BandedDiscountCalculatorHelper 
The 
BandedDiscountCalculatorHelper
class is used by 
BulkItemDiscountCalculator
BulkOrderDiscountCalculator
BulkShippingDiscountCalculator
, and 
BulkTaxDiscountCalculator
public class BandedDiscountCalculatorHelper extends ApplicationLoggingImpl 
public double getAdjuster( 
RepositoryItem pPricingModel, 
Collection pQualifiedItems, 
Map pExtraParameters, 
String pDefaultBandingProperty, 
String pDefaultBandingPropertyScope) throws PricingException 
The function of the helper class is to get adjuster information for bulk discounts. The 
getAdjuster()
method does the following: 
1.
Gets the discount structure from the extra parameters map using the key 
Constants.DISCOUNT_STRUCTURE
2.
Returns the adjuster value if it has already been calculated. 
3.
Get all the discount details from the discount structure, which allows the class to 
identify and sort the bands to use. 
4.
Identify which property to use for placing items within the bands. 
5.
Identify the 
QualifiedItems
for the promotion and their quantities (if applicable) to 
determine the banding value. 
6.
Set the 
adjuster
value for that band on the discount structure object before 
returning the adjuster value. 
CalculatorInfo 
The 
CalculatorInfo
object is used by the 
Bulk
Type
DiscountCalculator
classes. It provides access 
to the following information for a calculator: 
CalculatorType
—Corresponds to the key of the 
calculatorTypeCalculators
map in the pricing engine. 
DiscountStructureAttributeInfos
—An array of attributes specified under the 
discount-structure
in the PMDL, such as 
bandingProperty
or 
bandingPropertyScope
DiscountDetailAttributeinfos
—An array of attributes that can be specified per 
discount-detail in the PMDL, such as 
band
or 
adjuster
ATG  C om merce  P ro gra mm in g  G ui d e 
18 2  
11  -  C om merce  P ri cin g   Ca lcu l at ors  
DiscountTypes
—Discount types valid for this calculator, such as 
fixedPrice
or 
percentOff
For information on the 
discount-structure
in PMDL, see the Understanding PMDL Discount Rules 
section. 
Extending Pricing Calculators 
ATG Commerce provides several preconfigured pricing calculators (see Pricing Calculator Classes for more 
information). You can extend these calculators to fit your sites’ requirements, and you can also create new 
pricing calculators if necessary. 
Adding a New Pricing Calculator 
This section explains how to create a new implementation of a pricing calculator interface and how to use 
the new calculator. 
Creating a New Pricing Calculator 
Use the following interfaces to create a new pricing calculator that fits into the existing ATG Commerce 
pricing architecture: 
atg.commerce.pricing.ItemPricingCalculator
atg.commerce.pricing.OrderPricingCalculator
atg.commerce.pricing.ShippingPricingCalculator
atg.commerce.pricing.TaxPricingCalculator
Implement the interface that corresponds to the type of price you want to calculate. For example, if you 
want to make calculations on order prices, implement 
OrderPricingCalculator
In the following example, assume you have identified a need for a calculator that sets an item’s price to 
half its current price plus one. The existing ATG Commerce tools include an 
ItemDiscountCalculator
that discounts items. It can give a percent off a price or an amount off, or it can set an item’s price to a 
fixed amount. None of these three options, however, easily gives a “half off plus one” discount. To achieve 
that result, you would have to use two different discounts: one to give 50 percent off, and another to add 
1 to that total. A better alternative would be to create a new calculator that discounts an item’s price to 
half its current price plus one. 
To create the new calculator, you create a class called 
HalfPlusOneItemDiscountCalculator
that 
implements the 
ItemPricingCalculator
interface. The 
HalfPlusOneDiscountCalculator
is an 
example of a discount calculator that leverages existing ATG Commerce functionality to perform its own 
unique task. 
In addition to modifying an item’s price, the ATG Commerce item discount calculators also do the 
following: 
Documents you may be interested
Documents you may be interested