public RecurringOrderCartsViewService(
     ICartRepository cartRepository,
     IOvertureClient overtureClient,
     IRecurringOrderCartViewModelFactory recurringOrderCartViewModelFactory,
     IImageService imageService,
     ILookupService lookupService,
     IRecurringOrdersRepository recurringOrdersRepository,
     IComposerContext composerContext,
     IAddressRepository addressRepository,
     ICouponViewService couponViewService,
     IRecurringCartUrlProvider recurringCartUrlProvider,
     IRecurringScheduleUrlProvider recurringScheduleUrlProvider,
     IRecurringOrdersSettings recurringOrdersSettings)
 {
     OvertureClient = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     CartRepository = cartRepository ?? throw new ArgumentNullException(nameof(cartRepository));
     RecurringOrderCartViewModelFactory = recurringOrderCartViewModelFactory ?? throw new ArgumentNullException(nameof(recurringOrderCartViewModelFactory));
     ImageService                 = imageService ?? throw new ArgumentNullException(nameof(imageService));
     LookupService                = lookupService ?? throw new ArgumentNullException(nameof(lookupService));
     RecurringOrdersRepository    = recurringOrdersRepository ?? throw new ArgumentNullException(nameof(recurringOrdersRepository));
     ComposerContext              = composerContext ?? throw new ArgumentNullException(nameof(composerContext));
     AddressRepository            = addressRepository ?? throw new ArgumentNullException(nameof(addressRepository));
     CouponViewService            = couponViewService ?? throw new ArgumentNullException(nameof(couponViewService));
     RecurringCartUrlProvider     = recurringCartUrlProvider ?? throw new ArgumentNullException(nameof(recurringCartUrlProvider));
     RecurringScheduleUrlProvider = recurringScheduleUrlProvider ?? throw new ArgumentNullException(nameof(recurringScheduleUrlProvider));
     RecurringOrdersSettings      = recurringOrdersSettings;
 }
 public RecurringOrderTemplateViewModelFactory(
     IOvertureClient overtureClient,
     ILocalizationProvider localizationProvider,
     IViewModelMapper viewModelMapper,
     ICountryService countryService,
     IComposerContext composerContext,
     IRecurringOrdersRepository recurringOrdersRepository,
     IAddressRepository addressRepository,
     IProductUrlProvider productUrlProvider,
     IProductPriceViewService productPriceViewService,
     IRecurringScheduleUrlProvider recurringScheduleUrlProvider,
     IRecurringOrderProgramViewModelFactory recurringOrderProgramViewModelFactory,
     IRecurringOrdersRepository recurringOrderRepository)
 {
     LocalizationProvider                  = localizationProvider ?? throw new ArgumentNullException(nameof(localizationProvider));
     ViewModelMapper                       = viewModelMapper ?? throw new ArgumentNullException(nameof(viewModelMapper));
     CountryService                        = countryService ?? throw new ArgumentNullException(nameof(countryService));
     ComposerContext                       = composerContext;
     RecurringOrdersRepository             = recurringOrdersRepository ?? throw new ArgumentNullException(nameof(recurringOrdersRepository));
     AddressRepository                     = addressRepository ?? throw new ArgumentNullException(nameof(addressRepository));
     ProductUrlProvider                    = productUrlProvider ?? throw new ArgumentNullException(nameof(productUrlProvider));
     ProductPriceViewService               = productPriceViewService ?? throw new ArgumentNullException(nameof(productPriceViewService));
     OvertureClient                        = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     RecurringScheduleUrlProvider          = recurringScheduleUrlProvider ?? throw new ArgumentNullException(nameof(recurringScheduleUrlProvider));
     RecurringOrderProgramViewModelFactory = recurringOrderProgramViewModelFactory ?? throw new ArgumentNullException(nameof(recurringOrderProgramViewModelFactory));
     RecurringOrderRepository              = recurringOrderRepository ?? throw new ArgumentNullException(nameof(recurringOrderRepository));
 }
