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;
 }
示例#6
0
 public FacetEditHelper(IXConnectFacets xConnectFacets)
 {
     XConnectFacets = xConnectFacets;
 }