コード例 #1
0
        public void Add([NotNull] string eventId)
        {
            var contact = ContactExtensions.GetCurrentTrackerContact();

            if (contact == null)
            {
                Log.Error("SessionEventSubscriptionsService terminates. Current contact was not resolved", this);
                return;
            }

            if (contact.Attachments.ContainsKey(attachmentKey))
            {
                var subscriptions = (List <string>)contact.Attachments[attachmentKey];
                if (!subscriptions.Contains(eventId))
                {
                    subscriptions.Add(eventId);
                }

                contact.Attachments[attachmentKey] = subscriptions;
            }
            else
            {
                contact.Attachments.Add(attachmentKey, new List <string> {
                    eventId
                });
            }
        }
コード例 #2
0
        public void RemoveAll([NotNull] string facetKey)
        {
            var trackerContact = ContactExtensions.GetCurrentTrackerContact();

            Assert.IsNotNull(trackerContact, "Current contact is null");

            var facets = trackerContact.GetXConnectFacets();

            RemoveAllFacetValues(facetKey, facets);
            trackerContact.UpdateXConnectFacets(facets);
        }
コード例 #3
0
        public void UpdateFacet([NotNull] SportPreferencesPayload data)
        {
            var trackerContact = ContactExtensions.GetCurrentTrackerContact();

            Assert.IsNotNull(trackerContact, "Current contact is null");

            var facets = trackerContact.GetXConnectFacets();

            UpdateSportsFacet(data, facets);

            trackerContact.UpdateXConnectFacets(facets);
        }
コード例 #4
0
        public void UpdateFacet([NotNull] DemographicsPayload data)
        {
            var trackerContact = ContactExtensions.GetCurrentTrackerContact();

            Assert.IsNotNull(trackerContact, "Current contact is null");

            var facets = trackerContact.GetXConnectFacets();

            UpdateAgeGroup(data, facets);
            UpdateGender(data, facets);

            trackerContact.UpdateXConnectFacets(facets);
        }
コード例 #5
0
        public void UpdateFacet([NotNull] IdentificationPayload data)
        {
            var trackerContact = ContactExtensions.GetCurrentTrackerContact();

            Assert.IsNotNull(trackerContact, "Current contact is null");

            var facets = trackerContact.GetXConnectFacets();

            UpdateName(data, facets);
            UpdateEmail(data, facets);

            Tracker.Current.Session.IdentifyAs(Wellknown.EMAIL_IDENT_SOURCE, data.Email);

            trackerContact.UpdateXConnectFacets(facets);
        }
コード例 #6
0
        public string[] GetFacetValues([NotNull] string facetKey)
        {
            var trackerContact = ContactExtensions.GetCurrentTrackerContact();

            Assert.IsNotNull(trackerContact, "Current contact is null");

            var facets = trackerContact.GetXConnectFacets();

            StringValueListFacet facet;

            if (facets.ContainsKey(facetKey))
            {
                facet = (StringValueListFacet)facets[facetKey];
                return(facet.Values.ToArray());
            }

            return(new string[0]);
        }
コード例 #7
0
        public bool ContainsValue([NotNull] string facetKey, [NotNull] string facetValue)
        {
            var trackerContact = ContactExtensions.GetCurrentTrackerContact();

            Assert.IsNotNull(trackerContact, "Current contact is null");
            var facets = trackerContact.GetXConnectFacets();

            if (!facets.ContainsKey(facetKey))
            {
                return(false);
            }

            if (facets[facetKey] is StringValueListFacet facet)
            {
                return(facet.Values.Contains(facetValue));
            }

            return(false);
        }
コード例 #8
0
        public List <string> GetAll(Contact contact = null)
        {
            if (contact == null)
            {
                contact = ContactExtensions.GetCurrentTrackerContact();
            }
            if (contact == null)
            {
                Log.Error("SessionEventSubscriptionsService terminates. Current contact was not resolved", this);
                return(new List <string>());
            }

            if (!contact.Attachments.ContainsKey(attachmentKey))
            {
                return(new List <string>());
            }

            return((List <string>)contact.Attachments[attachmentKey]);
        }
コード例 #9
0
        public SportsFacet ReadFacet()
        {
            var trackerContact = ContactExtensions.GetCurrentTrackerContact();

            Assert.IsNotNull(trackerContact, "Current contact is null");

            var facets = trackerContact.GetXConnectFacets();

            if (!facets.ContainsKey(SportsFacet.DefaultKey))
            {
                return(null);
            }

            if (facets[SportsFacet.DefaultKey] is SportsFacet facet)
            {
                return(facet);
            }

            return(null);
        }
コード例 #10
0
        protected DemographicsFacet ReadDemographicsFacet()
        {
            var trackerContact = ContactExtensions.GetCurrentTrackerContact();

            Assert.IsNotNull(trackerContact, "Current contact is null");

            var facets = trackerContact.GetXConnectFacets();

            if (!facets.ContainsKey(DemographicsFacet.DefaultKey))
            {
                return(null);
            }

            if (facets[DemographicsFacet.DefaultKey] is DemographicsFacet facet)
            {
                return(facet);
            }

            return(null);
        }
コード例 #11
0
        protected PersonalInformation ReadPersonalInformationFacet()
        {
            var trackerContact = ContactExtensions.GetCurrentTrackerContact();

            Assert.IsNotNull(trackerContact, "Current contact is null");

            var facets = trackerContact.GetXConnectFacets();

            if (!facets.ContainsKey(PersonalInformation.DefaultFacetKey))
            {
                return(null);
            }

            if (facets[PersonalInformation.DefaultFacetKey] is PersonalInformation facet)
            {
                return(facet);
            }

            return(null);
        }