예제 #3
0
 public void SetUp()
 {
     _overtureClient            = new Mock <IOvertureClient>().Object;
     _productFactory            = new Mock <IProductRequestFactory>().Object;
     _facetPredicateFactory     = new Mock <IFacetPredicateFactory>().Object;
     _facetConfigurationContext = new Mock <IFacetConfigurationContext>().Object;
 }
 public SearchQueryRepository(IOvertureClient overtureClient,
                              IProductRequestFactory productRequestFactory,
                              IFacetPredicateFactory facetPredicateFactory,
                              IFacetConfigurationContext facetConfigContext)
     : base(overtureClient, productRequestFactory, facetPredicateFactory, facetConfigContext)
 {
 }
예제 #5
0
 public OrderRepository(
     IOvertureClient overtureClient,
     IFindOrdersRequestFactory findOrdersRequestFactory,
     ICacheProvider cacheProvider)
 {
     OvertureClient           = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     FindOrdersRequestFactory = findOrdersRequestFactory ?? throw new ArgumentNullException(nameof(findOrdersRequestFactory));
     CacheProvider            = cacheProvider ?? throw new ArgumentNullException(nameof(cacheProvider));
 }
        public InventoryRepository(IOvertureClient overtureClient)
        {
            if (overtureClient == null)
            {
                throw new ArgumentNullException("overtureClient");
            }

            OvertureClient = overtureClient;
        }
예제 #7
0
        public ProductSitemapEntryProvider(IOvertureClient overtureClient, IProductUrlProvider productUrlProvider, IProductUrlParamFactory productUrlParamFactory)
        {
            Guard.NotNull(overtureClient, nameof(overtureClient));
            Guard.NotNull(productUrlProvider, nameof(productUrlProvider));

            _overtureClient         = overtureClient;
            _productUrlProvider     = productUrlProvider;
            _productUrlParamFactory = productUrlParamFactory;
        }
예제 #8
0
        private ComposerOvertureClient(IOvertureClient client)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }

            _client = client;
        }
 public SearchRepository(
     IOvertureClient overtureClient,
     IProductRequestFactory productRequestFactory,
     IFacetPredicateFactory facetPredicateFactory,
     IFacetConfigurationContext facetConfigContext)
 {
     OvertureClient        = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     ProductRequestFactory = productRequestFactory ?? throw new ArgumentNullException(nameof(productRequestFactory));
     FacetPredicateFactory = facetPredicateFactory ?? throw new ArgumentNullException(nameof(facetPredicateFactory));
     FacetConfigContext    = facetConfigContext ?? throw new ArgumentNullException(nameof(facetConfigContext));
 }
        public RelationshipRepository(IOvertureClient overtureClient, IProductRequestFactory productRequestFactory)
        {
            if (overtureClient == null)
            {
                throw new ArgumentNullException(nameof(overtureClient));
            }
            if (productRequestFactory == null)
            {
                throw new ArgumentNullException(nameof(productRequestFactory));
            }

            _overtureClient        = overtureClient;
            _productRequestFactory = productRequestFactory;
        }
        public OrderRepository(IOvertureClient overtureClient, IFindOrdersRequestFactory findOrdersRequestFactory)
        {
            if (overtureClient == null)
            {
                throw new ArgumentNullException("overtureClient");
            }
            if (findOrdersRequestFactory == null)
            {
                throw new ArgumentNullException("findOrdersRequestFactory");
            }

            OvertureClient           = overtureClient;
            FindOrdersRequestFactory = findOrdersRequestFactory;
        }
예제 #12
0
        public PaymentRepository(IOvertureClient overtureClient, ICacheProvider cacheProvider)
        {
            if (overtureClient == null)
            {
                throw new ArgumentNullException(nameof(overtureClient));
            }
            if (cacheProvider == null)
            {
                throw new ArgumentNullException(nameof(cacheProvider));
            }

            OvertureClient = overtureClient;
            CacheProvider  = cacheProvider;
        }
예제 #13
0
        public WishListRepository(IOvertureClient overtureClient, ICacheProvider cacheProvider)
        {
            if (overtureClient == null)
            {
                throw new ArgumentNullException("overtureClient");
            }
            if (cacheProvider == null)
            {
                throw new ArgumentNullException("cacheProvider");
            }

            OvertureClient = overtureClient;
            CacheProvider  = cacheProvider;
        }
        public ProductLookupRepository(IOvertureClient overtureClient, ICacheProvider cacheProvider)
        {
            if (overtureClient == null)
            {
                throw new ArgumentNullException("overtureClient");
            }
            if (cacheProvider == null)
            {
                throw new ArgumentNullException("cacheProvider");
            }

            _overtureClient = overtureClient;
            _cacheProvider  = cacheProvider;
        }
