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; }
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))); }
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())); } }
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); }
protected override (string, string) GetVisitStringValue(CompanyFacet facet) { return(facet.Name, Value); }
protected abstract (string, string) GetVisitStringValue(CompanyFacet company);