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);
        }
示例#2
0
        public ActionResult AsFancyTree()
        {
            Sitecore.Diagnostics.Log.Debug(ProjectConst.Logging.prefix + "s) AsFancyTree action");
            var  dataSourceStr = Sitecore.Mvc.Presentation.RenderingContext.CurrentOrNull.Rendering.DataSource;
            Item dataSource    = null;

            if (!string.IsNullOrEmpty(dataSourceStr))
            {
                dataSource = Sitecore.Context.Database.GetItem(new ID(dataSourceStr));
            }
            else
            {
                Sitecore.Diagnostics.Log.Warn(ProjConstants.Logger.LoggingPrefix + "null or empty datasource", this);
            }
            var options   = new WeKnowTreeOptionsFactory().GetWeKnowTreeOptions(dataSource);
            var viewModel = CommonDataHarvest(options);

            Sitecore.Diagnostics.Log.Debug(ProjectConst.Logging.prefix + "e) AsFancyTree action");
            return(View(ProjectConst.Views.WhatWeKnow.AsFancyTree, viewModel));
        }