public virtual void Process(GetFacetMemberValuesArgs args) { Assert.ArgumentNotNull(args, "args"); Assert.ArgumentNotNullOrEmpty(args.FacetName, "args.FacetName"); var type = ContactFacetHelper.GetContractTypeForFacet(args.FacetName); if (type == null || !typeof(IDemandbaseData).IsAssignableFrom(type)) { return; } var taxonomy = Factory.CreateObject("demandbaseTaxonomy", true) as DemandbaseTaxonomy; if (taxonomy == null || (!taxonomy.MemberValues.ContainsKey(args.MemberName))) { return; } taxonomy .MemberValues[args.MemberName] .ForEach(m => args.Values.Add(m.Description, m.Value)); }
protected virtual void AddContactFacetMemberValues(string facetName, string memberName, ID parentId) { var args = new GetFacetMemberValuesArgs(facetName, memberName); CorePipeline.Run("getFacetMemberValues", args); if (!args.Values.Any()) { return; } foreach (var pair in args.Values) { IDTableHelper.GenerateIdForFacetMemberValue(pair.Key, pair.Value, parentId, Sitecore.Strategy.Contacts.DataProviders.TemplateIDs.ContactFacetMemberValueTemplate); } }
protected virtual void AddChildIDsForContactFacetMemberItem(IDList ids, ItemDefinition itemDefinition, CallContext context) { var itemId = itemDefinition.ID; var facetName = IDTableHelper.GetFacetMemberFacetName(itemId); var memberName = IDTableHelper.GetFacetMemberName(itemId); var args = new GetFacetMemberValuesArgs(facetName, memberName); CorePipeline.Run("getFacetMemberValues", args); if (!args.Values.Any()) { return; } foreach (var pair in args.Values) { var id = IDTableHelper.GenerateIdForFacetMemberValue(pair.Key, pair.Value, itemId, Sitecore.Strategy.Contacts.DataProviders.TemplateIDs.ContactFacetMemberValueTemplate); ids.Add(id); } }
public virtual void Process(GetFacetMemberValuesArgs args) { Assert.ArgumentNotNull(args, "args"); Assert.ArgumentNotNullOrEmpty(args.FacetName, "args.FacetName"); var type = ContactFacetHelper.GetContractTypeForFacet(args.FacetName); if (type == null) { return; } if (!typeof(IEmployeeData).IsAssignableFrom(type)) { return; } if (args.MemberName == "Location") { args.Values.Add("NA", "North America"); args.Values.Add("SA", "South America"); args.Values.Add("EU", "Europe"); args.Values.Add("APAC", "Asia-Pacific"); } }