We have upgraded our support system to serve you better.
For Support, please go to our Momentive Support Hub located here.

Skip to main content

xWeb Event Registration Add New Session Registration

 
 

xWeb Event Registration Add New Session Registration

This page outlines how you can add one or more session registrations to an existing event registrant in xWeb. This might occur if a person has already registered and they come back later to a website to add more sessions. In the Code section is a Visual Studio .NET C# code sample illustrating the flow. Please be aware that although this code sample worked successfully, in a production application you should have error handling, etc.

The sequence of methods you will call is almost identical to the flow described in xWeb Event Registration. The major differences are:

Code

// properties object containing settings for xWeb Username and Password
// this is for illustrative purposes; you might have a different way for storing these settings.
var props = Properties.Settings.Default;
 
// instantiate web reference
var xWeb = new netForumXML();
 
// Authenticate
xWeb.Authenticate(props.username, props.pwd);
 
// Create a new shopping cart object
CentralizedOrderEntryType cart = new CentralizedOrderEntryType();
 
// Load a blank shopping cart by passing the Customer key of the shopper (typically the registrant): 
cart = xWeb.WEBCentralizedShoppingCartGetNew(new Guid("21F1093B-FD6A-4D7F-9DC2-86CDACCE3171"));
 
EventsRegistrantType reg = new EventsRegistrantType();
 
// Load the registrant by passing the exising reg_key
reg = xWeb.WEBCentralizedShoppingCartEventRegistrantGet(new Guid("a3ffb9d7-621e-4752-99b6-6365302dca99"));
 
// Add any new Session Fees. The GUIDs relate are the prc_key for a particular Session Fee
List<Guid> feeGuids = new List<Guid>();
feeGuids.Add(new Guid("922DF215-9448-45F7-82BF-D988999FEC2E")); // first session
feeGuids.Add(new Guid("248EF7EA-CB21-4F07-8E0B-830D27EC946D")); // second session; you could keep adding more...
 
// Fees Collection
Fee[] fees = new Fee[feeGuids.Count];
for (int i = 0; i < feeGuids.Count; i++)
{
    Fee eventFee = new Fee();
    eventFee.prc_key = feeGuids[i];
    eventFee.action = FeeAction.Add;
    eventFee.qty = 1;
    eventFee.overrideamount = 0;
    fees[i] = eventFee;
}
 
// Set the line items. Do not worry about what the registrant already paid for in the past,
// you just need the NEW fees for the sessions to be added
reg = xWeb.WEBCentralizedShoppingCartEventRegistrantSetLineItems(reg, fees);
 
// The next lines illustrate that you need to set the rgs_cancel_qty to "0" for any 
// registrant session(s) in your collection. 
for (int i = 0; i < reg.Registrant_SessionCollection.Count(); i++)
{
    var ses = reg.Registrant_SessionCollection[i];
    ses.ev_registration_session.rgs_cancel_qty = "0";
    reg.Registrant_SessionCollection[i] = ses;
}
 
// Add the Registrant object to the Cart
cart = xWeb.WEBCentralizedShoppingCartAddEventRegistrant(cart, reg);
 
// Set payment information
cart.Payment_Info.pin_cc_cardholder_name = "First M. Last";
cart.Payment_Info.pin_cc_number = "4111111111111111";
cart.Payment_Info.pin_cc_expire = "2011/12"; // Correct format is yyyy/mm 
cart.Payment_Info.pin_apm_key = "E3065977-EA16-44B9-9B4F-407150B5C2C1"; // AMEX, Visa, etc.
cart.Payment_Info.pin_check_amount = cart.Invoice.inv_nettotal;
cart.Payment_Info.pin_check_amountSpecified = true;
cart.Invoice.inv_autoapply = 1;
cart.Invoice.inv_autoapplypayment = 1;
 
// Insert the Cart and payment
cart = xWeb.WEBCentralizedShoppingCartInsert(cart);

Request

See xWeb Event Registration Add New Session Registration Request for the request that is generated by the Code for the final WEBCentralizedShoppingCartInsert method.

Was this article helpful?
0 out of 0 found this helpful