Contacts


List of examples:

Contacts

Creating a contact




// Creates a new contact object for the current site
ContactInfo newContact = new ContactInfo()
{
    ContactLastName = "Smith",
    ContactFirstName = "John",
    ContactSiteID = SiteContext.CurrentSiteID,
    ContactIsAnonymous = true
};

// Saves the contact to the database
ContactInfoProvider.SetContactInfo(newContact);


> Back to list of examples

Updating a contact




// Gets the first contact on the current site whose last name is 'Smith'
ContactInfo updateContact = ContactInfoProvider.GetContacts()
                                    .WhereEquals("ContactLastName", "Smith")
                                    .WhereEquals("ContactSiteID", SiteContext.CurrentSiteID)
                                    .FirstObject;

if (updateContact != null)
{
    // Updates the contact's properties
    updateContact.ContactCompanyName = "Company Inc.";

    // Saves the updated contact to the database
    ContactInfoProvider.SetContactInfo(updateContact);
}


> Back to list of examples

Updating multiple contacts




// Gets all contacts on the current site whose last name is 'Smith'
var contacts = ContactInfoProvider.GetContacts()
                                    .WhereEquals("ContactLastName", "Smith")
                                    .WhereEquals("ContactSiteID", SiteContext.CurrentSiteID);

// Loops through individual contacts
foreach (ContactInfo contact in contacts)
{
    // Updates the properties of the contact
    contact.ContactCompanyName = "Company Inc.";

    // Saves the updated contact to the database
    ContactInfoProvider.SetContactInfo(contact);
}


> Back to list of examples

Linking contacts with user accounts




// Gets the first contact on the current site whose last name is 'Smith'
ContactInfo contact = ContactInfoProvider.GetContacts()
                                    .WhereEquals("ContactLastName", "Smith")
                                    .WhereEquals("ContactSiteID", SiteContext.CurrentSiteID)
                                    .FirstObject;

if (contact != null)
{
    // Links the contact with the current user
    ContactMembershipInfoProvider.SetRelationship(
        MembershipContext.AuthenticatedUser.UserID,
        MemberTypeEnum.CmsUser,
        contact.ContactID,
        contact.ContactID,
        false);
}


> Back to list of examples

Removing user accounts from contacts




// Gets the first contact on the current site whose last name is 'Smith'
ContactInfo contact = ContactInfoProvider.GetContacts()
                                    .WhereEquals("ContactLastName", "Smith")
                                    .WhereEquals("ContactSiteID", SiteContext.CurrentSiteID)
                                    .FirstObject;

if (contact != null)
{
    // Gets the relationship between the contact and the current user
    ContactMembershipInfo contactMembership = ContactMembershipInfoProvider.GetMembershipInfo(
        contact.ContactID,
        contact.ContactID,
        MembershipContext.AuthenticatedUser.UserID,
        MemberTypeEnum.CmsUser);

    // Deletes the contact-user relationship
    ContactMembershipInfoProvider.DeleteRelationship(contactMembership.MembershipID);
}


> Back to list of examples

Assigning IP addresses to contacts




// Gets the first contact on the current site whose last name is 'Smith'
ContactInfo contact = ContactInfoProvider.GetContacts()
                                    .WhereEquals("ContactLastName", "Smith")
                                    .WhereEquals("ContactSiteID", SiteContext.CurrentSiteID)
                                    .FirstObject;

if (contact != null)
{
    // Creates a new IP address and assigns it to the contact
    IPInfo newIP = new IPInfo()
    {
        IPAddress = "127.0.0.1",
        IPOriginalContactID = contact.ContactID,
        IPActiveContactID = contact.ContactID
    };

    // Saves the IP address to the database
    IPInfoProvider.SetIPInfo(newIP);
}


> Back to list of examples

Removing IP addresses from contacts




// Gets the first contact on the current site whose last name is 'Smith'
ContactInfo contact = ContactInfoProvider.GetContacts()
                                    .WhereEquals("ContactLastName", "Smith")
                                    .WhereEquals("ContactSiteID", SiteContext.CurrentSiteID)
                                    .FirstObject;

if (contact != null)
{
    // Gets all IP addresses assigned to the contact
    var deleteIPs = IPInfoProvider.GetIps().WhereEquals("IPOriginalContactID", contact.ContactID);

    // Loops through individual IP adresses
    foreach (IPInfo ipAddress in deleteIPs)
    {
        // Deletes the IP address
        IPInfoProvider.DeleteIPInfo(ipAddress);
    }
}


> Back to list of examples

Assigning user agents to contacts




// Gets the first contact on the current site whose last name is 'Smith'
ContactInfo contact = ContactInfoProvider.GetContacts()
                                    .WhereEquals("ContactLastName", "Smith")
                                    .WhereEquals("ContactSiteID", SiteContext.CurrentSiteID)
                                    .FirstObject;

if (contact != null)
{
    // Creates a new agent object and assigns it to the contact
    UserAgentInfo agentInfo = new UserAgentInfo()
    {
        UserAgentActiveContactID = contact.ContactID,
        UserAgentOriginalContactID = contact.ContactID,
        UserAgentString = "Custom User Agent"
    };

    // Saves the user agent object to the database
    UserAgentInfoProvider.SetUserAgentInfo(agentInfo);
}


