c# wpf document viewer pdf : Delete page from pdf file online Library software class asp.net winforms windows ajax ATGCommProgGuide33-part2111

ATG  C om mer ce P ro g ramm in g   Gui d e 
31 3  
16  -  C o n fi g u rin g   Pu rch as e  Pro ces s  S ervices  
μ
Modifying an Order by ShippingGroupCommerceItemRelationship ID 
If your sites support complex product-SKU relationships (for example, multiple 
CommerceItems
with the 
same 
catalogRefId
) or multiple shipping groups, then it is recommended that you modify an 
Order
using the IDs of the 
ShippingGroupCommerceItemRelationship
objects in the 
Order
. Doing so makes 
the changes at the 
CommerceItem
-to-
ShippingGroup
level. 
You can use the following 
CartModifierFormHandler
methods to modify an 
Order
by 
ShippingGroupCommerceItemRelationship
ID: 
handleSetOrderByRelationshipId
() 
handleRemoveItemFromOrderByRelationshipId
() 
handleMoveToPurchaseInfoByRelId
() 
Refer to Understanding the CartModifierFormHandler for more information on these handle methods. 
To change the quantity of an item in the 
Order
, pass the new quantity into the 
ShippingpingGroupCommerceItemRelationship
, as shown in the following JSP example: 
<dsp:input value='<dsp:valueof param="SgCiRelationship.quantity"/>' 
type="text" name='<dsp:valueof param="SgCiRelationship.Id"/>'> 
To delete an item from the 
Order
, pass the ID of the associated 
ShippingGroupCommerceItemRelationship
into the form handler’s 
removalRelationshipIds
property, as shown in the following JSP example: 
<dsp:input bean="CartModifierFormHandler.removalRelationshipIds" 
paramvalue="SgCiRelationship.Id" type="checkbox"/> 
Repricing Orders 
As described in Modifying Orders and Checking Out Orders in this chapter, two form handlers in the ATG 
Commerce purchase process have handle methods that you can use to reprice an 
Order
CartModifierFormHandler
, which is used to modify orders by adding and removing 
items and changing item quantities. 
ExpressCheckoutFormHandler
, which manages and expedites the pre-checkout 
processing of orders. 
However, you’ll need to reprice orders via some other mechanism if customers can make order changes 
that affect order price through other form handlers that do not reprice orders (for example, by making 
shipping changes via the form handlers that create and manage shipping groups), or if the orders are 
modified through some other means in ways that affect order price, such as the delivery of a promotion 
via a scenario. 
Delete page from pdf file online - Library software class: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
Delete page from pdf file online - Library software class: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 
31 4  
16  -  C o n fi g uri n g  P u rch as e P ro ces s  Serv ices  
If your sites have any pages where you need to reprice an 
Order
, but you cannot do so through a form 
action and corresponding handle method, use the 
RepriceOrderDroplet
servlet bean. By default, the 
servlet bean is configured to invoke the 
repriceAndUpdateOrder
pipeline, which reprices the 
Order
by 
calling the 
repriceOrder
pipeline and then updates the 
Order
by calling 
OrderManager.updateOrder()
The 
RepriceOrderDroplet
servlet bean is an instance of 
atg.commerce.order.purchase.RepriceOrder
, which extends 
atg.service.pipeline.servlet.PipelineChainInvocation
. ATG Commerce provides an instance 
of 
RepriceOrder
, which is located in Nucleus at 
/atg/commerce/order/purchase/RepriceOrderDroplet
The 
RepriceOrder
class provides the required objects for executing a repricing pipeline as convenient 
properties. Typically, execution of a repricing pipeline requires the 
Order
, the 
Profile
, the 
OrderManager
, and the user’s 
PricingModelHolder
RepriceOrder
is conveniently configured to 
reference these objects, which means that a page developer doesn’t need to supply them as input 
parameters every time the 
RepriceOrderDroplet
servlet bean is invoked. Consequently, the only 
required parameter that must be supplied is the pricing operation to execute. Acceptable pricing 
operations are defined in the 
atg.commerce.pricing.PricingConstants
interface; they are the 
following: 
Pricing Operation 
Pricing Constant 
ORDER_TOTAL 
PricingConstants.OP_REPRICE_ORDER_TOTAL 
ORDER_SUBTOTAL 
PricingConstants.OP_REPRICE_ORDER_SUBTOTAL 
ORDER_SUBTOTAL_SHIPPING  PricingConstants.OP_REPRICE_ORDER_SUBTOTAL_SHIPPING 
ORDER_SUBTOTAL_TAX 
PricingConstants.OP_REPRICE_ORDER_SUBTOTAL_TAX 
ITEMS 
PricingConstants.OP_REPRICE_ITEMS 
SHIPPING 
PricingConstants.OP_REPRICE_SHIPPING 
ORDER 
PricingConstants.OP_REPRICE_ORDER 
TAX 
PricingConstants.OP_REPRICE_TAX 
NO_REPRICE 
PricingConstants.OP_NO_REPRICE 
The following code sample is taken from 
RepriceOrderDroplet.properties
and indicates its default 
configuration: 
$class=atg.commerce.order.purchase.RepriceOrder 
$scope=request 
defaultPipelineManager=/atg/commerce/PipelineManager 
defaultChainId=repriceAndUpdateOrder 
Library software class:VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
If you are looking for a solution to conveniently delete one page from your this VB.NET PDF Library, which supports a variety of PDF file editing features
www.rasteredge.com
Library software class:C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Provides you with examples for adding an (empty) page to a PDF and adding empty pages You may feel free to define some continuous PDF pages and delete.
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
31 5  
16  -  C o n fi g u rin g   Pu rch as e  Pro ces s  S ervices  
order^=/atg/commerce/ShoppingCart.current 
profile=/atg/userprofiling/Profile 
orderManager=/atg/commerce/order/OrderManager 
userPricingModels=/atg/commerce/pricing/UserPricingModels 
This default configuration enables a page developer to include the 
RepriceOrderDroplet
servlet bean 
on any shopping cart page that requires the repricing and updating of 
Orders
with the following JSP 
code: 
<dsp:droplet name="RepriceOrderDroplet"> 
<dsp:param value="ORDER_SUBTOTAL" name="pricingOp"/> 
</dsp:droplet> 
For information on all of the input, output, and open parameters of 
RepriceOrderDroplet
, see the 
RepriceOrder reference entry in Appendix: ATG Commerce Servlet Beans of the ATG Commerce Guide to 
Setting Up a Store. For information on the 
OrderManager.updateOrder()
method and the 
updateOrder
pipeline, see Updating an Order with the Order Manager in this chapter. 
For more information about pipelines, the 
PipelineManager
, see the Processor Chains and the Pipeline 
Manager chapter; for information about the transactional modes and transitions of the processors in the 
repriceOrder
pipeline, see Appendix G: Commerce Pipeline Chains
Saving Orders 
The 
SaveOrderFormHandler
(class 
atg.commerce.order.purchase.SaveOrderFormHandler
) saves 
the user’s current 
Order
and adds the 
Order
to the 
ShoppingCart
’s list of saved orders. Additionally, it 
constructs a new, empty 
Order
and sets it as the user’s current 
Order
. ATG Commerce includes an 
instance of 
SaveOrderFormHandler
, which is located in Nucleus at 
/atg/commerce/order/purchase/SaveOrderFormHandler
If you are writing custom code, to avoid the possibility of deadlocks, be sure to synchronize on the Order 
before beginning the transaction. 
The following table describes the important methods in 
SaveOrderFormHandler
Method 
Description 
handleSaveOrder 
This handle method first calls the empty 
preSaveOrder()
method, then 
calls the 
saveOrder()
method to save the order, and finally calls the empty 
postSaveOrder()
method. 
Library software class:C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Advanced component and library able to delete PDF page in both Able to remove a single page from PDF document. Ability to remove a range of pages from PDF file.
www.rasteredge.com
Library software class:C# PDF Page Insert Library: insert pages into PDF file in C#.net
to rotate PDF document page, how to delete PDF page using C# capable of adding and inserting (empty) PDF page or pages from various file formats, such as
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
31 6  
16  -  C o n fi g uri n g  P u rch as e P ro ces s  Serv ices  
saveOrder 
This method first sets the current 
Order
’s description based on the provided 
String
description. If no description is provided, the method sets the 
description using the date and time as represented by the user’s locale. Next, 
the method saves the 
Order
to the repository by calling the 
OrderManager.updateOrder()
method. Finally, the method adds the 
Order
to the list of saved orders in the 
ShoppingCart.saved
property, and 
constructs a new, empty 
Order
that is set as the user’s current order. 
For more information on 
OrderManager.updateOrder()
, see Updating an 
Order with the OrderManager below. 
Updating an Order with the OrderManager 
The actual saving of an 
Order
object occurs by calling the 
updateOrder()
method in the 
OrderManager
. The 
updateOrder()
method calls into the 
PipelineManager
to execute the 
updateOrder
pipeline. Each processor in the pipeline saves a different type of commerce object. 
The following table describes the individual processors in the 
updateOrder
pipeline. They are listed in 
order of execution. 
PipelineLink name 
Description 
updateOrderObject 
Saves an 
Order
object’s properties to the repository. 
The 
Order
is supplied in the optional user parameter of 
the 
PipelineManager
. The class that implements this 
functionality is 
atg.commerce.order.processor.ProcSaveOrderO
bject
updateCommerceItemObjects 
Saves the 
CommerceItem
properties for the items in 
the Order. The class that implements this functionality 
is 
atg.commerce.order.processor.ProcSaveCommer
ceItemObjects
updateShippingGroupObjects 
Saves the 
ShippingGroup
properties for the shipping 
groups in the Order. The class that implements this 
functionality is 
atg.commerce.order.processor.ProcSaveShippi
ngGroupObjects
updateHandlingInstructionObjects 
Saves the 
HandlingInstruction
properties for the 
handling instructions in the Order. The class that 
implements this functionality is 
atg.commerce.order.processor.ProcSaveHandli
ngInstructionObjects
Library software class:VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
in your PDF document is unnecessary, you may want to delete this page PDF Page and File Splitting. If you want to split PDF file into two or small files, you
www.rasteredge.com
Library software class:C# PDF File Split Library: Split, seperate PDF into multiple files
with other PDF files to form a new PDF file. Using this C#.NET PDF document splitting library can easily and accurately disassemble multi-page PDF document into
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
31 7  
16  -  C o n fi g u rin g   Pu rch as e  Pro ces s  S ervices  
updatePaymentGroupObjects 
Saves the 
PaymentGroup
properties for the payment 
groups in the Order. The class that implements this 
functionality is 
atg.commerce.order.processor.ProcSavePaymen
tGroupObjects
updatePaymentStatusObjects 
Saves the 
PaymentStatus
properties for the 
PaymentStatus
objects in all the payment groups in 
the Order. These are the 
authorizationStatus
debitStatus
, and 
creditStatus
properties in the 
PaymentGroup
class. The class that implements this 
functionality is 
atg.commerce.order.processor.ProcSavePaymen
tStatusObjects
updateRelationshipObjects 
Saves the Relationship properties for the Relationships 
in the Order. The class that implements this 
functionality is 
atg.commerce.order.processor.ProcSaveRelati
onshipObjects
updatePriceInfoObjects 
Saves the 
PriceInfo
properties for the 
PriceInfo
in 
the 
Order
. The properties saved are in 
Order
(
priceInfo
and 
taxPriceInfo
), 
ShippingGroup
(
priceInfo
), and 
CommerceItems
(
priceInfo
). The 
class that implements this functionality is 
atg.commerce.order.processor.ProcSavePaymen
tGroupObjects
setLastModifiedTime 
Sets the 
lastModifiedTime
property in the Order 
object if any changes were made to the Order. If no 
changes were made, then the 
lastModifiedTime
is 
not changed. The class that implements this 
functionality is 
atg.commerce.order.processor.ProcSetLastMod
ifiedTime
For more information about pipelines, the 
PipelineManager
, see the Processor Chains and the Pipeline 
Manager chapter; for information about the transactional modes and transitions of the processors in the 
updateOrder
pipeline, see Appendix G: Commerce Pipeline Chains. 
Canceling Orders 
The 
CancelOrderFormHandler
(class 
atg.commerce.order.purchase.CancelOrderFormHandler
cancels the user’s current 
Order
, which deletes the 
Order
from the 
ShoppingCart
. ATG Commerce 
includes an instance of 
CancelOrderFormHandler
, which is located in Nucleus at 
/atg/commerce/order/purchase/CancelOrderFormHandler
Library software class:VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Ability to create a blank PDF page with related by using following online VB.NET we suggest you go to C# Imaging - how to insert a new empty page to PDF file
www.rasteredge.com
Library software class:VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Since images are usually or large size, images size reducing can help to reduce PDF file size effectively. Delete unimportant contents Embedded page thumbnails.
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
31 8  
16  -  C o n fi g uri n g  P u rch as e P ro ces s  Serv ices  
The following table describes the important methods in 
CancelOrderFormHandler
Method 
Description 
handleCancelOrder 
This handle method calls either the 
deleteOrder()
method or the 
preserveOrder()
method (depending on whether the 
Order
can be 
deleted). 
deleteOrder 
If the state of the current 
Order
is one of the configured states in the 
CancelOrderFormHandler.deleteStates
property, then the 
deleteOrder()
method deletes the current 
Order
from the user’s 
ShoppingCart
preserveOrder 
If the state of the current 
Order
isn’t one of the configured states in the 
CancelOrderFormHandler.deleteStates
property, then the 
preserveOrder()
method simply sends a 
ModifyOrder
GenericRemove
notification message to Fulfillment for any action deemed appropriate. 
Checking Out Orders 
The order checkout process can vary depending on the requirements and complexities of your sites. This 
section describes the checkout process for both simple and complex sites and includes the following 
sections: 
Preparing a Simple Order for Checkout 
Describes the use of 
ExpressCheckoutFormHandler
, which manages and expedites 
the pre-checkout processing of orders. Intended for sites that support only a single 
HardgoodShippingGroup
and 
CreditCard
Preparing a Complex Order for Checkout 
Describes the various form handlers that manage the pre-checkout processing of 
orders. Intended for sites that support any number or type of shipping group, or any 
number or type of payment group. 
Checking Out an Order 
Describes the processing of an 
Order
after the customer has supplied all necessary 
information for the 
Order
and has submitted it for checkout. 
Preparing a Simple Order for Checkout 
If your sites support the use of only a single 
HardgoodShippingGroup
and a single 
CreditCard
for a 
given 
Order
, you can manage and expedite the pre-checkout process for 
Orders
using the 
ExpressCheckoutFormHandler
(class 
atg.commerce.order.purchase.ExpressCheckoutFormHandler
). 
ExpressCheckoutFormHandler
supports the use of a single 
Profile
-derived 
HardgoodShippingGroup
and a single 
Profile
-derived 
CreditCard
Library software class:C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
File: Merge PDF; C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract; C# Read: PDF
www.rasteredge.com
Library software class:VB.NET PDF File Split Library: Split, seperate PDF into multiple
PDF document file to one-page PDF files or they can separate source PDF file to smaller PDF documents by every given number of pages. This online VB tutorial
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
31 9  
16  -  C o n fi g u rin g   Pu rch as e  Pro ces s  S ervices  
However, if your sites support any number or type of shipping group, or any number or type of payment 
group, then you must use the form handlers described in Preparing a Complex Order for Checkout. Note 
that the form handlers described in that section also work with simple 
Orders
that have a single 
HardgoodShippingGroup
and a single 
CreditCard
ATG Commerce provides an instance of 
ExpressCheckoutFormHandler
, which is located in Nucleus at 
/atg/commerce/order/purchase/ExpressCheckoutFormHandler
. The following table describes its 
important methods: 
Method 
Description 
handleExpressCheckout 
This handle method first invokes the 
runRepricingProcess()
method to reprice the 
Order
, then calls 
OrderManager.updateOrder()
to save the 
Order
in its present 
state to the Order Repository, and finally calls 
commitOrder()
to 
submit the 
Order
for checkout. 
For more information on 
OrderManager.updateOrder()
and the 
updateOrder
pipeline that it executes, see the Updating an Order 
with the Order Manager subsection of Saving Orders in this chapter. 
runRepricingProcess 
Reprices the 
Order
by running the pipeline specified in 
ExpressCheckoutFormHandler.repriceOrderChainId
. By 
default, this property is set to 
repriceOrder
For more information on the 
repriceOrder
pipeline, see Appendix 
G: Commerce Pipeline Chains
commitOrder 
This method first ensures that the user isn’t trying to double-submit 
the 
Order
by checking if the ID of the current 
Order
is equal to the ID 
of the user’s last 
Order
(in 
ShoppingCart.last
). If the IDs are not 
equal, then the current 
Order
can be submitted for checkout. The 
method then calls the 
OrderManager.processOrder()
method, 
which executes the 
processOrder
pipeline (See Checking Out an 
Order later in this chapter.). Finally, the method sets the submitted 
Order
as the user’s last 
Order
(in 
ShoppingCart.last
), and it 
constructs a new, empty 
Order
and sets it as the user’s current 
Order
(in 
ShoppingCart.current
). 
The following boolean properties of the 
ExpressCheckoutFormHandler
govern its behavior: 
Property Name 
Description 
paymentGroupNeeded 
If 
true
, then a 
CreditCard
payment group is automatically taken from 
the 
Profile
. If 
false
, then the user can supply the 
CreditCard
information in a form through the 
ExpressCheckoutFormHandler.paymentGroup
property. 
ATG  C om merce  P ro gra mm in g  G ui d e 
32 0  
16  -  C o n fi g uri n g  P u rch as e P ro ces s  Serv ices  
shippingGroupNeeded 
If 
true
, then a 
HardgoodShippingGroup
is automatically taken from 
the 
Profile
. If 
false
, then the user can supply the 
HardgoodShippingGroup
information in a form through the 
ExpressCheckoutFormHandler.shippingGroup
property. 
commitOrder 
If 
true
, then the 
ExpressCheckoutFormHandler.handleExpressCheckout
() method 
submits the 
Order
for checkout. You can set this property to 
false
if 
you want to display a confirmation page before committing the 
Order
By default, this property is set to 
false
Note: Recall that, as with all shopping cart-related form handlers, empty preXXX and postXXX methods 
are provided so you can extend 
ExpressCheckoutFormHandler
, as necessary. To implement a system 
that requires a more complex checkout process, see Preparing a Complex Order for Checkout
See Checking Out an Order for detailed information on the order checkout process. 
Preparing a Complex Order for Checkout 
ATG Commerce provides several form handlers to support a checkout process that uses any number or 
type of shipping group and payment group. If your sites have this type of complex checkout process, then 
you should use the form handlers described in this section instead of 
ExpressCheckoutFormHandler
(For more information on 
ExpressCheckoutFormHandler
, see Preparing a Simple Order for Checkout.) 
The form handlers described in this section manage different subprocesses in the pre-checkout process, 
which makes it easier for you to extend them when necessary. Separate form handlers exist to support the 
following tasks: 
Creating shipping groups 
Associating shipping groups with an Order and its items 
Creating payment groups 
Associating payment groups with an Order and its items 
Submitting an Order for checkout 
Creating Shipping Groups 
ATG Commerce provides two implementations of the 
CreateShippingGroupFormHandler
interface to 
support the form-driven creation of hard good and electronic shipping groups. These form handler 
classes create the 
ShippingGroups
and optionally add them to the 
ShippingGroupMapContainer
Once the shipping groups are added to the 
ShippingGroupMapContainer
, the user can then select 
from among them for use in the current 
Order
The two default implementations of 
CreateShippingGroupFormHandler
are: 
CreateHardgoodShippingGroupFormHandler 
This form handler class creates a 
HardgoodShippingGroup
and exposes it via a 
getHardgoodShippingGroup()
method, which makes it possible for users to edit its 
ATG  C om mer ce P ro g ramm in g   Gui d e 
32 1  
16  -  C o n fi g u rin g   Pu rch as e  Pro ces s  S ervices  
properties directly via JSP forms. ATG Commerce provides an instance of 
atg.commerce.order.purchase.CreateHardgoodShippingGroupFormHandler
it is located in Nucleus at 
/atg/commerce/order/purchase/CreateHardgoodShippingGroup 
FormHandler
To create the 
HardgoodShippingGroup
, the 
handleNewHardgoodShippingGroup()
method invokes the 
createHardgoodShippingGroup()
method, which actually creates the shipping 
group. The form handler’s 
hardgoodShippingGroupType
property determines the 
type of shipping group to create; by default, this property is set to 
hardgoodShippingGroup
. The form handler’s 
hardgoodShippingGroupName
property determines the name of the new shipping group, as referenced in the 
ShippingGroupMapContainer
CreateHardgoodShippingGroupFormHandler
is configured to use 
/atg/commerce/util/AddressValidator
to validate the shipping address before 
creating the shipping group. The default configuration is: 
validateFirstName=true
validateLastName=true
validateAddress1=true
validateCity=true
validateCounty=false
validateState=true
validatePostalCode=true
validateCountry=true
validateEmail=false
validatePhoneNumber=false
validateFaxNumber=false
This validation can be performed every time the shipping group is updated, via the 
UpdateHardgoodShippingGroupFormHandler
class. 
Finally, the form handler’s 
addToContainer
property determines whether the new 
shipping group is added to the 
ShippingGroupMapContainer
and made the default 
shipping group; by default, this property is set to True. Once the 
HardgoodShippingGroup
is added to the 
ShippingGroupMapContainer
, the user 
can use it when checking out the 
Order
After creating the 
HardgoodShippingGroup
, you can use the 
UpdateHardgoodShippingGroupFormHandler
to handle shipping address changes. 
UpdateHardgoodShippingGroupFormHandler
can update this information in any or 
all of three places, based on these properties: 
updateContainer
—Updates the 
HardgoodShippingGroup
in the 
ShippingGroupMapContainer
updateProfile
—Updates the shipping address in the profile. 
ATG  C om merce  P ro gra mm in g  G ui d e 
32 2  
16  -  C o n fi g uri n g  P u rch as e P ro ces s  Serv ices  
updateOrder
—Updates the 
HardgoodShippingGroup
in the order. 
CreateElectronicShippingGroupFormHandler 
This form handler class creates an 
ElectronicShippingGroup
and exposes it via a 
getElectronicShippingGroup()
method, which makes it possible for users to edit 
its properties directly via JSP forms. ATG Commerce provides an instance of 
atg.commerce.order.purchase.CreateElectronicShippingGroupFormHandle
r
; it is located in Nucleus at 
/atg/commerce/order/purchase/CreateElectronicShippingGroupFormHandl
er
To create the 
ElectronicShippingGroup
, the 
handleNewElectronicShippingGroup()
method invokes the 
createElectronicShippingGroup()
method, which actually creates the shipping 
group and sets the shipping group’s 
emailAddress
property. The form handler’s 
electronicShippingGroupType
property determines the type of shipping group to 
create; by default, this property is set to 
electronicShippingGroup
. The form 
handler’s 
electronicShippingGroupName
property determines the name of the 
new shipping group, as referenced in the 
ShippingGroupMapContainer
. Finally, the 
form handler’s 
addToContainer
property determines whether the new shipping 
group is added to the 
ShippingGroupMapContainer
and made the default shipping 
group; by default, this property is set to True. Once the 
ElectronicShippingGroup
is added to the 
ShippingGroupMapContainer
, the user can use it when checking out 
the 
Order
After creating the 
ElectronichippingGroup
, you can use the 
UpdateShippingGroupFormHandler
to handle updates to the shipping group. 
UpdateShippingGroupFormHandler
can update shipping group information in the 
container and/or the order, based on these properties: 
updateContainer
—Updates the 
ElectronicShippingGroup
in the 
ShippingGroupMapContainer
updateOrder
—Updates the 
ElectronicShippingGroup
in the order. 
You can also create 
Profile
-derived 
ShippingGroups
and add them to the 
ShippingGroupMapContainer
by using the 
ShippingGroupDroplet
servlet bean (class 
atg.commerce.order.purchase.ShippingGroupDroplet
). The input parameters passed into 
ShippingGroupDroplet
determine what types of 
ShippingGroups
are created (hard good, electronic, 
or both) and whether the 
ShippingGroupMapContainer
is cleared before they are created. For a 
detailed list of these input parameters, as well as output parameters, open parameters, and a code 
example, see the Adding Shipping Information to Shopping Carts section of the Implementing Order 
Retrieval chapter of the ATG Commerce Guide to Setting Up a Store. 
To initialize the 
ShippingGroup
objects, the service method of 
ShippingGroupDroplet
calls 
initializeUsersShippingMethods()
, which initializes one or more 
ShippingGroups
for the current 
user and adds them to the 
ShippingGroupMapContainer
. For each entry in 
ShippingGroupDroplet.shippingGroupTypes
(which is supplied via an input parameter), its 
corresponding 
ShippingGroupInitializer
is obtained from the 
ServiceMap
in 
ShippingGroupDroplet.shippingGroupInitializers
(keyed by 
ShippingGroup
type). The 
initializeShippingGroups()
method of the 
ShippingGroupInitializer
is then used to initialize 
the 
ShippingGroup
and add it to the 
ShippingGroupMapContainer
Documents you may be interested
Documents you may be interested