예제 #15
0
 public RecurringOrderTemplatesViewService(IRecurringOrdersRepository recurringOrdersRepository,
                                           IViewModelMapper viewModelMapper,
                                           IOvertureClient overtureClient, ILookupService lookupService,
                                           IRecurringOrderTemplateViewModelFactory recurringOrderTemplateViewModelFactory,
                                           IImageService imageService,
                                           IRecurringOrdersSettings recurringOrdersSettings)
 {
     RecurringOrderRepository = recurringOrdersRepository ?? throw new ArgumentNullException(nameof(recurringOrdersRepository));
     ViewModelMapper          = viewModelMapper ?? throw new ArgumentNullException(nameof(viewModelMapper));
     OvertureClient           = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     LookupService            = lookupService ?? throw new ArgumentNullException(nameof(lookupService));
     RecurringOrderTemplateViewModelFactory = recurringOrderTemplateViewModelFactory ?? throw new ArgumentNullException(nameof(recurringOrderTemplateViewModelFactory));
     ImageService            = imageService ?? throw new ArgumentNullException(nameof(imageService));
     RecurringOrdersSettings = recurringOrdersSettings ?? throw new ArgumentNullException(nameof(recurringOrdersSettings));
 }
예제 #16
0
        private void InitOvertureSettings(ref string name, NameValueCollection config)
        {
            if (string.IsNullOrEmpty(name))
            {
                name = "overture";
            }

            if (string.IsNullOrEmpty(config["description"]))
            {
                config.Remove("description");
                config.Add("description", "Overture Membership provider");
            }

            _matchDomainUserRegex = new Regex(string.Format(@"^{0}\\(?<username>.+)$", OvertureMembershipConfiguration.DefaultMembershipDomain), RegexOptions.IgnoreCase | RegexOptions.Compiled);

            _client = ComposerHost.Current.Resolve <IOvertureClient>();

            GetMembershipConfigurationFromOverture();
        }
        private static async Task <List <Lookup> > GetLookups(ProductDefinition productDef, IOvertureClient client)
        {
            var kvaLookupAttributes = productDef.VariantProperties.Where(vp => vp.IsKeyVariant && vp.DataType == PropertyDataType.Lookup)
                                      .Select(vp => vp.LookupDefinition.LookupName);

            var results     = new List <Lookup>();
            var lookupTasks = new List <Task <Lookup> >();

            foreach (var name in kvaLookupAttributes.Distinct())
            {
                var request = new GetProductLookupRequest
                {
                    LookupName = name
                };

                lookupTasks.Add(client.SendAsync(request));
            }

            var lookupResults = await Task.WhenAll(lookupTasks).ConfigureAwait(false);

            foreach (var lookup in lookupResults)
            {
                if (lookup != null)
                {
                    results.Add(lookup);
                }
            }

            return(results);
        }
        public static async Task <List <KeyVariantAttributes> > GetKeyVariantAttributes(Product product, Variant variant, CultureInfo culture, IOvertureClient client)
        {
            if (variant == null)
            {
                return(null);
            }

            var request = new GetProductDefinitionRequest()
            {
                CultureName = culture.Name,
                Name        = product.DefinitionName,
            };

            var productDef = client.Send(request);

            var lookups = await GetLookups(productDef, client).ConfigureAwait(false);

            if (variant.PropertyBag == null)
            {
                return(null);
            }

            var keyVariantAttributes = productDef.VariantProperties.Where(x => x.IsKeyVariant)
                                       .OrderBy(x => x.KeyVariantOrder)
                                       .ToList();

            if (!keyVariantAttributes.Any())
            {
                return(null);
            }

            var list = new List <KeyVariantAttributes>();

            foreach (var keyVariantAttribute in keyVariantAttributes)
            {
                object kvaValue;
                if (keyVariantAttribute.DataType.Equals(PropertyDataType.Lookup))
                {
                    var lookup =
                        lookups.SingleOrDefault(l => l.LookupName == keyVariantAttribute.LookupDefinition.LookupName);
                    kvaValue = GetLocalizedKvaDisplayValueFromLookup(lookup, culture.Name, variant, keyVariantAttribute);
                }
                else
                {
                    kvaValue = GetLocalizedKvaDisplayValueFromValue(culture.Name, variant, keyVariantAttribute);
                }

                if (kvaValue != null)
                {
                    list.Add(new KeyVariantAttributes()
                    {
                        Key           = keyVariantAttribute.PropertyName,
                        Value         = kvaValue.ToString(),
                        OriginalValue = variant.PropertyBag[keyVariantAttribute.PropertyName].ToString()
                    });
                }
            }

            return(list);
        }
