Activities
List of examples:
Logging an activity for a contact
// Gets the current user
UserInfo user = MembershipContext.AuthenticatedUser;
// Gets the current customer
CustomerInfo customer = ECommerceContext.CurrentCustomer;
if ((user != null) && (customer != null))
{
// Creates a new activity of the "Customer registration" type
// Gets the context of the activity from AnalyticsContext.ActivityEnvironmentVariables (the current contact, URL, etc.)
ActivityCustomerRegistration newActivity = new ActivityCustomerRegistration(customer, user, AnalyticsContext.ActivityEnvironmentVariables);
// Logs the previously created Customer registration activity
newActivity.Log();
// Tip: You can find classes representing other types of activities in the CMS.WebAnalytics namespace (the class names have the 'Activity' prefix)
}
Updating logged activities
// Gets the first contact whose last name is 'Smith'
ContactInfo contact = ContactInfoProvider.GetContacts()
.WhereEquals("ContactLastName", "Smith")
.FirstObject;
if (contact != null)
{
// Gets all activities logged for the contact
var updateActivities = ActivityInfoProvider.GetActivities().WhereEquals("ActivityActiveContactID", contact.ContactID);
// Loops through individual activities
foreach (ActivityInfo activity in updateActivities)
{
// Updates the activity title
activity.ActivityTitle = activity.ActivityTitle.ToUpper();
// Saves the modified activity to the database
ActivityInfoProvider.SetActivityInfo(activity);
}
}
Deleting logged activities
// Gets the first contact whose last name is 'Smith'
ContactInfo contact = ContactInfoProvider.GetContacts()
.WhereEquals("ContactLastName", "Smith")
.FirstObject;
if (contact != null)
{
// Gets all activities logged for the contact
var activities = ActivityInfoProvider.GetActivities().WhereEquals("ActivityActiveContactID", contact.ContactID);
// Loops through individual activities
foreach (ActivityInfo activity in activities)
{
// Deletes the activity
ActivityInfoProvider.DeleteActivityInfo(activity);
}
}