protected virtual IQueryable <PromotionUsageEntity> GetPromotionUsageQuery(IMarketingRepository repository, PromotionUsageSearchCriteria criteria) { var query = repository.PromotionUsages; if (!string.IsNullOrEmpty(criteria.PromotionId)) { query = query.Where(x => x.PromotionId == criteria.PromotionId); } if (!string.IsNullOrEmpty(criteria.CouponCode)) { query = query.Where(x => x.CouponCode == criteria.CouponCode); } if (!string.IsNullOrEmpty(criteria.ObjectId)) { query = query.Where(x => x.ObjectId == criteria.ObjectId); } if (!string.IsNullOrEmpty(criteria.ObjectType)) { query = query.Where(x => x.ObjectType == criteria.ObjectType); } if (!string.IsNullOrWhiteSpace(criteria.UserId)) { query = query.Where(x => x.UserId == criteria.UserId); } if (!string.IsNullOrWhiteSpace(criteria.UserName)) { query = query.Where(x => x.UserName == criteria.UserName); } return(query); }
protected virtual IQueryable <Model.PromotionEntity> GetPromotionsQuery(IMarketingRepository repository, PromotionSearchCriteria criteria) { var query = repository.Promotions; if (!string.IsNullOrEmpty(criteria.Store)) { query = query.Where(x => !x.Stores.Any() || x.Stores.Any(s => s.StoreId == criteria.Store)); } if (!criteria.StoreIds.IsNullOrEmpty()) { query = query.Where(x => !x.Stores.Any() || x.Stores.Any(s => criteria.StoreIds.Contains(s.StoreId))); } if (criteria.OnlyActive) { var now = DateTime.UtcNow; query = query.Where(x => x.IsActive && (x.StartDate == null || now >= x.StartDate) && (x.EndDate == null || x.EndDate >= now)); } if (!string.IsNullOrEmpty(criteria.Keyword)) { query = query.Where(x => x.Name.Contains(criteria.Keyword) || x.Description.Contains(criteria.Keyword)); } return(query); }
public DefaultPromotionEvaluator(IMarketingRepository repository, IPromotionUsageProvider usageProvider, IEvaluationPolicy[] policies, ICacheRepository cache) :base(cache) { _repository = repository; _usageProvider = usageProvider; _policies = policies; _isEnabled = MarketingConfiguration.Instance.Cache.IsEnabled; Cache = new CacheHelper(cache); }
/// <summary> /// Initializes the <see cref="PromotionClient" /> class. /// </summary> /// <param name="marketingRepository">The marketing repository.</param> /// <param name="customerSession">The customer session.</param> /// <param name="evaluator"></param> /// <param name="cacheRepository">The cache repository.</param> public PromotionClient(IMarketingRepository marketingRepository, ICustomerSessionService customerSession, IPromotionEvaluator evaluator, ICacheRepository cacheRepository) { _marketingRepository = marketingRepository; _cacheRepository = cacheRepository; _customerSession = customerSession; _evaluator = evaluator; }
public DefaultPromotionEvaluator(IMarketingRepository repository, IPromotionUsageProvider usageProvider, IEvaluationPolicy[] policies, ICacheRepository cache) : base(cache) { _repository = repository; _usageProvider = usageProvider; _policies = policies; _isEnabled = MarketingConfiguration.Instance.Cache.IsEnabled; Cache = new CacheHelper(cache); }
public MarketingController(IMarketingRepository marketingRepository, IMapper mapper, IReadModelDatabase database, IUnitOfWork unitOfWork, IUserProfileRepository userProfileRepository) : base(mapper, database, userProfileRepository, unitOfWork) { _database = database; _mapper = mapper; _marketingRepository = marketingRepository; _unitOfWork = unitOfWork; }
private async Task RemoveChildren(DynamicContentFolderEntity[] folders, IMarketingRepository repository) { var childrenIds = repository.Folders .Where(x => folders .Select(q => q.Id) .Contains(x.ParentFolderId)) .ToArray(); if (!childrenIds.IsNullOrEmpty()) { await RemoveChildren(childrenIds, repository); } await repository.RemoveFoldersAsync(folders); }
public CalculateDiscountsActivity(ICatalogRepository catalogRepository, cust.ICustomerSessionService customerService, IMarketingRepository marketingRepository, IPricelistRepository priceListRepository, IPromotionEntryPopulate entryPopulate, ICatalogOutlineBuilder catalogOutlineBuilder, IPromotionEvaluator evaluator) { _catalogRepository = catalogRepository; _marketingRepository = marketingRepository; _promotionEntryPopulate = entryPopulate; _priceListRepository = priceListRepository; _customerSessionService = customerService; _catalogOutlineBuilder = catalogOutlineBuilder; _promotionEvaluator = evaluator; }
public RemoveExpiredPromotionReservations(IMarketingRepository marketingRepository) { _marketingRepository = marketingRepository; }
protected virtual IQueryable <DynamicContentItemEntity> BuildQuery(DynamicContentItemSearchCriteria criteria, IMarketingRepository repository) { var query = repository.Items; if (!string.IsNullOrEmpty(criteria.FolderId)) { query = query.Where(x => x.FolderId == criteria.FolderId); } if (!string.IsNullOrEmpty(criteria.Keyword)) { query = query.Where(q => q.Name.Contains(criteria.Keyword)); } return(query); }
public CouponService GetCouponService(IPlatformMemoryCache platformMemoryCache, IMarketingRepository repository) { return(new CouponService( () => repository, _eventPublisherMock.Object, platformMemoryCache)); }
public ServicioCampanas() { _contexto = new EFMarketingRepository(); }
public DynamicContentService GetPromotionService(IPlatformMemoryCache platformMemoryCache, IMarketingRepository repository) { return(new DynamicContentService(() => repository, _eventPublisherMock.Object, platformMemoryCache)); }
public RecordPromotionUsageActivity(ICustomerSessionService customerService, IMarketingRepository marketingRepository) { _marketingRepository = marketingRepository; _customerSessionService = customerService; }
protected virtual IQueryable <DynamicContentPublishingGroupEntity> BuildQuery(DynamicContentPublicationSearchCriteria criteria, IMarketingRepository repository) { var query = repository.PublishingGroups; if (!string.IsNullOrEmpty(criteria.Store)) { query = query.Where(x => x.StoreId == criteria.Store); } if (criteria.OnlyActive) { query = query.Where(x => x.IsActive == true); } if (criteria.StartDate != null) { query = query.Where(x => x.StartDate == null || criteria.StartDate >= x.StartDate); } if (criteria.EndDate != null) { query = query.Where(x => x.EndDate == null || x.EndDate >= criteria.EndDate); } if (!string.IsNullOrEmpty(criteria.PlaceName)) { query = query.Where(x => x.ContentPlaces.Any(y => y.ContentPlace.Name == criteria.PlaceName)); } if (!string.IsNullOrEmpty(criteria.Keyword)) { query = query.Where(q => q.Name.Contains(criteria.Keyword)); } return(query); }
public ServicioStands() { _contexto = new EFMarketingRepository(); }
protected virtual IQueryable <CouponEntity> BuildQuery(CouponSearchCriteria criteria, IMarketingRepository repository) { var query = repository.Coupons; if (!string.IsNullOrEmpty(criteria.PromotionId)) { query = query.Where(c => c.PromotionId == criteria.PromotionId); } if (!string.IsNullOrEmpty(criteria.Code)) { query = query.Where(c => c.Code == criteria.Code); } if (!criteria.Codes.IsNullOrEmpty()) { query = query.Where(c => criteria.Codes.Contains(c.Code)); } return(query); }
public MarketingService(IMarketingRepository marketingRepository, IPromotionEvaluator evaluator) { _marketingRepository = marketingRepository; _evaluator = evaluator; }
public ServicioClientes() { _contexto = new EFMarketingRepository(); }
public MarketingController(IMarketingRepository marketingRepo, ISmsRepository smsRepo, IHostingEnvironment env) { _smsRepo = smsRepo; _marketingRepo = marketingRepo; _env = env; }
public MarketingDataController(IMarketingRepository marketingRepo, ISmsRepository smsRepo) { _marketingRepo = marketingRepo; _smsRepo = smsRepo; }
public PromotionUsageService GetPromotionUsageService(IPlatformMemoryCache platformMemoryCache, IMarketingRepository repository) { return(new PromotionUsageService( () => repository, _eventPublisherMock.Object, platformMemoryCache)); }
public RemoveDiscountActivity(IMarketingRepository marketingRepository) { _marketingRepository = marketingRepository; }
public PromotionUsageProvider(IMarketingRepository repository) { _repository = repository; }