예제 #19
0
 public ProductMediaSettingsRepository(IOvertureClient overtureClient, ICacheProvider cacheProvider)
 {
     OvertureClient = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     CacheProvider  = cacheProvider ?? throw new ArgumentNullException(nameof(cacheProvider));
 }
예제 #20
0
 public LookupRepositoryFactory(IOvertureClient overtureClient, ICacheProvider cacheProvider)
 {
     _overtureClient = overtureClient;
     _cacheProvider  = cacheProvider;
 }
 private ComposerOvertureClient(IOvertureClient client)
 {
     _client = client ?? throw new ArgumentNullException(nameof(client));
 }
 public ProductRepository(IOvertureClient overtureClient, ICacheProvider cacheProvider)
 {
     OvertureClient = overtureClient ?? throw new ArgumentNullException("overtureClient");
     CacheProvider  = cacheProvider ?? throw new ArgumentNullException("cacheProvider");
 }
예제 #23
0
 public InventoryRepository(IOvertureClient overtureClient)
 {
     OvertureClient = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
 }
예제 #24
0
 public ProductSitemapEntryProvider(IOvertureClient overtureClient, IProductUrlProvider productUrlProvider, IProductUrlParamFactory productUrlParamFactory)
 {
     _overtureClient         = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     _productUrlProvider     = productUrlProvider ?? throw new ArgumentNullException(nameof(productUrlProvider));
     _productUrlParamFactory = productUrlParamFactory;
 }
예제 #25
0
 public CustomerDefinitionsRepository(IOvertureClient overtureClient, ICacheProvider cacheProvider)
 {
     OvertureClient = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     CacheProvider  = cacheProvider ?? throw new ArgumentNullException(nameof(cacheProvider));
 }
 public OrderLookupRepository(IOvertureClient overtureClient, ICacheProvider cacheProvider)
 {
     _overtureClient = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     _cacheProvider  = cacheProvider ?? throw new ArgumentNullException(nameof(cacheProvider));
 }
예제 #27
0
 public FulfillmentMethodRepository(IOvertureClient overtureClient, ICacheProvider cacheProvider)
 {
     OvertureClient = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     CacheProvider  = cacheProvider ?? throw new ArgumentNullException(nameof(cacheProvider));
 }
 public ScopeRepository(IOvertureClient overtureClient, ICacheProvider cacheProvider)
 {
     OvertureClient = overtureClient;
     CacheProvider  = cacheProvider;
 }
예제 #29
0
 public RecurringOrdersRepository(IOvertureClient overtureClient, ICacheProvider cacheProvider)
 {
     OvertureClient = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     CacheProvider  = cacheProvider ?? throw new ArgumentNullException(nameof(cacheProvider));
 }
예제 #30
0
 /// <summary>
 /// Initializes a new instance of the <see cref="VaultProfileRepository"/> class.
 /// </summary>
 /// <param name="overtureClient">The overture client.</param>
 /// <param name="cacheProvider">The cache provider.</param>
 /// <exception cref="System.ArgumentNullException">
 /// overtureClient
 /// or
 /// cacheProvider
 /// </exception>
 public VaultProfileRepository(IOvertureClient overtureClient, ICacheProvider cacheProvider)
 {
     OvertureClient = overtureClient ?? throw new ArgumentNullException(nameof(overtureClient));
     CacheProvider  = cacheProvider ?? throw new ArgumentNullException(nameof(cacheProvider));
 }