コード例 #1
0
 public MarketingModulePromotionController(
     IPromotionService promotionService,
     ICouponService couponService,
     IMarketingPromoEvaluator promoEvaluator,
     IPromotionSearchService promoSearchService,
     IUserNameResolver userNameResolver,
     IPushNotificationManager notifier,
     IBlobStorageProvider blobStorageProvider,
     CsvCouponImporter csvCouponImporter,
     ISecurityService securityService,
     IPermissionScopeService permissionScopeService,
     Func <IMarketingRepository> repositoryFactory
     )
 {
     _securityService        = securityService;
     _promotionService       = promotionService;
     _couponService          = couponService;
     _promoEvaluator         = promoEvaluator;
     _promoSearchService     = promoSearchService;
     _userNameResolver       = userNameResolver;
     _notifier               = notifier;
     _blobStorageProvider    = blobStorageProvider;
     _csvCouponImporter      = csvCouponImporter;
     _permissionScopeService = permissionScopeService;
     _repositoryFactory      = repositoryFactory;
 }
 public MarketingModulePromotionController(
     IPromotionService promotionService,
     ICouponService couponService,
     IMarketingExtensionManager promotionManager,
     IMarketingPromoEvaluator promoEvaluator,
     IExpressionSerializer expressionSerializer,
     IPromotionSearchService promoSearchService,
     IUserNameResolver userNameResolver,
     IPushNotificationManager notifier,
     IBlobStorageProvider blobStorageProvider,
     CsvCouponImporter csvCouponImporter,
     ISecurityService securityService,
     IPermissionScopeService permissionScopeService)
 {
     _securityService           = securityService;
     _marketingExtensionManager = promotionManager;
     _promotionService          = promotionService;
     _couponService             = couponService;
     _promoEvaluator            = promoEvaluator;
     _expressionSerializer      = expressionSerializer;
     _promoSearchService        = promoSearchService;
     _userNameResolver          = userNameResolver;
     _notifier               = notifier;
     _blobStorageProvider    = blobStorageProvider;
     _csvCouponImporter      = csvCouponImporter;
     _permissionScopeService = permissionScopeService;
 }
コード例 #3
0
 public MarketingModulePromotionController(
     IPromotionService promotionService,
     ICouponService couponService,
     IMarketingPromoEvaluator promoEvaluator,
     IPromotionSearchService promoSearchService,
     IUserNameResolver userNameResolver,
     IPushNotificationManager notifier,
     IBlobStorageProvider blobStorageProvider,
     CsvCouponImporter csvCouponImporter,
     Func <IMarketingRepository> repositoryFactory,
     ICouponSearchService couponSearchService,
     IAuthorizationService authorizationService)
 {
     _promotionService     = promotionService;
     _couponService        = couponService;
     _promoEvaluator       = promoEvaluator;
     _promoSearchService   = promoSearchService;
     _userNameResolver     = userNameResolver;
     _notifier             = notifier;
     _blobStorageProvider  = blobStorageProvider;
     _csvCouponImporter    = csvCouponImporter;
     _repositoryFactory    = repositoryFactory;
     _couponSearchService  = couponSearchService;
     _authorizationService = authorizationService;
 }
コード例 #4
0
 public EvalProductsDiscountsMiddleware(
     IMapper mapper
     , IMarketingPromoEvaluator marketingEvaluator
     , IGenericPipelineLauncher pipeline)
 {
     _mapper             = mapper;
     _marketingEvaluator = marketingEvaluator;
     _pipeline           = pipeline;
 }
コード例 #5
0
 public CartAggregate(
     IMarketingPromoEvaluator marketingEvaluator,
     IShoppingCartTotalsCalculator cartTotalsCalculator,
     ITaxProviderSearchService taxProviderSearchService,
     IMapper mapper
     )
 {
     _cartTotalsCalculator     = cartTotalsCalculator;
     _marketingEvaluator       = marketingEvaluator;
     _taxProviderSearchService = taxProviderSearchService;
     _mapper = mapper;
 }
