public KnownData GetKnownDataViaTracker(Sitecore.Analytics.Tracking.Contact trackingContact) { KnownData toReturn = null; using (XConnectClient xConnectClient = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient()) { try { toReturn = new KnownData(); var xConnectHelper = new XConnectHelper(AllFacetKeys); IdentifiedContactReference IdentifiedContactReference = xConnectHelper.GetIdentifierFromTrackingContact(trackingContact); Contact XConnectContact = xConnectHelper.IdentifyKnownContact(IdentifiedContactReference); XConnectFacets = Tracker.Current.Contact.GetFacet <IXConnectFacets>("XConnectFacets"); toReturn.FacetData = GatherFacetData(XConnectFacets); toReturn.KnownInteractions = GetKnownInteractions(XConnectContact, xConnectClient); toReturn.Identifiers = Tracker.Current.Contact.Identifiers.ToList(); } catch (XdbExecutionException ex) { Sitecore.Diagnostics.Log.Error(CollectionConst.Logger.Prefix + ex.Message, this); } } return(toReturn); }
private KnownDataFacets GatherFacetData(IXConnectFacets xConnectFacets) { var toReturn = new KnownDataFacets(); if (XConnectFacets != null) { var facetHelper = new FacetHelper(XConnectFacets); toReturn.CinemaDetails = facetHelper.SafeGetCreateFacet <CinemaDetails>(CinemaDetails.DefaultFacetKey); toReturn.CinemaInfo = facetHelper.SafeGetCreateFacet <CinemaInfo>(CinemaInfo.DefaultFacetKey); if (toReturn.CinemaInfo == null) { toReturn.CinemaInfo = new CinemaInfo(); } toReturn.CinemaVisitorInfo = facetHelper.SafeGetCreateFacet <CinemaVisitorInfo>(CinemaVisitorInfo.DefaultFacetKey); toReturn.EmailAddressList = facetHelper.SafeGetCreateFacet <EmailAddressList>(EmailAddressList.DefaultFacetKey); toReturn.PersonalInformationDetails = facetHelper.SafeGetCreateFacet <PersonalInformation>(PersonalInformation.DefaultFacetKey); } return(toReturn); }
public void CommunicationProfile_FacetExists_ShouldReturnContactCommunicationProfile([NoAutoProperties] ContactFacetsProvider provider, IXConnectFacets facets, ConsentInformation facet, ITracker tracker, [Substitute] Contact contact) { // Arrange tracker.IsActive.Returns(true); tracker.Contact.Returns(contact); facets.Facets.Returns(new ReadOnlyDictionary <string, Facet>(new Dictionary <string, Facet> { { ConsentInformation.DefaultFacetKey, facet } })); contact.GetFacet <IXConnectFacets>("XConnectFacets").Returns(facets); using (new TrackerSwitcher(tracker)) { // Act var profile = provider.CommunicationProfile; // Assert profile.Should().NotBeNull(); profile.Should().BeEquivalentTo(facet); } }
public void Addresses_FacetExists_ShouldReturnContactAddressProperty([NoAutoProperties] ContactFacetsProvider provider, IXConnectFacets facets, AddressList facet, ITracker tracker, [Substitute] Contact contact) { // Arrange tracker.IsActive.Returns(true); tracker.Contact.Returns(contact); facets.Facets.Returns(new ReadOnlyDictionary <string, Facet>(new Dictionary <string, Facet> { { AddressList.DefaultFacetKey, facet } })); contact.GetFacet <IXConnectFacets>("XConnectFacets").Returns(facets); using (new TrackerSwitcher(tracker)) { // Act var addresses = provider.Addresses; // Assert addresses.Should().NotBeNull(); addresses.Should().BeEquivalentTo(facet); } }
public FacetsNodeBuilder(XConnectClient xConnectClient, IXConnectFacets xConnectFacets, WeKnowTreeOptions treeOptions) { XConnectClient = xConnectClient; XConnectFacets = xConnectFacets; TreeOptions = treeOptions; }
public FacetEditHelper(IXConnectFacets xConnectFacets) { XConnectFacets = xConnectFacets; }