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); }
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)); }