Exemplo n.º 1
0
        private WeKnowViewModel CommonDataHarvest(WeKnowTreeOptions weKnowTreeOptions)
        {
            Sitecore.Diagnostics.Log.Debug(ProjectConst.Logging.prefix + "s) CommonDataHarvest");

            var targetFacetsTypes = new List <string>
            {
                CinemaInfo.DefaultFacetKey,
                CinemaVisitorInfo.DefaultFacetKey,
                EmailAddressList.DefaultFacetKey,
                PersonalInformation.DefaultFacetKey,
                CinemaDetails.DefaultFacetKey,
                AddressList.DefaultFacetKey,
            };

            weKnowTreeOptions.TargetedFacetKeys.AddRange(targetFacetsTypes);

            var whatWeKnowTreeBuilder = new WeKnowTreeBuilder(weKnowTreeOptions);//.targetFacetsTypes, options);
            var whatWeKnowTree        = whatWeKnowTreeBuilder.GetWeKnowTreeFromTrackingContact(Tracker.Current.Contact);
            var viewModel             = new WeKnowViewModel
            {
                WeKnowTree = whatWeKnowTree,
            };

            Sitecore.Diagnostics.Log.Debug(ProjectConst.Logging.prefix + "e) CommonDataHarvest");

            return(viewModel);
        }
        public override object GetModel(Guid contactId)
        {
            EpExpressCinemaVisitorInfoModel toReturn = new EpExpressCinemaVisitorInfoModel();


            Sitecore.XConnect.Contact xConnectContact = EPRepository.GetContact(contactId, CinemaVisitorInfo.DefaultFacetKey);

            string favoriteMovie = "{unknown}";

            if (xConnectContact?.Facets != null)
            {
                if (xConnectContact.Facets.ContainsKey(CinemaVisitorInfo.DefaultFacetKey))
                {
                    var cinemaVisitorInfo = xConnectContact.Facets[CinemaVisitorInfo.DefaultFacetKey] as CinemaVisitorInfo;
                    favoriteMovie = cinemaVisitorInfo.FavoriteMovie;
                }
                else
                {
                }
            }
            var weKnowTreeOptions = new WeKnowTreeOptionsFactory().GetWeKnowTreeOptions(ProjConstants.Items.WeKnowTreeOptionsEPTab);

            var weKnowTreeBuilder = new WeKnowTreeBuilder(weKnowTreeOptions);

            toReturn.ContactId     = xConnectContact.Id.ToString();
            toReturn.FavoriteMovie = favoriteMovie;
            toReturn.WeKnowTree    = weKnowTreeBuilder.GetWhatWeKnowTreeFromXConnectContact(xConnectContact);
            //VisitCount = (int)((dynamic)contact).VisitCount

            return(toReturn);
        }