c# wpf free pdf viewer : Copy pages from pdf to new pdf software control dll windows azure asp.net web forms ATGCommProgGuide54-part2134

ATG  C om mer ce P ro g ramm in g   Gui d e 
52 3  
22  -   Usi n g  A ban d o ned   O rd er S ervice s 
μ
Scenario Events and Actions 
This section provides technical descriptions of the abandonment-related scenario events and actions that 
are provided with the Abandoned Order Services module. 
Scenario Events 
Scenario Actions 
For information on creating scenarios that include these elements, as well as information on testing them 
via the Abandoned Order Messages page of the Commerce Administration UI, see the Managing 
Abandoned Orders chapter of the ATG Commerce Guide to Setting Up a Store
Scenario Events 
The Abandoned Order Services module includes the following scenario events to watch for 
abandonment-related events: 
Order Abandoned 
Abandoned Order is Modified 
Abandoned Order is Converted 
Abandoned Order is Lost 
The message that triggers the events listed above contains the following properties: 
Property 
Type 
Scenario editor label 
abandonmentState 
java.lang.String 
abandonmentState 
The abandonment state of the order. 
orderId 
java.lang.String
orderId
The ID of the order. 
profileId 
java.lang.String
profileId
The profile ID of the user associated with the order. 
type 
java.lang.String
type
The JMS type of 
OrderAbandoned
message. 
For an example scenario that utilizes some of these events, see Creating Scenarios that Respond to 
Abandonment Activity in the Managing Abandoned Orders chapter of the ATG Commerce Guide to Setting 
Up a Store
Copy pages from pdf to new pdf - SDK Library service: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
Copy pages from pdf to new pdf - SDK Library service: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 
52 4  
22  -  Us i n g  A ban d on ed   Ord er  Servi ces  
Order Abandoned 
This event is triggered when an order is identified as abandoned. 
Class name 
atg.commerce.order.abandoned.OrderAbandoned 
JMS name 
atg.commerce.order.abandoned.OrderAbandoned 
Display name 
Order Abandoned 
Message context 
request 
Message scope 
individual 
Message source 
Component: 
/atg/commerce/order/abandoned/OrderAbandonedSender
Class: 
atg.commerce.messaging.MessageSender 
Component that calls 
the message source 
/atg/commerce/order/abandoned/AbandonedOrderService 
How this event is 
triggered 
Triggered when an order is identified as abandoned by the 
AbandonedOrderService
How to turn off this 
event 
Set the 
/atg/commerce/order/abandoned/AbandonedOrderTools.sen
dOrderAbandonedMessage
property to 
false
Abandoned Order is Modified 
This event is triggered when an abandoned order is modified by its owner. Modifications to an order can 
include adding or removing items, changing item quantities, and merging orders. 
Class name 
atg.commerce.order.abandoned.OrderAbandoned 
JMS name 
atg.commerce.order.abandoned.OrderReanimated 
Display name 
Abandoned Order is Modified 
Message context 
request 
Message scope 
individual 
Message source 
Component: 
/atg/commerce/order/abandoned/OrderAbandonedSender
Class: 
atg.commerce.messaging.MessageSender
SDK Library service:VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
As String = Program.RootPath + "\\" Output.pdf" Dim doc1 Dim doc2 As PDFDocument = New PDFDocument(inputFilePath2 GetPage(2) Dim pages = New PDFPage() {page0
www.rasteredge.com
SDK Library service:VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
to delete a range of pages from a PDF document. Dim filepath As String = "" Dim outPutFilePath As String = "" Dim doc As PDFDocument = New PDFDocument(filepath
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
52 5  
22  -   Usi n g  A ban d o ned   O rd er S ervice s 
Component that calls 
the message source 
/atg/commerce/order/abandoned/AbandonedOrderTools 
How this event is 
triggered 
Triggered by the Reanimate Abandoned Order scenario action or 
ReanimateAbandonedOrderDroplet
servlet bean. 
How to turn off this 
event 
Set the 
/atg/commerce/order/abandoned/AbandonedOrderTools.sen
dOrderReanimatedMessage
property to 
false
Abandoned Order is Converted 
This event is triggered when an abandoned or lost order is checked out. 
Class name 
atg.commerce.order.abandoned.OrderAbandoned 
JMS name 
atg.commerce.order.abandoned.OrderConverted 
Display name 
Abandoned Order Converted 
Message context 
request 
Message scope 
individual 
Message source 
Component: 
/atg/commerce/order/abandoned/OrderAbandonedSender
Class: 
atg.commerce.messaging.MessageSender
Component that calls 
the message source 
/atg/commerce/order/abandoned/AbandonedOrderTools 
How this event is 
triggered 
Triggered by the Convert Abandoned Order scenario action or 
ConvertAbandonedOrderDroplet
servlet bean. 
How to turn off this 
event 
Set the 
/atg/commerce/order/abandoned/AbandonedOrderTools.sen
dOrderConvertedMessage
property to 
false
Abandoned Order is Lost 
This event is triggered when an order is identified as lost. 
Class name 
atg.commerce.order.abandoned.OrderAbandoned 
JMS name 
atg.commerce.order.abandoned.OrderLost 
SDK Library service:C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
RasterEdge XDoc.PDF allows you to easily move PDF document pages position Copying and Pasting Pages. You can use specific APIs to copy and get a specific page of
www.rasteredge.com
SDK Library service:C# PDF Page Rotate Library: rotate PDF page permanently in C#.net
Copy this demo code to your C# application to rotate the first page of One is used for rotating all PDF pages to 180 in clockwise and output a new PDF file
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
52 6  
22  -  Us i n g  A ban d on ed   Ord er  Servi ces  
Display name 
Abandoned Order Lost 
Message context 
request 
Message scope 
individual 
Message source 
Component: 
/atg/commerce/order/abandoned/OrderAbandonedSender
Class: 
atg.commerce.messaging.MessageSender
Component that calls 
the message source 
/atg/commerce/order/abandoned/AbandonedOrderService 
How this event is 
triggered 
Triggered when an order is identified as lost by the 
AbandonedOrderService
How to turn off this 
event 
Set the 
/atg/commerce/order/abandoned/AbandonedOrderTools.sen
dOrderLostMessage
property to 
false
Scenario Actions 
The Abandoned Order Services module includes the following scenario actions to respond to user activity 
on abandoned orders: 
Set Order’s Last Updated Date 
Reanimate Abandoned Order 
Convert Abandoned Order 
Log Promotion Information 
All of the scenario actions listed above are utilized in the Abandoned Orders scenario that is provide out-
of-the-box. For information on this scenario, see the Managing Abandoned Orders chapter in the ATG 
Commerce Guide to Setting Up a Store
Set Order’s Last Updated Date 
This action checks whether the given order has an 
abandonmentInfo
item and, if it does not, creates one 
and associates it with the order. It then updates the 
orderLastUpdated
property of the order’s 
abandonmentInfo
item with the current date and time. 
Action Registry Tag 
Value 
action name 
Set Last Updated 
configuration 
component 
/atg/scenario/configuration/SetLastUpdatedConfigurat
ion 
SDK Library service:C# PDF Page Insert Library: insert pages into PDF file in C#.net
Apart from the ability to inserting a new PDF page into existing PDF to delete PDF page using C# .NET, how to reorganize PDF document pages and how to
www.rasteredge.com
SDK Library service:C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
How to delete a range of pages from a PDF document. String filepath = @""; String outPutFilePath = @""; PDFDocument doc = new PDFDocument(filepath); // Detele
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
52 7  
22  -   Usi n g  A ban d o ned   O rd er S ervice s 
action execution policy  individual 
action error response 
continue 
The Set Order’s Last Updated Date action has the following parameters: 
Parameter 
Is required?  Description 
orderId 
yes 
The ID of the order that has been modified by the user. 
See also SetLastUpdatedDroplet in Appendix: ATG Commerce Servlet Beans of the ATG Commerce Guide to 
Setting Up a Store
Reanimate Abandoned Order 
This action reanimates an abandoned or lost order. More specifically, it does the following: 
1.
Removes the order from the list of abandoned orders in the user’s 
abandonedOrders
profile property if the order is abandoned and not lost. 
2.
Modifies the order’s 
abandonmentInfo
item as follows: 
Sets the 
state
property to REANIMATED. 
Sets the 
reanimationDate
property to the current date and time. 
3.
Fires an 
AbandonedOrderReanimated
message if the 
AbandonedOrderTools.sendOrderReanimatedMessage
property is set to 
true
Note that if the given order is not abandoned or lost, the action does nothing. 
Action Registry Tag 
Value 
action name 
Reanimate Abandoned Order 
configuration 
component 
/atg/scenario/configuration/ReanimateAbandonedOrderCo
nfiguration 
action execution 
policy 
individual 
action error response 
continue 
The Reanimate Abandoned Order action has the following parameters: 
SDK Library service:C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Open a document. PDFDocument doc = new PDFDocument(inputFilePath); PDFPage page = (PDFPage)pdf.GetPage(0); // Extract all images on one pdf page.
www.rasteredge.com
SDK Library service:C# PDF Annotate Library: Draw, edit PDF annotation, markups in C#.
RootPath + "\\" 2.pdf"; String outputFilePath = Program.RootPath + "\\" Annot_6.pdf"; // open a PDF file PDFDocument doc = new PDFDocument(inputFilePath
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
52 8  
22  -  Us i n g  A ban d on ed   Ord er  Servi ces  
Parameter 
Is required?  Description 
orderId 
yes 
The ID of the reanimated order. 
See also ReanimateAbandonedOrderDroplet in Appendix: ATG Commerce Servlet Beans of the ATG 
Commerce Guide to Setting Up a Store
Convert Abandoned Order 
This action converts an abandoned, reanimated, or lost order. More specifically, it does the following: 
1.
Removes the order from the list of abandoned orders in the user’s 
abandonedOrders
profile property if the order was abandoned and not lost or reanimated. 
2.
Modifies the order’s 
abandonmentInfo
item as follows: 
Sets the 
state
property to CONVERTED. 
Sets the 
conversionDate
property to the current date and time. 
3.
Fires an 
AbandonedOrderConverted
message if the 
AbandonedOrderTools.sendOrderConvertedMessage
property is set to 
true
Note that if the 
state
property in the order’s 
abandonmentInfo
item is null, then the order has never 
been abandoned, and the action does nothing. 
Action Registry Tag  Value 
action name 
Convert Abandoned Order 
configuration 
component 
/atg/scenario/configuration/ConvertAbandonedOrderConf
iguration 
action execution 
policy 
individual 
action error response  continue 
The Convert Abandoned Order action has the following parameters: 
Parameter 
Is required?  Description 
orderId 
yes 
The ID of the converted order. 
See also ConvertAbandonedOrderDroplet in Appendix: ATG Commerce Servlet Beans of the ATG Commerce 
Guide to Setting Up a Store
ATG  C om mer ce P ro g ramm in g   Gui d e 
52 9  
22  -   Usi n g  A ban d o ned   O rd er S ervice s 
Log Promotion Information 
This action logs promotion-related information for a converted order. It calculates the number and total 
value of the promotions applied to the converted order and stores the information in a 
convertedOrder
item in the 
AbandonedOrderRepository
Action Registry Tag 
Value 
action name 
Log Promotion Information 
configuration component 
/atg/scenario/configuration/LogPromotionInfoConfiguration 
action execution policy 
individual 
action error response 
continue 
The Log Promotion Information action has the following parameters: 
Parameter 
Is required?  Description 
orderId 
yes 
The ID of the order whose promotion information is to 
be logged. 
Tracking Abandoned Orders of Transient Users 
The Abandoned Order Services module can also track orders abandoned by transient users, that is, 
anonymous or guest users who are not associated with a profile maintained in the profile repository 
database. Orders abandoned or submitted by transient users are recorded by a scenario in a dataset, 
making information about these orders available for analysis using ATG’s analytics tools. 
AbandonedOrderEventListener 
Transient order tracking is handled by the component 
/atg/commerce/order/abandoned/AbandonedOrderEventListener
. This component has two 
purposes. 
When a session is destroyed (either because the user logs out or the session times out), the 
AbandonedOrderEventListener
checks whether a profile was associated with the session, and whether 
that profile is transient. If so, it then checks whether a non-empty shopping cart is also associated with the 
session, and whether that shopping cart’s total value is at least as great as the 
AbandonedOrderEventListener
.
minimumAmount
property. By default, the 
minimumAmount
property of 
the 
AbandonedOrderEventListener
points to the 
minimumAmount
property in 
AbandonedOrderService
. If the order meets the criteria, then a new 
TransientOrderEvent
is created, 
ATG  C om merce  P ro gra mm in g  G ui d e 
53 0  
22  -  Us i n g  A ban d on ed   Ord er  Servi ces  
and populated with the 
orderId
amount
, and the 
siteId
if applicable. The value 
0
is placed in the 
event’s 
submitted
property. Then, the event is sent out on the messaging system. 
The 
AbandonedOrderEventListener
also registers as a listener for 
SubmitOrder
events. When a 
SubmitOrder
event is received, the 
AbandonedOrderEventListener
checks whether the profile 
associated with the order is transient. If so, then it also creates a new 
TransientOrderEvent
, this time 
populating the 
submitted
property in the event with the value 
100
. This allows Commece to calculate 
the percentage of transient orders by averaging the values of the 
submitted
property. 
TransientOrderRecorder 
The 
TransientOrderEvents
generated by the 
AbandonedOrderEventListener
are caught by the 
TransientOrderRecorder
scenario. This scenario listens for the 
TransientOrderEvents
and records 
the events in the Transient Order Reporting Dataset, storing all the values that the event was populated 
with. The Transient Order Reporting Dataset lets you generate information about orders abandoned by 
transient users. 
Turning Off Transient Order Tracking 
If you don’t want to track transient orders, you can turn off this feature by: 
setting the enabled property of the 
AbandonedOrderEventListener
to false, so that 
TransientOrderEvents
will not be generated; and 
disabling the 
AbandonedOrders > TransientOrderRecorder
scenario. 
Customizations and Extensions 
This section provides information on how to customize or extend the Abandoned Order Services module 
in the following ways: 
Defining Additional Types of Abandoned and Lost Orders 
Modifying the Criteria Used to Identify Abandoned and Lost Orders 
Defining Additional Types of Abandoned and Lost Orders 
While the default implementation of the Abandoned Order Services module enables you to identify both 
abandoned and lost orders, some sites may require more granularity. For example, you may want to 
differentiate between high-priced and low-priced abandoned orders in order to respond differently to 
each type via scenarios and other campaigns. This section describes how to customize the module in this 
way, using this very example of high-priced and low-priced abandoned orders. You could use the same 
process to define and manage additional types of lost orders. 
First, configure an instance of 
atg.commerce.order.abandoned.AbandonedOrderTools
for each type 
of abandoned order you want to manage. The 
AbandonedOrderTools
component stores the definitions 
of abandonment states, including the default states. In this example, you’ll need to configure two 
ATG  C om mer ce P ro g ramm in g   Gui d e 
53 1  
22  -   Usi n g  A ban d o ned   O rd er S ervice s 
instances, one for high-priced abandoned orders and a second for low-priced abandoned orders. The 
following table describes how to configure each component: 
Component 
Description of Configuration 
AbandonedOrderTools
#1 
for high-priced abandoned orders 
Set the 
defaultAbandonedState
property to 
HIGH_ABANDONED. 
Set the 
reanimatableAbandonmentStates
property to the list of all possible states that an order 
can be in to be considered for identification as 
reanimated. In this example, set the property to: 
HIGH_ABANDONED, LOW_ABANDONED, LOST 
Configure the remaining properties as necessary. 
AbandonedOrderTools
#2 
for low-priced abandoned orders 
Set the 
defaultAbandonedState
property to 
LOW_ABANDONED. 
Set the 
reanimatableAbandonmentStates
property to the list of all possible states that an order 
can be in to be considered for identification as 
reanimated. In this example, set the property to: 
HIGH_ABANDONED, LOW_ABANDONED, LOST 
Configure the remaining properties as necessary. 
Then, configure an instance of 
atg.commerce.order.abandoned.AbandonedOrderService
for each 
type of abandoned order you want to identify and manage. Again, in this example you’ll need to 
configure two instances, one for high-priced abandoned orders and a second for low-priced abandoned 
orders. The following table describes how to configure each component: 
ATG  C om merce  P ro gra mm in g  G ui d e 
53 2  
22  -  Us i n g  A ban d on ed   Ord er  Servi ces  
Component 
Description of Configuration 
AbandonedOrderService
#1 
for high-priced abandoned orders 
Set the 
minimumAmount
property as desired, for 
example, to $100 dollars. 
Set the 
abandonedOrderTools
property to point to 
the 
AbandonedOrderTools
component you created 
for high-priced orders. 
Set the 
schedule
property so that this service runs 
before the 
AbandonedOrderService
that you 
created for low-priced abandoned orders. Otherwise, 
the latter service will return and identify both the 
high-priced and low-priced orders as abandoned. 
Configuring the remaining properties as necessary. 
AbandonedOrderService
#2 
for low-priced abandoned orders 
Set the 
minimumAmount
property as desired, for 
example, to $10 dollars. 
Set the 
abandonedOrderTools
property to point to 
the 
AbandonedOrderTools
component you created 
for low-priced orders. 
Set the 
schedule
property so that this service runs 
after the 
AbandonedOrderService
that you created 
for high-priced abandoned orders. Otherwise, this 
service will return and identify both the high-priced 
and low-priced orders as abandoned. 
Configuring the remaining properties as necessary. 
Modifying the Criteria Used to Identify Abandoned and Lost Orders 
As described in Detecting Abandoned and Lost Orders, the 
/atg/commerce/order/abandoned/AbandonedOrderService
uses a specific set of criteria when it 
queries the order repository for orders to identify as abandoned and lost. (See that section for the list of 
criteria.) The queries used are returned by the following methods of class 
atg.commerce.order.abandoned.AbandonedOrderService
generateAbandonedQuery()
, which returns a query created from the following sub-
queries: 
getDateQueryForAbandonedOrders()
getOrderStatesQuery()
getAbandonmentInfoQueryForAbandonedOrders()
getMinimumAmountQuery()
generateLostQuery()
, which returns a query created from the following sub-
queries: 
Documents you may be interested
Documents you may be interested