Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public virtual ContactIdentifier CreateContact(string email, PersonalInformation personalInfo)
- {
- var identifier = new ContactIdentifier(ContactSource, email, ContactIdentifierType.Known);
- var identifiers = new ContactIdentifier[] { identifier };
- try
- {
- if (CurrentTracker != null && CurrentTracker.IsActive && CurrentTracker.Session != null)
- {
- CurrentTracker.Session.IdentifyAs(ContactSource, email);
- CurrentTracker.Contact.Tags.Set("isEmpty", "false");
- }
- using (var client = SitecoreXConnectClientConfiguration.GetClient())
- {
- var knownContact = new Contact(identifiers);
- client.SetFacet(knownContact, PersonalInformation.DefaultFacetKey, personalInfo);
- client.AddContact(knownContact);
- client.Submit();
- }
- }
- catch (XdbExecutionException ex)
- {
- Log.Error("Exception creating contact", ex, this);
- }
- return identifier;
- }
- public virtual bool CreateContact2(string email, PersonalInformation personalInfo)
- {
- if (CurrentTracker.Contact.IsNew)
- {
- var manager = Factory.CreateObject("tracking/contactManager", true) as ContactManager;
- if (manager != null)
- {
- CurrentTracker.Contact.ContactSaveMode = ContactSaveMode.AlwaysSave;
- manager.SaveContactToCollectionDb(CurrentTracker.Contact);
- var trackerIdentifier = new IdentifiedContactReference(Sitecore.Analytics.XConnect.DataAccess.Constants.IdentifierSource,
- CurrentTracker.Contact.ContactId.ToString("N"));
- using (XConnectClient client = SitecoreXConnectClientConfiguration.GetClient())
- {
- try
- {
- var contact = client.Get(trackerIdentifier, new ContactExpandOptions());
- if (contact != null)
- {
- client.SetFacet(contact, PersonalInformation.DefaultFacetKey, personalInfo);
- client.Submit();
- manager.RemoveFromSession(CurrentTracker.Contact.ContactId);
- CurrentTracker.Session.Contact = manager.LoadContact(CurrentTracker.Contact.ContactId);
- }
- }
- catch (XdbExecutionException ex)
- {
- Log.Error("Error in creating Contact.", ex, this);
- return false;
- }
- }
- }
- }
- return true;
- }
- using (var client = this.CreateClient())
- {
- //Set your facets here
- // Interaction
- Guid channelId = Guid.Parse(ChannelId);
- string userAgent = "Form Update Contact";
- var interaction = new Interaction(contact, InteractionInitiator.Brand, channelId, userAgent);
- var ItemID = Guid.Parse(HomeId);
- PageViewEvent pageView = new PageViewEvent(DateTime.UtcNow, ItemID, 3, "en")
- {
- Duration = new TimeSpan(0, 0, 30),
- Url = "/Home"
- };
- interaction.Events.Add(pageView);
- client.AddInteraction(interaction);
- client.Submit();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement