Пример #1
0
 private static void UpdateFacet(CompanyFacet facet, CompanyFacet model)
 {
     facet.Cid          = model.Cid;
     facet.Name         = model.Name;
     facet.Website      = model.Website;
     facet.Street       = model.Street;
     facet.City         = model.City;
     facet.RegionShort  = model.RegionShort;
     facet.Region       = model.Region;
     facet.Postal       = model.Postal;
     facet.CountryShort = model.CountryShort;
     facet.Country      = model.Country;
     facet.Phone        = model.Phone;
     facet.Employees    = model.Employees;
     facet.Revenue      = model.Revenue;
     facet.Category     = model.Category;
     facet.Category2    = model.Category2;
     facet.NaicsCode    = model.NaicsCode;
     facet.NaicsGroup   = model.NaicsGroup;
     facet.SicCode      = model.SicCode;
     facet.Latitude     = model.Latitude;
     facet.Longitude    = model.Longitude;
     facet.StockSymbol  = model.StockSymbol;
     facet.Facebook     = model.Facebook;
     facet.Twitter      = model.Twitter;
     facet.LinkedIn     = model.LinkedIn;
     facet.IsIsp        = model.IsIsp;
     facet.IsWifi       = model.IsWifi;
     facet.Confidence   = model.Confidence;
 }
Пример #2
0
        private bool ProcessFacetProperty(CompanyFacet company, T ruleContext)
        {
            var propertyValue = GetPropValue(company, GetFieldName(Property));

            if (string.IsNullOrEmpty(propertyValue))
            {
                return(false);
            }

            return(this.Compare(propertyValue, this.GetValue(ruleContext)));
        }
Пример #3
0
        public void UpdateCompanyDataOnClient(CompanyFacet model)
        {
            var contactReference = _contactIdentificationRepository.GetContactReference();

            using (var client = _contactIdentificationRepository.CreateContext())
            {
                // we can have 1 to many facets
                // PersonalInformation.DefaultFacetKey
                // EmailAddressList.DefaultFacetKey
                // Avatar.DefaultFacetKey
                // PhoneNumberList.DefaultFacetKey
                // AddressList.DefaultFacetKey
                // plus custom ones
                var facets = new List <string> {
                    CompanyFacet.DefaultFacetKey
                };

                // get the contact
                var contact = client.Get(contactReference, new ContactExpandOptions(facets.ToArray()));

                // pull the facet from the contact (if it exists)
                var facet = contact.GetFacet <CompanyFacet>(CompanyFacet.DefaultFacetKey);

                // if it exists, change it, else make a new one
                if (facet != null)
                {
                    UpdateFacet(facet, model);

                    // set the facet on the client connection
                    client.SetFacet(contact, CompanyFacet.DefaultFacetKey, facet);
                }
                else
                {
                    // set the facet on the client connection
                    client.SetFacet(contact, CompanyFacet.DefaultFacetKey, model);
                }

                // submit the changes to xConnect
                client.Submit();

                // reset the contact
                _contactIdentificationRepository.Manager.RemoveFromSession(Sitecore.Analytics.Tracker.Current.Contact.ContactId);
                Sitecore.Analytics.Tracker.Current.Session.Contact = _contactIdentificationRepository.Manager.LoadContact(Sitecore.Analytics.Tracker.Current.Contact.ContactId);
            }
        }
        public ActionResult KickfireInfo()
        {
            try
            {
                var xConnectFacet = Tracker.Current.Contact.GetFacet <IXConnectFacets>("XConnectFacets");
                var company       = new CompanyFacet();

                if (xConnectFacet?.Facets != null)
                {
                    company = xConnectFacet.Facets[CompanyFacet.DefaultFacetKey] as CompanyFacet;
                }

                return(this.View(company));
            }
            catch (System.Exception)
            {
                return(this.View(new CompanyFacet()));
            }
        }
Пример #5
0
        private static CompanyFacet HydrateCompanyModel(KickFireModel model)
        {
            var data = new CompanyFacet
            {
                Name         = model.Data[0].Name,
                Category     = model.Data[0].Category2,
                Category2    = model.Data[0].Category,
                City         = model.Data[0].City,
                Confidence   = model.Data[0].Confidence,
                Country      = model.Data[0].Country,
                CountryShort = model.Data[0].CountryShort,
                Employees    = model.Data[0].Employees,
                Facebook     = model.Data[0].Facebook,
                IsIsp        = model.Data[0].IsIsp,
                Latitude     = model.Data[0].Latitude,
                LinkedIn     = model.Data[0].LinkedIn,
                Longitude    = model.Data[0].Longitude,
                Phone        = model.Data[0].Phone,
                Postal       = model.Data[0].Postal,
                Region       = model.Data[0].Region,
                RegionShort  = model.Data[0].RegionShort,
                Revenue      = model.Data[0].Revenue,
                SicCode      = model.Data[0].SicCode,
                NaicsCode    = model.Data[0].NaicsCode,
                NaicsGroup   = model.Data[0].NaicsGroup,
                StockSymbol  = model.Data[0].StockSymbol,
                Street       = model.Data[0].Street,
                Twitter      = model.Data[0].Twitter,
                Website      = model.Data[0].Website,
                IsWifi       = model.Data[0].IsWifi
            };

            data.IsIsp      = model.Data[0].IsIsp;
            data.Confidence = model.Data[0].Confidence;
            return(data);
        }
Пример #6
0
 protected override (string, string) GetVisitStringValue(CompanyFacet facet)
 {
     return(facet.Name, Value);
 }
 protected abstract (string, string) GetVisitStringValue(CompanyFacet company);