Exemplo n.º 1
0
 public SannsynUpdateService(global::EPiServer.Logging.ILogger log, SannsynConfiguration configuration, BackendService backendService)
 {
     _log            = log;
     _configuration  = configuration;
     _backendService = backendService;
     _logSendData    = _configuration.LogSendData;
 }
 public SannsynOrderIndexerService(global::EPiServer.Logging.ILogger log,
                                   SannsynConfiguration configuration,
                                   ISannsynUpdateService sannsynUpdateService)
 {
     _log                  = log;
     _configuration        = configuration;
     _sannsynUpdateService = sannsynUpdateService;
 }
Exemplo n.º 3
0
        public void Initialize(InitializationEngine context)
        {
            SannsynConfiguration sannsynConfiguration = ServiceLocator.Current.GetInstance <SannsynConfiguration>();

            if (sannsynConfiguration.ModuleEnabled)
            {
                OrderContext.Current.OrderGroupUpdated += Current_OrderGroupUpdated;
            }
        }
        private void ConfigureContainer(ConfigurationExpression container)
        {
            SannsynConfiguration sannsynConfiguration = ServiceLocator.Current.GetInstance <SannsynConfiguration>();

            if (sannsynConfiguration.ModuleEnabled)
            {
                container.For <IRecommendedProductsService>().Use <SannsynRecommendedProductsService>();
            }
        }
        public BackendService(ILogger log, SannsynConfiguration configuration)
        {
            _log           = log;
            _configuration = configuration;

            if (string.IsNullOrEmpty(_version))
            {
                _version = this.GetType().Assembly.GetName().Version.ToString();
            }
        }
Exemplo n.º 6
0
 public SannsynCatalogIndexService(ReferenceConverter referenceConverter,
                                   IContentLoader contentLoader,
                                   SannsynConfiguration sannsynConfiguration,
                                   ISannsynUpdateService sannsynUpdateService,
                                   ICurrentMarket currentMarket,
                                   ILogger logger
                                   )
 {
     _referenceConverter   = referenceConverter;
     _contentLoader        = contentLoader;
     _configuration        = sannsynConfiguration;
     _sannsynUpdateService = sannsynUpdateService;
     _currentMarket        = currentMarket;
     _logger   = logger;
     _bulkSize = 100;
 }
        protected virtual string GenerateClickUrl(Guid userId, string productCode, List <string> parentCategories)
        {
            SannsynConfiguration config = ServiceLocator.Current.GetInstance <SannsynConfiguration>();

            //Example url:
            // http://episerver.sannsyn.com/jsrecapi/1.0/tupleupdate/epicphoto/admin/canon-5d-m3/click/photo/catclick/dslr/catclick

            string serviceUrl = config.ServiceUrl.ToString() + "jsrecapi/1.0/tupleupdate/" + config.Service;
            string clickUrl   = string.Format("{0}/{1}/{2}/click", serviceUrl, userId, productCode);

            foreach (string category in parentCategories)
            {
                clickUrl = string.Format("{0}/{1}/catclick", clickUrl, category);
            }
            return(clickUrl);
        }
Exemplo n.º 8
0
        public void InitializeHttpEvents(HttpApplication application)
        {
            SannsynConfiguration sannsynConfiguration = ServiceLocator.Current.GetInstance <SannsynConfiguration>();

            if (sannsynConfiguration.ModuleEnabled)
            {
                for (int i = 0; i < application.Modules.Count; i++)
                {
                    ProfileModule module = application.Modules[i] as ProfileModule;
                    if (module != null)
                    {
                        module.MigrateAnonymous += OnMigrateAnonymous;
                        _log.Debug("Initializing Anonymous Migration Module");
                    }
                }
            }
        }
        public static IHtmlString TrackSannsynProductExposures(this HtmlHelper helper)
        {
            SannsynConfiguration config = ServiceLocator.Current.GetInstance <SannsynConfiguration>();

            if (config.ModuleEnabled)
            {
                ICustomerService             customerService = ServiceLocator.Current.GetInstance <ICustomerService>();
                ExposedRecommendationsScript scriptHandler   =
                    new ExposedRecommendationsScript(helper.ViewContext.HttpContext, config, customerService);
                string recScript = scriptHandler.GetExposedRecommendationsScript();

                if (string.IsNullOrEmpty(recScript) == false)
                {
                    string htmlString = String.Format("<script type=\"text/javascript\">\r\n\r{0}</script>\r", recScript);
                    return(new HtmlString(htmlString));
                }
            }
            return(new HtmlString(string.Empty));
        }
 public SannsynAdminService(global::EPiServer.Logging.ILogger log, SannsynConfiguration configuration, BackendService backendService)
 {
     _log            = log;
     _configuration  = configuration;
     _backendService = backendService;
 }
Exemplo n.º 11
0
 public RecommendationService(BackendService backendService, SannsynConfiguration configuration)
 {
     _backendService = backendService;
     _configuration  = configuration;
 }
 public ClientScriptFactory(SannsynConfiguration configuration, IContentLoader contentLoader)
 {
     _configuration = configuration;
     _contentLoader = contentLoader;
 }
Exemplo n.º 13
0
 public SannsynMenuProvider(SannsynConfiguration configuration)
 {
     _configuration = configuration;
 }
        protected string GetExposedRecommendationsScriptImpl(HttpContextBase context, SannsynConfiguration config, ICustomerService customerService)
        {
            StringBuilder   sb              = new StringBuilder();
            ExposureTracker tracker         = new ExposureTracker();
            var             recommendations = tracker.GetTrackedExposures(context);

            if (recommendations.Any() == false)
            {
                return(null);
            }

            sb.AppendLine("var sannsynService = '" + config.Service + "';");
            sb.AppendLine("var sannsynTrackedId = '" + customerService.GetCurrentUserId() + "';");

            string script = @"
    function trackRecommendationExposure(recommendations, recommenderName) {
      var ouronscroll = function(){
        ssas_track_visibility(recommendations, recommenderName, sannsynService, sannsynTrackedId);
      };
      var oldonscroll = window.onscroll; // don't overwrite old onScroll method, (if it exists)
      if (oldonscroll != null) {
        window.onscroll = function() {
          oldonscroll.apply(window);
          ouronscroll.apply(window)
        };
      } else {
        window.onscroll = function() {
          ouronscroll.apply(window);
        };
      }

      // finally, do an initial check for visibility, since onscroll could be never happening:
      ouronscroll.apply(window);
    }

    function trackRecClick(recommendation)
    {
        ssas_click(sannsynService, sannsynTrackedId, recommendation);
    }
";

            sb.Append(script);

            foreach (var group in recommendations.GroupBy(r => r.RecommenderName))
            {
                List <string> productCodes = new List <string>();
                foreach (var value in group)
                {
                    productCodes.Add(value.ProductCode);
                }
                string recName   = "rec_" + group.Key;
                string exposures = string.Format("var {0} = ['{1}'];", recName, string.Join("', '", productCodes));
                string call      = string.Format("trackRecommendationExposure({0}, '{1}');", recName, group.Key);
                sb.AppendLine(exposures);
                sb.AppendLine(call);
            }

            return(sb.ToString());
        }
 public ExposedRecommendationsScript(HttpContextBase context, SannsynConfiguration config, ICustomerService customerService)
 {
     _context         = context;
     _config          = config;
     _customerService = customerService;
 }