> Back to list of examples

Removing user agents from contacts




// Gets the first contact on the current site whose last name is 'Smith'
ContactInfo contact = ContactInfoProvider.GetContacts()
                                    .WhereEquals("ContactLastName", "Smith")
                                    .WhereEquals("ContactSiteID", SiteContext.CurrentSiteID)
                                    .FirstObject;

if (contact != null)
{
    // Gets all user agents assigned to the contact
    var deleteAgents = UserAgentInfoProvider.GetUserAgents().WhereEquals("UserAgentOriginalContactID", contact.ContactID);

    // Loops through individual user agents
    foreach (UserAgentInfo agent in deleteAgents)
    {
        // Deletes the user agent
        UserAgentInfoProvider.DeleteUserAgentInfo(agent);
    }
}


> Back to list of examples

Deleting a contact




// Gets the first contact on the current site whose last name is 'Smith'
ContactInfo deleteContact = ContactInfoProvider.GetContacts()
                                    .WhereEquals("ContactLastName", "Smith")
                                    .WhereEquals("ContactSiteID", SiteContext.CurrentSiteID)
                                    .FirstObject;

if (deleteContact != null)
{
    // Deletes the contact
    ContactInfoProvider.DeleteContactInfo(deleteContact);
}


> Back to list of examples

Contact statuses

Creating a contact status




// Creates a new contact status object for the current site
ContactStatusInfo newStatus = new ContactStatusInfo()
{
    ContactStatusDisplayName = "New contact status",
    ContactStatusName = "NewContactStatus",
    ContactStatusSiteID = SiteContext.CurrentSiteID
};

// Saves the contact status to the database
ContactStatusInfoProvider.SetContactStatusInfo(newStatus);


> Back to list of examples

Updating a contact status




// Gets the contact status
ContactStatusInfo updateStatus = ContactStatusInfoProvider.GetContactStatusInfo("NewContactStatus", SiteContext.CurrentSiteName);

if (updateStatus != null)
{
    // Updates the contact status properties
    updateStatus.ContactStatusDisplayName = updateStatus.ContactStatusDisplayName.ToLowerCSafe();

    // Saves the modified contact status to the database
    ContactStatusInfoProvider.SetContactStatusInfo(updateStatus);
}


> Back to list of examples

Updating multiple contact statuses




// Gets all contact statuses from the current site whose code name starts with 'New'
var statuses = ContactStatusInfoProvider.GetContactStatuses()
                                                .WhereEquals("ContactStatusSiteID", SiteContext.CurrentSiteID)
                                                .WhereStartsWith("ContactStatusName","New");

// Loops through individual contact statuses
foreach (ContactStatusInfo contactStatus in statuses)
{
    // Updates the contact status properties
    contactStatus.ContactStatusDisplayName = contactStatus.ContactStatusDisplayName.ToUpper();

    // Saves the modified contact status to the database
    ContactStatusInfoProvider.SetContactStatusInfo(contactStatus);
}


> Back to list of examples

Assigning a status to a contact




// Gets the first contact on the current site whose last name is 'Smith'
ContactInfo contact = ContactInfoProvider.GetContacts()
                                    .WhereEquals("ContactLastName", "Smith")
                                    .WhereEquals("ContactSiteID", SiteContext.CurrentSiteID)
                                    .FirstObject;

// Gets the contact status
ContactStatusInfo contactStatus = ContactStatusInfoProvider.GetContactStatusInfo("NewContactStatus", SiteContext.CurrentSiteName);

if ((contact != null) && (contactStatus != null))
{
    // Checks that the contact doesn't already have the given status
    if (contact.ContactStatusID != contactStatus.ContactStatusID)
    {
        // Assigns the status to the contact
        contact.ContactStatusID = contactStatus.ContactStatusID;

        // Saves the updated contact to the database
        ContactInfoProvider.SetContactInfo(contact);
    }
}


> Back to list of examples

Removing statuses from contacts




// Gets the contact status
ContactStatusInfo contactStatus = ContactStatusInfoProvider.GetContactStatusInfo("NewContactStatus", SiteContext.CurrentSiteName);

if (contactStatus != null)
{
    // Gets all contacts from the current site that have the specified status
    var contacts = ContactInfoProvider.GetContacts()
                                        .WhereEquals("ContactSiteID", SiteContext.CurrentSiteID)
                                        .WhereEquals("ContactStatusID", contactStatus.ContactStatusID);

    // Loops through the contacts
    foreach (ContactInfo contact in contacts)
    {
        // Sets the status to 'None' for each contact
        contact.ContactStatusID = 0;

        // Saves the updated contact to the database
        ContactInfoProvider.SetContactInfo(contact);
    }
}


> Back to list of examples

Deleting a contact status




// Gets the contact status
ContactStatusInfo deleteStatus = ContactStatusInfoProvider.GetContactStatusInfo("NewContactStatus", SiteContext.CurrentSiteName);

if (deleteStatus != null)
{
    // Deletes the contact status
    ContactStatusInfoProvider.DeleteContactStatusInfo(deleteStatus);
}


> Back to list of examples