Exemple #1
0
        public CartViewModelFactory(
            ILocalizationProvider localizationProvider,
            IViewModelMapper viewModelMapper,
            IFulfillmentMethodRepository fulfillmentMethodRepository,
            ICountryService countryService,
            IComposerContext composerContext,
            ITaxViewModelFactory taxViewModelFactory,
            ILineItemViewModelFactory lineItemViewModelFactory,
            IRewardViewModelFactory rewardViewModelFactory)
        {
            if (localizationProvider == null)
            {
                throw new ArgumentNullException("localizationProvider");
            }
            if (viewModelMapper == null)
            {
                throw new ArgumentNullException("viewModelMapper");
            }
            if (fulfillmentMethodRepository == null)
            {
                throw new ArgumentNullException("fulfillmentMethodRepository");
            }
            if (countryService == null)
            {
                throw new ArgumentNullException("countryService");
            }
            if (taxViewModelFactory == null)
            {
                throw new ArgumentNullException("taxViewModelFactory");
            }
            if (lineItemViewModelFactory == null)
            {
                throw new ArgumentNullException("lineItemViewModelFactory");
            }
            if (rewardViewModelFactory == null)
            {
                throw new ArgumentNullException("rewardViewModelFactory");
            }

            LocalizationProvider        = localizationProvider;
            ViewModelMapper             = viewModelMapper;
            FulfillmentMethodRepository = fulfillmentMethodRepository;
            CountryService           = countryService;
            ComposerContext          = composerContext;
            TaxViewModelFactory      = taxViewModelFactory;
            LineItemViewModelFactory = lineItemViewModelFactory;
            RewardViewModelFactory   = rewardViewModelFactory;
        }
Exemple #2
0
 public ShippingMethodViewService(
     IFulfillmentMethodRepository fulfillmentMethodRepository,
     ICartViewModelFactory cartViewModelFactory,
     ICartRepository cartRepository,
     ICartService cartService,
     IRecurringOrderTemplateViewModelFactory recurringOrderTemplateViewModelFactory,
     IRecurringOrderCartsViewService recurringOrderCartsViewService,
     IRecurringOrdersSettings recurringOrdersSettings)
 {
     FulfillmentMethodRepository = fulfillmentMethodRepository ?? throw new ArgumentNullException(nameof(fulfillmentMethodRepository));
     CartViewModelFactory        = cartViewModelFactory ?? throw new ArgumentNullException(nameof(cartViewModelFactory));
     CartRepository = cartRepository ?? throw new ArgumentNullException(nameof(cartRepository));
     CartService    = cartService ?? throw new ArgumentNullException(nameof(cartService));
     RecurringOrderTemplateViewModelFactory = recurringOrderTemplateViewModelFactory ?? throw new ArgumentNullException(nameof(recurringOrderTemplateViewModelFactory));
     RecurringOrderCartsViewService         = recurringOrderCartsViewService ?? throw new ArgumentNullException(nameof(recurringOrderCartsViewService));
     RecurringOrdersSettings = recurringOrdersSettings;
 }
