コード例 #1
0
        public ActionResult UpdateFacet([System.Web.Http.FromBody] IdentificationPayload data)
        {
            try
            {
                service.UpdateFacet(data);
            }
            catch (Exception ex)
            {
                Log.Error($"Error while running IdentificationService API", ex, this);
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.Message));
            }

            return(new HttpStatusCodeResult(HttpStatusCode.OK));
        }
コード例 #2
0
        protected void UpdateEmail(IdentificationPayload data, Dictionary <string, Facet> facets)
        {
            EmailAddressList emails;

            if (facets.ContainsKey(EmailAddressList.DefaultFacetKey))
            {
                emails = (EmailAddressList)facets[EmailAddressList.DefaultFacetKey];
                emails.PreferredEmail = new EmailAddress(data.Email, true);
            }
            else
            {
                emails = new EmailAddressList(new EmailAddress(data.Email, true), Wellknown.PreferredEmailKey);
                facets.Add(EmailAddressList.DefaultFacetKey, emails);
            }
        }
コード例 #3
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);
        }
コード例 #4
0
        protected void UpdateName(IdentificationPayload data, Dictionary <string, Facet> facets)
        {
            PersonalInformation personalInfo;

            if (facets.ContainsKey(PersonalInformation.DefaultFacetKey))
            {
                personalInfo           = (PersonalInformation)facets[PersonalInformation.DefaultFacetKey];
                personalInfo.FirstName = data.FirstName;
                personalInfo.LastName  = data.LastName;
            }
            else
            {
                personalInfo = new PersonalInformation()
                {
                    FirstName = data.FirstName,
                    LastName  = data.LastName,
                };

                facets.Add(PersonalInformation.DefaultFacetKey, personalInfo);
            }
        }