コード例 #6
0
 public CartAggregate(
     IMarketingPromoEvaluator marketingEvaluator,
     IShoppingCartTotalsCalculator cartTotalsCalculator,
     ITaxProviderSearchService taxProviderSearchService,
     ICartProductService cartProductService,
     IDynamicPropertyUpdaterService dynamicPropertyUpdaterService,
     IMapper mapper
     )
 {
     _cartTotalsCalculator          = cartTotalsCalculator;
     _marketingEvaluator            = marketingEvaluator;
     _taxProviderSearchService      = taxProviderSearchService;
     _cartProductService            = cartProductService;
     _dynamicPropertyUpdaterService = dynamicPropertyUpdaterService;
     _mapper = mapper;
 }
コード例 #7
0
        public PolicyBenchmark()
        {
            // Register discriminators for promotion rewards to allow custom jsonconverters work correctly
            PolymorphJsonConverter.RegisterTypeForDiscriminator(typeof(PromotionReward), nameof(PromotionReward.Id));

            // Register the resulting trees expressions into the AbstractFactory<IConditionTree> to allow custom jsonconverters work correctly
            foreach (var conditionTree in AbstractTypeFactory <PromotionConditionAndRewardTreePrototype> .TryCreateInstance().Traverse <IConditionTree>(x => x.AvailableChildren))
            {
                AbstractTypeFactory <IConditionTree> .RegisterType(conditionTree.GetType());
            }
            foreach (var conditionTree in AbstractTypeFactory <DynamicContentConditionTreePrototype> .TryCreateInstance().Traverse <IConditionTree>(x => x.AvailableChildren))
            {
                AbstractTypeFactory <IConditionTree> .RegisterType(conditionTree.GetType());
            }

            // Create disabled memory cache to test full calculations every policy call
            var memoryCache = new MemoryCache(Options.Create(new MemoryCacheOptions()));

            disabledPlatformMemoryCache = new PlatformMemoryCache(memoryCache, Options.Create(new CachingOptions()
            {
                CacheEnabled = false
            }), new Mock <ILogger <PlatformMemoryCache> >().Object);


            // Mock evaluation context from pctx_mock.json file
            pCtx = MockPromotionEvaluationContext();

            // Mock promotions from promotions_mock.json file
            // If you want to have jsons like this from live system to benchmark different promotions combination, just call
            // in marketing module debug:
            // JsonConvert.SerializeObject(dynamicPromotion.DynamicExpression, new ConditionJsonConverter(doNotSerializeAvailCondition: true))
            // in immediate or watch
            promoSearchServiceMock = new Moq.Mock <IPromotionSearchService>();
            promoSearchServiceMock.Setup(x => x.SearchPromotionsAsync(It.IsAny <PromotionSearchCriteria>())).ReturnsAsync(MockPromotionSearchResult());


            _bestRewardPolicy = GetBestRewardPromotionPolicy();
            _stackablePolicy  = GetCombineStackablePromotionPolicy();
        }
 public MerchandisingModuleMarketingController(IMarketingPromoEvaluator promotionEvaluator, IMarketingDynamicContentEvaluator contentEvaluator, CacheManager cacheManager)
 {
     _promotionEvaluator = promotionEvaluator;
     _contentEvaluator   = contentEvaluator;
     _cacheManager       = cacheManager;
 }
コード例 #9
0
		public MarketingModulePromotionController(IPromotionService promotionService, 	IMarketingExtensionManager promotionManager, IMarketingPromoEvaluator promoEvaluator)
		{
			_marketingExtensionManager = promotionManager;
			_promotionService = promotionService;
            _promoEvaluator = promoEvaluator;
        }
		public MerchandisingModuleMarketingController(IMarketingPromoEvaluator promotionEvaluator, IMarketingDynamicContentEvaluator contentEvaluator, CacheManager cacheManager) 
        {
			_promotionEvaluator = promotionEvaluator;
			_contentEvaluator = contentEvaluator;
			_cacheManager = cacheManager;
        }
コード例 #11
0
 public MarketingModulePromotionController(IPromotionService promotionService, IMarketingExtensionManager promotionManager, IMarketingPromoEvaluator promoEvaluator)
 {
     _marketingExtensionManager = promotionManager;
     _promotionService          = promotionService;
     _promoEvaluator            = promoEvaluator;
 }