Exemple #3
0
        /// <summary>
        /// CheckoutService constructor
        /// </summary>
        /// <param name="cartRepository">The repository for accessing cart data</param>
        /// <param name="cartService"></param>
        /// <param name="composerJsonSerializer">The json serializer</param>
        /// <param name="cartViewModelFactory"></param>
        /// <param name="lookupService"></param>
        /// <param name="addressRepository"></param>
        /// <param name="shippingMethodViewService"></param>
        /// <param name="imageService"></param>
        /// <param name="fulfillmentMethodRepository"></param>
        /// <param name="viewModelMapper"></param>
        /// <param name="lineItemViewModelFactory"></param>
        /// <param name="paymentRepository"></param>
        public CheckoutService(
            ICartRepository cartRepository,
            ICartService cartService,
            IComposerJsonSerializer composerJsonSerializer,
            ICartViewModelFactory cartViewModelFactory,
            ILookupService lookupService,
            IAddressRepository addressRepository,
            IShippingMethodViewService shippingMethodViewService,
            IImageService imageService,
            IFulfillmentMethodRepository fulfillmentMethodRepository,
            IViewModelMapper viewModelMapper,
            ILineItemViewModelFactory lineItemViewModelFactory,
            IPaymentRepository paymentRepository,
            IOrderDetailsViewModelFactory orderDetailsViewModelFactory,
            IOrderUrlProvider orderUrlProvider,
            IStoreRepository storeRepository,
            IInventoryLocationProvider inventoryLocationProvider)
        {
            CartRepository               = cartRepository ?? throw new ArgumentNullException(nameof(cartRepository));
            CartService                  = cartService ?? throw new ArgumentNullException(nameof(cartService));
            ComposerJsonSerializer       = composerJsonSerializer ?? throw new ArgumentNullException(nameof(composerJsonSerializer));
            CartViewModelFactory         = cartViewModelFactory ?? throw new ArgumentNullException(nameof(cartViewModelFactory));
            LookupService                = lookupService ?? throw new ArgumentNullException(nameof(lookupService));
            AddressRepository            = addressRepository ?? throw new ArgumentNullException(nameof(addressRepository));
            ShippingMethodViewService    = shippingMethodViewService ?? throw new ArgumentNullException(nameof(shippingMethodViewService));
            ImageService                 = imageService ?? throw new ArgumentNullException(nameof(imageService));
            FulfillmentMethodRepository  = fulfillmentMethodRepository ?? throw new ArgumentNullException(nameof(fulfillmentMethodRepository));
            ViewModelMapper              = viewModelMapper ?? throw new ArgumentNullException(nameof(viewModelMapper));
            LineItemViewModelFactory     = lineItemViewModelFactory ?? throw new ArgumentNullException(nameof(lineItemViewModelFactory));
            PaymentRepository            = paymentRepository ?? throw new ArgumentNullException(nameof(paymentRepository));
            OrderDetailsViewModelFactory = orderDetailsViewModelFactory ?? throw new ArgumentNullException(nameof(orderDetailsViewModelFactory));
            OrderUrlProvider             = orderUrlProvider ?? throw new ArgumentNullException(nameof(orderUrlProvider));
            StoreRepository              = storeRepository ?? throw new ArgumentNullException(nameof(storeRepository));
            InventoryLocationProvider    = inventoryLocationProvider ?? throw new ArgumentNullException(nameof(inventoryLocationProvider));

            _updateOperations = new Dictionary <string, UpdateOperation>();

            RegisterCartUpdateOperation <AddressViewModel>("ShippingAddress", UpdateShippingAddress, 1);
            RegisterCartUpdateOperation <RegisteredShippingAddressViewModel>("ShippingAddressRegistered", UpdateRegisteredShippingAddress, 1);
            RegisterCartUpdateOperation <PickUpAddressViewModel>("PickUpAddress", UpdatePickUpAddress, 1);
            RegisterCartUpdateOperation <CustomerSummaryViewModel>("GuestCustomerInfo", UpdateCustomer, 2);
            RegisterCartUpdateOperation <BillingAddressViewModel>("BillingAddress", UpdateBillingAddress, 3);
            RegisterCartUpdateOperation <RegisteredBillingAddressViewModel>("BillingAddressRegistered", UpdateRegisteredBillingAddress, 3);
            RegisterCartUpdateOperation <ShippingMethodViewModel>("ShippingMethod", UpdateShippingMethod, 4);
        }
 public CartViewModelFactory(
     ILocalizationProvider localizationProvider,
     IViewModelMapper viewModelMapper,
     IFulfillmentMethodRepository fulfillmentMethodRepository,
     ICountryService countryService,
     IComposerContext composerContext,
     ITaxViewModelFactory taxViewModelFactory,
     ILineItemViewModelFactory lineItemViewModelFactory,
     IRewardViewModelFactory rewardViewModelFactory,
     ICartUrlProvider cartUrlProvider)
 {
     LocalizationProvider        = localizationProvider ?? throw new ArgumentNullException(nameof(localizationProvider));
     ViewModelMapper             = viewModelMapper ?? throw new ArgumentNullException(nameof(viewModelMapper));
     FulfillmentMethodRepository = fulfillmentMethodRepository ?? throw new ArgumentNullException(nameof(fulfillmentMethodRepository));
     CountryService           = countryService ?? throw new ArgumentNullException(nameof(countryService));
     ComposerContext          = composerContext ?? throw new ArgumentNullException(nameof(composerContext));
     TaxViewModelFactory      = taxViewModelFactory ?? throw new ArgumentNullException(nameof(taxViewModelFactory));
     LineItemViewModelFactory = lineItemViewModelFactory ?? throw new ArgumentNullException(nameof(lineItemViewModelFactory));
     RewardViewModelFactory   = rewardViewModelFactory ?? throw new ArgumentNullException(nameof(rewardViewModelFactory));
     CartUrlProvider          = cartUrlProvider ?? throw new ArgumentNullException(nameof(cartUrlProvider));
 }
        /// <summary>
        /// CheckoutService constructor
        /// </summary>
        /// <param name="cartRepository">The repository for accessing cart data</param>
        /// <param name="cartService"></param>
        /// <param name="composerJsonSerializer">The json serializer</param>
        /// <param name="cartViewModelFactory"></param>
        /// <param name="lookupService"></param>
        /// <param name="addressRepository"></param>
        /// <param name="shippingMethodViewService"></param>
        /// <param name="imageService"></param>
        /// <param name="fulfillmentMethodRepository"></param>
        /// <param name="viewModelMapper"></param>
        /// <param name="lineItemViewModelFactory"></param>
        /// <param name="paymentRepository"></param>
        public CheckoutService(
            ICartRepository cartRepository,
            ICartService cartService,
            IComposerJsonSerializer composerJsonSerializer,
            ICartViewModelFactory cartViewModelFactory,
            ILookupService lookupService,
            IAddressRepository addressRepository,
            IShippingMethodViewService shippingMethodViewService,
            IImageService imageService,
            IFulfillmentMethodRepository fulfillmentMethodRepository,
            IViewModelMapper viewModelMapper,
            ILineItemViewModelFactory lineItemViewModelFactory,
            IPaymentRepository paymentRepository)
        {
            if (cartRepository == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(cartRepository)));
            }
            if (cartService == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(cartService)));
            }
            if (composerJsonSerializer == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(ComposerJsonSerializer)));
            }
            if (cartViewModelFactory == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(cartViewModelFactory)));
            }
            if (lookupService == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(LookupService)));
            }
            if (addressRepository == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(addressRepository)));
            }
            if (shippingMethodViewService == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(shippingMethodViewService)));
            }
            if (imageService == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(imageService)));
            }
            if (fulfillmentMethodRepository == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(fulfillmentMethodRepository)));
            }
            if (viewModelMapper == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(viewModelMapper)));
            }
            if (lineItemViewModelFactory == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(lineItemViewModelFactory)));
            }
            if (paymentRepository == null)
            {
                throw new ArgumentNullException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(paymentRepository)));
            }

            CartRepository              = cartRepository;
            CartService                 = cartService;
            ComposerJsonSerializer      = composerJsonSerializer;
            CartViewModelFactory        = cartViewModelFactory;
            LookupService               = lookupService;
            AddressRepository           = addressRepository;
            ShippingMethodViewService   = shippingMethodViewService;
            ImageService                = imageService;
            FulfillmentMethodRepository = fulfillmentMethodRepository;
            ViewModelMapper             = viewModelMapper;
            LineItemViewModelFactory    = lineItemViewModelFactory;
            PaymentRepository           = paymentRepository;

            _updateOperations = new Dictionary <string, UpdateOperation>();

            RegisterCartUpdateOperation <AddressViewModel>("ShippingAddress", UpdateShippingAddress, 1);
            RegisterCartUpdateOperation <RegisteredShippingAddressViewModel>("ShippingAddressRegistered", UpdateRegisteredShippingAddress, 1);
            RegisterCartUpdateOperation <CustomerSummaryViewModel>("GuestCustomerInfo", UpdateCustomer, 2);
            RegisterCartUpdateOperation <BillingAddressViewModel>("BillingAddress", UpdateBillingAddress, 3);
            RegisterCartUpdateOperation <RegisteredBillingAddressViewModel>("BillingAddressRegistered", UpdateRegisteredBillingAddress, 3);
            RegisterCartUpdateOperation <ShippingMethodViewModel>("ShippingMethod", UpdateShippingMethod, 4);
        }