public WriteShoppingCartRequestHandler(IShoppingCartRepository shoppingCartRepository,
                                        IItemShoppingCartRepository itemShoppingCartRepository, IAspNetUser user)
 {
     _shoppingCartRepository     = shoppingCartRepository;
     _itemShoppingCartRepository = itemShoppingCartRepository;
     _customerId = Guid.Parse(user.GetId());
 }
Beispiel #2
0
 public DonHangController(ICartRepository cartRepository, IShoppingCartRepository shoppingCartRepository, ICustomerRepository customerRepository, IDiemTichLuyRepository diemTichLuyRepository)
 {
     _cartRepository         = cartRepository;
     _shoppingCartRepository = shoppingCartRepository;
     _customerRepository     = customerRepository;
     _diemTichLuyRepository  = diemTichLuyRepository;
 }
Beispiel #3
0
 public _CateringsController(IMapper mapper, ILunchRepository catering, ICalendarRepository calendar, IShoppingCartRepository cart)
 {
     _cart     = cart;
     _calendar = calendar;
     _mapper   = mapper;
     _catering = catering;
 }
Beispiel #4
0
 public CartInLayoutViewComponent(IShoppingCartRepository shoppingCart, ICartRepository cartRepository, IServiceProvider services, IProductRepository productRepository)
 {
     this._shoppingCart      = shoppingCart;
     this._cartRepository    = cartRepository;
     this._services          = services;
     this._productRepository = productRepository;
 }
Beispiel #5
0
        public CheckoutSummaryPageViewModel(INavigationService navigationService,
                                            IOrderService orderService,
                                            IOrderRepository orderRepository,
                                            IShippingMethodService shippingMethodService,
                                            ICheckoutDataRepository checkoutDataRepository,
                                            IShoppingCartRepository shoppingCartRepository,
                                            IAccountService accountService,
                                            IResourceLoader resourceLoader,
                                            IAlertMessageService alertMessageService,
                                            ISignInUserControlViewModel signInUserControlViewModel)
        {
            _navigationService          = navigationService;
            _orderService               = orderService;
            _orderRepository            = orderRepository;
            _shippingMethodService      = shippingMethodService;
            _checkoutDataRepository     = checkoutDataRepository;
            _shoppingCartRepository     = shoppingCartRepository;
            _resourceLoader             = resourceLoader;
            _accountService             = accountService;
            _alertMessageService        = alertMessageService;
            _signInUserControlViewModel = signInUserControlViewModel;

            SubmitCommand = DelegateCommand.FromAsyncHandler(SubmitAsync, CanSubmit);

            EditCheckoutDataCommand   = new DelegateCommand(EditCheckoutData);
            SelectCheckoutDataCommand = new DelegateCommand(async() => await SelectCheckoutDataAsync());
            AddCheckoutDataCommand    = new DelegateCommand(AddCheckoutData);
        }
Beispiel #6
0
 public ShoppingCartController(IShoppingCartRepository repository, IPaymentProvider paymentProvider, INotificationProvider notificationProvider, ShoppingCartContext shoppingCartContext)
 {
     _repository           = repository;
     _paymentProvider      = paymentProvider;
     _notificationProvider = notificationProvider;
     _shoppingCartContext  = shoppingCartContext;
 }
        public CheckoutSummaryPageViewModel(INavigationService navigationService,
            IOrderService orderService,
            IOrderRepository orderRepository,
            IShippingMethodService shippingMethodService,
            ICheckoutDataRepository checkoutDataRepository,
            IShoppingCartRepository shoppingCartRepository,
            IAccountService accountService,
            IResourceLoader resourceLoader,
            IAlertMessageService alertMessageService,
            ISignInUserControlViewModel signInUserControlViewModel)
        {
            _navigationService = navigationService;
            _orderService = orderService;
            _orderRepository = orderRepository;
            _shippingMethodService = shippingMethodService;
            _checkoutDataRepository = checkoutDataRepository;
            _shoppingCartRepository = shoppingCartRepository;
            _resourceLoader = resourceLoader;
            _accountService = accountService;
            _alertMessageService = alertMessageService;
            _signInUserControlViewModel = signInUserControlViewModel;

            SubmitCommand = DelegateCommand.FromAsyncHandler(SubmitAsync, CanSubmit);

            EditCheckoutDataCommand = new DelegateCommand(EditCheckoutData);
            SelectCheckoutDataCommand = new DelegateCommand(async () => await SelectCheckoutDataAsync());
            AddCheckoutDataCommand = new DelegateCommand(AddCheckoutData);
        }
 public UpdateShoppingCartHandler(IShoppingCartRepository repository, IMapper mapper)
 {
     _repository = repository ??
                   throw new ArgumentNullException(nameof(repository));
     _mapper = mapper ??
               throw new ArgumentNullException(nameof(mapper));
 }
Beispiel #9
0
 public ShoppingCartController(IShoppingCartRepository shoppingCartRepository, IItemsRepository itemsRepository, IShoppingCartItemsRepository shoppingCartItemsRepository, ILogger <ShoppingCartController> logger)
 {
     _shoppingCartRepository      = shoppingCartRepository;
     _itemsRepository             = itemsRepository;
     _shoppingCartItemsRepository = shoppingCartItemsRepository;
     _logger = logger;
 }
Beispiel #10
0
 public CheckoutModel(IShoppingCartRepository cartRepository,
                      IProductRepository productRepository, SignInManager <IdentityUser> signInManager)
 {
     this.cartRepository    = cartRepository;
     this.productRepository = productRepository;
     this.signInManager     = signInManager;
 }
 public ShoppingCartModel()
 {
     INhibernateConnection connection = new NHibernateConnection();
     ISessionFactory sessionFactory = connection.CreateSessionFactory();
     ISession _session = sessionFactory.OpenSession();
     _cartRepo = new ShoppingCartRepository(connection);
 }
Beispiel #12
0
 public GetShoppingCartByCustomerConsumer(IShoppingCartRepository repo, IMapper mapper
                                          , IShoppingCartBuilder builder)
 {
     this.repo    = repo;
     this.mapper  = mapper;
     this.builder = builder;
 }
 public OrderService(IOrderRepository orderRepository, IOrderItemRepository orderItemRepository, IShoppingCartRepository shoppingCartRepository, IShoppingCartItemRepository shoppingCartItemRepository)
 {
     _orderRepository            = orderRepository;
     _orderItemRepository        = orderItemRepository;
     _shoppingCartRepository     = shoppingCartRepository;
     _shoppingCartItemRepository = shoppingCartItemRepository;
 }
Beispiel #14
0
        public ShoppingCartPageViewModel(IShoppingCartRepository shoppingCartRepository,
                                         INavigationService navigationService,
                                         IAccountService accountService,
                                         ISignInUserControlViewModel signInUserControlViewModel,
                                         IResourceLoader resourceLoader,
                                         IAlertMessageService alertMessageService,
                                         ICheckoutDataRepository checkoutDataRepository,
                                         IOrderRepository orderRepository,
                                         IEventAggregator eventAggregator)
        {
            _shoppingCartRepository     = shoppingCartRepository;
            _navigationService          = navigationService;
            _accountService             = accountService;
            _signInUserControlViewModel = signInUserControlViewModel;
            _resourceLoader             = resourceLoader;
            _alertMessageService        = alertMessageService;
            _checkoutDataRepository     = checkoutDataRepository;
            _orderRepository            = orderRepository;

            CheckoutCommand       = new DelegateCommand(async() => await CheckoutAsync(), CanCheckout);
            RemoveCommand         = new DelegateCommand <ShoppingCartItemViewModel>(async vm => await Remove(vm));
            IncrementCountCommand = new DelegateCommand(async() => await IncrementCount());
            DecrementCountCommand = new DelegateCommand(async() => await DecrementCount(), CanDecrementCount);

            // Subscribe to the ShoppingCartUpdated event
            if (eventAggregator != null)
            {
                eventAggregator.GetEvent <ShoppingCartUpdatedEvent>().Subscribe(UpdateShoppingCartAsync);
            }
        }
Beispiel #15
0
 public CartController(
     IShoppingCartRepository shoppingCartRepository,
     IProductRepository productRepository)
 {
     this.shoppingCartRepository = shoppingCartRepository;
     this.productRepository      = productRepository;
 }
 public LoginModel(SignInManager <IdentityUser> signInManager, ILogger <LoginModel> logger, IApplicationUserRepository user, IShoppingCartRepository shoppingCart)
 {
     _signInManager = signInManager;
     _logger        = logger;
     _user          = user;
     _shoppingCart  = shoppingCart;
 }
 public ShoppingCartService(IUnitOfWork unitOfWork, IMapper mapper, ILogger <ShoppingCartService> logger)
 {
     _unitOfWork = unitOfWork;
     _mapper     = mapper;
     _logger     = logger;
     _repository = _unitOfWork.GetRepository <IShoppingCartRepository>();
 }
 public PdfBoardController(
     IPdfBoardRepository pdfBoardRepository,
     IShare share,
     IUserRepository userRepository,
     IShoppingCartRepository shoppingCartRepository,
     IProductRepository productRepository,
     IRepositoryV2 <Order> orderDataRepository,
     IRepositoryV2 <PdfBoard> pdfBoardDataRepository,
     IRepositoryV2 <User> userDataRepository,
     IRepositoryV2 <Product> productDataRepository,
     IRepositoryV2 <PackagingList> packagingListDataRepository,
     IRepositoryV2 <HeadInformation> headInformationDataRepository)
 {
     this.pdfBoardRepository = pdfBoardRepository;
     this.share                     = share;
     this.userRepository            = userRepository;
     this.shoppingCartRepository    = shoppingCartRepository;
     this.productRepository         = productRepository;
     _orderDataRepository           = orderDataRepository;
     _pdfBoardDataRepository        = pdfBoardDataRepository;
     _userDataRepository            = userDataRepository;
     _productDataRepository         = productDataRepository;
     _packagingListDataRepository   = packagingListDataRepository;
     _headInformationDataRepository = headInformationDataRepository;
 }
 public ShoppingCartManager(IShoppingCartRepository shoppingCartRepository, IAddressValidator addressValidator, IMapper mapper, ICheckOutEngine checkOutEngine)
 {
     _shoppingCartRepository = shoppingCartRepository;
     _mapper           = mapper;
     _checkOutEngine   = checkOutEngine;
     _addressValidator = addressValidator;
 }
Beispiel #20
0
 public LunchController(IShoppingCartRepository cartRepository, AppDbContext appDbContext, IMapper mapper, ILunchRepository lunchRepository)
 {
     _cartRepository  = cartRepository;
     _appDbContext    = appDbContext;
     _mapper          = mapper;
     _lunchRepository = lunchRepository;
 }
 public ShoppingCartService(IShoppingCartRepository shoppingCartRepository, IProductManager productManager, IMapper mapper, IAmmountRepository ammountRepository)
 {
     _shoppingCartRepository = shoppingCartRepository;
     _productManager         = productManager;
     _mapper            = mapper;
     _ammountRepository = ammountRepository;
 }
        public ShoppingCartPageViewModel(IShoppingCartRepository shoppingCartRepository,
            INavigationService navigationService,
            IAccountService accountService,
            ISignInUserControlViewModel signInUserControlViewModel,
            IResourceLoader resourceLoader,
            IAlertMessageService alertMessageService,
            ICheckoutDataRepository checkoutDataRepository,
            IOrderRepository orderRepository,
            IEventAggregator eventAggregator)
        {
            _shoppingCartRepository = shoppingCartRepository;
            _navigationService = navigationService;
            _accountService = accountService;
            _signInUserControlViewModel = signInUserControlViewModel;
            _resourceLoader = resourceLoader;
            _alertMessageService = alertMessageService;
            _checkoutDataRepository = checkoutDataRepository;
            _orderRepository = orderRepository;

            CheckoutCommand = DelegateCommand.FromAsyncHandler(CheckoutAsync, CanCheckout);
            RemoveCommand = DelegateCommand<ShoppingCartItemViewModel>.FromAsyncHandler(Remove);
            IncrementCountCommand = DelegateCommand.FromAsyncHandler(IncrementCount);
            DecrementCountCommand = DelegateCommand.FromAsyncHandler(DecrementCount, CanDecrementCount);

            // Subscribe to the ShoppingCartUpdated event
            if (eventAggregator != null)
            {
                eventAggregator.GetEvent<ShoppingCartUpdatedEvent>().Subscribe(UpdateShoppingCartAsync);
            }
        }
Beispiel #23
0
 public CartService(IProductRepository product, IPromocodeRepository promocode, IShoppingCartRepository cart, IProductShoppingCartRepository productCart)
 {
     productRepository     = product;
     promocodeRepository   = promocode;
     cartRepository        = cart;
     productCartRepository = productCart;
 }
 public EmptyCartCommand(
     IProductRepository productRepository,
     IShoppingCartRepository shoppingCartRepository)
 {
     _productRepository      = productRepository;
     _shoppingCartRepository = shoppingCartRepository;
 }
Beispiel #25
0
 public OrderService(IUserRepository userRepository, IOrderRepository orderRepository, IShoppingCartRepository shoppingCartRepository, IBookRepository bookRepository)
 {
     _userRepository         = userRepository;
     _orderRepository        = orderRepository;
     _shoppingCartRepository = shoppingCartRepository;
     _bookRepository         = bookRepository;
 }
Beispiel #26
0
 public CalendarDataController(AppDbContext appDbContext, IShoppingCartRepository sCart, IMapper mapper, ICalendarRepository calendarRepository)
 {
     _cartRepository     = sCart;
     _appDbContext       = appDbContext;
     _mapper             = mapper;
     _calendarRepository = calendarRepository;
 }
 public ShoppingCartService(IShoppingCartRepository shoppingCartRepository, IMovieReprository movieReprository, IWishlistRepository wishlistRepository, UserManager <IdentityUser> userManager)
 {
     _shoppingCartRepository = shoppingCartRepository;
     _movieReprository       = movieReprository;
     _wishlistRepository     = wishlistRepository;
     _userManager            = userManager;
 }
Beispiel #28
0
 public StripeWebHook(IOrderRepository orderRepository,
                      IShoppingCartRepository shoppingCartRepository, SignInManager <IdentityUser> signInManager)
 {
     this.orderRepository        = orderRepository;
     this.shoppingCartRepository = shoppingCartRepository;
     this.signInManager          = signInManager;
 }
Beispiel #29
0
 public ShoppingCartService(
     IShoppingCartRepository shoppingCartRepository,
     IBookRepository bookRepository)
 {
     _shoppingCartRepository = shoppingCartRepository;
     _bookRepository         = bookRepository;
 }
Beispiel #30
0
        public ShoppingCartController(IPieRepository pieRepository, IShoppingCartRepository shoppingCartRepository)
        {
            _pieRepository = pieRepository;
            _shoppingCart  = new ShoppingCart();//TODO: find a better to inject this dependency

            _shoppingCartRepository = shoppingCartRepository;
        }
Beispiel #31
0
 public AccountController(UserManager <User> userManager, SignInManager <User> signInManager, ILogger <AccountController> logger, IShoppingCartRepository shoppingCartRepository)
 {
     this.userManager            = userManager;
     this.signInManager          = signInManager;
     this.logger                 = logger;
     this.shoppingCartRepository = shoppingCartRepository;
 }
        ///<inheritdoc/>
        public void Handle(GetShoppingCartCommand command)
        {
            IShoppingCartRepository repository = SystemObjectFactory.GetInstance <IShoppingCartRepository>();
            ShoppingCart            result     = repository.GetShoppingCartByUserId(command.UserId);

            command.SetResult(result);
        }
        /// <summary>
        /// 初始化一个<c>OrderServiceImpl</c>类型的实例。
        /// </summary>
        /// <param name="context">用来初始化<c>OrderServiceImpl</c>类型的仓储上下文实例。</param>
        /// <param name="shoppingCartRepository">“购物篮”仓储实例。</param>
        /// <param name="shoppingCartItemRepository">“购物篮项目”仓储实例。</param>
        /// <param name="productRepository">“笔记本电脑”仓储实例。</param>
        /// <param name="customerRepository">“客户”仓储实例。</param>
        /// <param name="salesOrderRepository">“销售订单”仓储实例。</param>
        public OrderServiceImpl(IRepositoryContext context,
                                IShoppingCartRepository shoppingCartRepository,
                                IShoppingCartItemRepository shoppingCartItemRepository,
                                IProductRepository productRepository,
                                IUserRepository customerRepository,
                                ISalesOrderRepository salesOrderRepository,
                                IDomainService domainService,
                                IDomainEventHandler <OrderDispatchedEvent>[] orderDispatchedDomainEventHandlers)
            : base(context)
        {
            this.shoppingCartRepository     = shoppingCartRepository;
            this.shoppingCartItemRepository = shoppingCartItemRepository;
            this.productRepository          = productRepository;
            this.userRepository             = customerRepository;
            this.salesOrderRepository       = salesOrderRepository;
            this.domainService = domainService;
            this.orderDispatchedDomainEventHandlers.AddRange(orderDispatchedDomainEventHandlers);

            foreach (var handler in this.orderDispatchedDomainEventHandlers)
            {
                DomainEventAggregator.Subscribe <OrderDispatchedEvent>(handler);
            }
            DomainEventAggregator.Subscribe <OrderConfirmedEvent>(orderConfirmedEventHandlerAction);
            DomainEventAggregator.Subscribe <OrderConfirmedEvent>(orderConfirmedEventHandlerAction2);
        }
        public ProductViewModel(Product product, IShoppingCartRepository shoppingCartRepository)
        {
            _product = product;
            _shoppingCartRepository = shoppingCartRepository;
            _image = product.ImageUri;

            AddToCartCommand = DelegateCommand.FromAsyncHandler(AddToCart);
        }
 public CustomMembershipProvider(IUserRepository userRepository,
                                 IHashProvider hashProvider,
                                 IUserProfileRepository userProfileRepository,
                                 IShoppingCartRepository shoppingCartRepository)
 {
     _userRepository = userRepository;
     _hashProvider = hashProvider;
     _userProfileRepository = userProfileRepository;
     _shoppingCartRepository = shoppingCartRepository;
 }
        public void Startup() {
            _cartRepository = new TestShoppingCartRepository();
            _catalogRepository = new TestCatalogRepository();
            _userRepository = new TestUserRepository();

            cartService = new ShoppingCartService(_cartRepository);
            catalogService = new CatalogService(_catalogRepository);
            userService = new UserService(_userRepository);

        }
        public ShoppingCartProductService(IShoppingCartProductRepository shoppingCartProductRepository, IShoppingCartRepository shoppingCartRepository, IUserService userService)
        {
            this.shoppingCartProductRepository = shoppingCartProductRepository;
            this.shoppingCartRepository = shoppingCartRepository;
            this.userService = userService;

            int userId = userService.GetUserId();
            ShoppingCart dbShoppingCart = shoppingCartRepository.FindShoppingCartByUserId(userId);
            this.shoppingCartId = dbShoppingCart.Id;
        }
 public ShoppingCartModel()
 {
     INhibernateConnection connection = new NHibernateConnection();
     ISessionFactory sessionFactory = connection.CreateSessionFactory();
     ISession _session = sessionFactory.OpenSession();
     _cartRepo = new ShoppingCartRepository(connection);
     _orderRepo = new OrdersRepository(connection);
     _orderDetailsRepo = new OrderDetailsRepository(connection);
     _producRepo = new ProductsRepository(connection);
 }
        public ItemDetailPageViewModel(IProductCatalogRepository productCatalogRepository, IShoppingCartRepository shoppingCartRepository, IAlertMessageService alertMessageService, IResourceLoader resourceLoader, ISecondaryTileService secondaryTileService)
        {
            _productCatalogRepository = productCatalogRepository;
            _shoppingCartRepository = shoppingCartRepository;
            _alertService = alertMessageService;
            _resourceLoader = resourceLoader;
            _secondaryTileService = secondaryTileService;

            PinProductCommand = DelegateCommand.FromAsyncHandler(PinProduct, () => SelectedProduct != null);
            UnpinProductCommand = DelegateCommand.FromAsyncHandler(UnpinProduct, () => SelectedProduct != null);
        }
Beispiel #40
0
 public UserServiceImp(
     IUserRepository userRepository,
     IShoppingCartRepository shoppingCartRepository,
     IDomainService domainService,
     IRoleRepository roleRepository,
     IUserRoleRepository userRoleRepository)
 {
     _userRepository = userRepository;
     _shoppingCartRepository = shoppingCartRepository;
     _domainService = domainService;
     _roleRepository = roleRepository;
     _userRoleRepository = userRoleRepository;
 }
Beispiel #41
0
 public UserServiceImp(IRepositoryContext repositoryContext,
     IUserRepository userRepository,
     IShoppingCartRepository shoppingCartRepository,
     IDomainService domainService,
     IRoleRepository roleRepository,
     IUserRoleRepository userRoleRepository)
     : base(repositoryContext)
 {
     _userRepository = userRepository;
     _shoppingCartRepository = shoppingCartRepository;
     _domainService = domainService;
     _roleRepository = roleRepository;
     _userRoleRepository = userRoleRepository;
 }
 public ShoppingCartService(IUserRepository userRepository,
                            IShoppingCartRepository shoppingCartRepository,
                            ICartItemRepository cartItemRepository,
                            IOrderRepository orderRepository,
                            IOrderItemRepository orderItemRepository,
                            IAuthenticationService authenticationService)
 {
     _userRepository = userRepository;
     _shoppingCartRepository = shoppingCartRepository;
     _cartItemRepository = cartItemRepository;
     _orderRepository = orderRepository;
     _orderItemRepository = orderItemRepository;
     _authenticationService = authenticationService;
 }
        public ProductViewModel(Product product, IShoppingCartRepository shoppingCartRepository, IAlertMessageService alertMessageService, IResourceLoader resourceLoader)
        {
            if (product == null)
            {
                throw new ArgumentNullException("product");
            }

            _product = product;
            _shoppingCartRepository = shoppingCartRepository;
            _alertMessageService = alertMessageService;
            _resourceLoader = resourceLoader;

            AddToCartCommand = DelegateCommand.FromAsyncHandler(AddToCart);
        }
 /// <summary>
 /// 初始化一个新的<c>UserServiceImpl</c>实例。
 /// </summary>
 /// <param name="context"></param>
 /// <param name="userRepository"></param>
 /// <param name="userRoleRepository"></param>
 /// <param name="roleRepository"></param>
 /// <param name="shoppingCartRepository"></param>
 /// <param name="salesOrderRepository"></param>
 /// <param name="domainService"></param>
 public UserServiceImpl(IRepositoryContext context,
     IUserRepository userRepository,
     IUserRoleRepository userRoleRepository,
     IRoleRepository roleRepository,
     IShoppingCartRepository shoppingCartRepository,
     ISalesOrderRepository salesOrderRepository,
     IDomainService domainService)
     : base(context)
 {
     this.userRepository = userRepository;
     this.userRoleRepository = userRoleRepository;
     this.roleRepository = roleRepository;
     this.shoppingCartRepository = shoppingCartRepository;
     this.salesOrderRepository = salesOrderRepository;
     this.domainService = domainService;
 }
Beispiel #45
0
 /// <summary>
 /// 初始化一个<c>OrderServiceImpl</c>类型的实例。
 /// </summary>
 /// <param name="context">用来初始化<c>OrderServiceImpl</c>类型的仓储上下文实例。</param>
 /// <param name="shoppingCartRepository">“购物篮”仓储实例。</param>
 /// <param name="shoppingCartItemRepository">“购物篮项目”仓储实例。</param>
 /// <param name="productRepository">“笔记本电脑”仓储实例。</param>
 /// <param name="customerRepository">“客户”仓储实例。</param>
 /// <param name="salesOrderRepository">“销售订单”仓储实例。</param>
 public OrderServiceImpl(IRepositoryContext context,
     IShoppingCartRepository shoppingCartRepository,
     IShoppingCartItemRepository shoppingCartItemRepository,
     IProductRepository productRepository,
     IUserRepository customerRepository,
     ISalesOrderRepository salesOrderRepository,
     IDomainService domainService)
     : base(context)
 {
     this.shoppingCartRepository = shoppingCartRepository;
     this.shoppingCartItemRepository = shoppingCartItemRepository;
     this.productRepository = productRepository;
     this.userRepository = customerRepository;
     this.salesOrderRepository = salesOrderRepository;
     this.domainService = domainService;
 }
Beispiel #46
0
 public OrderServiceImp(IUserRepository userRepository,
     IShoppingCartRepository shoppingCartRepository,
     IProductRepository productRepository,
     IShoppingCartItemRepository shoppingCartItemRepository,
     IDomainService domainService,
     IOrderRepository orderRepository,
     IEventBus eventBus)
 {
     _userRepository = userRepository;
     _shoppingCartRepository = shoppingCartRepository;
     _productRepository = productRepository;
     _shoppingCartItemRepository = shoppingCartItemRepository;
     _domainService = domainService;
     _orderRepository = orderRepository;
     _eventBus = eventBus;
 }
        public CheckoutHubPageViewModel(INavigationService navigationService, IAccountService accountService, IOrderRepository orderRepository, IShoppingCartRepository shoppingCartRepository,
                                        IShippingAddressUserControlViewModel shippingAddressViewModel, IBillingAddressUserControlViewModel billingAddressViewModel, IPaymentMethodUserControlViewModel paymentMethodViewModel,
                                        IFlyoutService flyoutService, IResourceLoader resourceLoader, IAlertMessageService alertMessageService)
        {
            _navigationService = navigationService;
            _accountService = accountService;
            _orderRepository = orderRepository;
            _shoppingCartRepository = shoppingCartRepository;
            _shippingAddressViewModel = shippingAddressViewModel;
            _billingAddressViewModel = billingAddressViewModel;
            _paymentMethodViewModel = paymentMethodViewModel;
            _flyoutService = flyoutService;
            _alertMessageService = alertMessageService;
            _resourceLoader = resourceLoader;

            GoBackCommand = new DelegateCommand(navigationService.GoBack, navigationService.CanGoBack);
            GoNextCommand = new DelegateCommand(GoNext);
        }
 /// <summary>
 /// 初始化一个<c>OrderServiceImpl</c>类型的实例。
 /// </summary>
 /// <param name="context">用来初始化<c>OrderServiceImpl</c>类型的仓储上下文实例。</param>
 /// <param name="shoppingCartRepository">“购物篮”仓储实例。</param>
 /// <param name="shoppingCartItemRepository">“购物篮项目”仓储实例。</param>
 /// <param name="productRepository">“笔记本电脑”仓储实例。</param>
 /// <param name="customerRepository">“客户”仓储实例。</param>
 /// <param name="salesOrderRepository">“销售订单”仓储实例。</param>
 /// <param name="domainService">领域服务实例</param>
 /// <param name="bus">事件总线实例</param>
 public OrderServiceImpl(IRepositoryContext context,
     IShoppingCartRepository shoppingCartRepository,
     IShoppingCartItemRepository shoppingCartItemRepository,
     IProductRepository productRepository,
     IUserRepository customerRepository,
     ISalesOrderRepository salesOrderRepository,
     IDomainService domainService,
     IEventBus bus)
     : base(context)
 {
     _shoppingCartRepository = shoppingCartRepository;
     _shoppingCartItemRepository = shoppingCartItemRepository;
     _productRepository = productRepository;
     _userRepository = customerRepository;
     _salesOrderRepository = salesOrderRepository;
     _domainService = domainService;
     _bus = bus;
 }
        public ItemDetailPageViewModel(IProductCatalogRepository productCatalogRepository, INavigationService navigationService, IShoppingCartRepository shoppingCartRepository, IAlertMessageService alertMessageService, IResourceLoader resourceLoader, ITileService tileService, ISearchPaneService searchPaneService)
        {
            _productCatalogRepository = productCatalogRepository;
            _shoppingCartRepository = shoppingCartRepository;
            _alertService = alertMessageService;
            _resourceLoader = resourceLoader;
            _tileService = tileService;
            _searchPaneService = searchPaneService;
            _isAppBarSticky = false;

            GoBackCommand = new DelegateCommand(navigationService.GoBack, navigationService.CanGoBack);
            AddToCartCommand = DelegateCommand.FromAsyncHandler(AddToCart, CanAddToCart);
            // <snippet802>
            PinProductCommand = DelegateCommand.FromAsyncHandler(PinProduct, () => SelectedProduct != null);
            // </snippet802>
            // <snippet805>
            UnpinProductCommand = DelegateCommand.FromAsyncHandler(UnpinProduct, () => SelectedProduct != null);
            // </snippet805>
        }
        public ShoppingCartTabUserControlViewModel(IShoppingCartRepository shoppingCartRepository, IEventAggregator eventAggregator, IAlertMessageService alertMessageService, IResourceLoader resourceLoader, IAccountService accountService)
        {
            // ItemCount will be set using async method call.
            _itemCount = 0;

            _shoppingCartRepository = shoppingCartRepository;
            _alertMessageService = alertMessageService;
            _resourceLoader = resourceLoader;
            _accountService = accountService;

            if (eventAggregator != null)
            {
                // Documentation on loosely coupled communication is at http://go.microsoft.com/fwlink/?LinkID=288820&clcid=0x409
                eventAggregator.GetEvent<ShoppingCartUpdatedEvent>().Subscribe(UpdateItemCountAsync);
                eventAggregator.GetEvent<ShoppingCartItemUpdatedEvent>().Subscribe(UpdateItemCountAsync);
            }

            // Start process of updating item count.
            UpdateItemCountAsync(null);
        }
        public ShoppingCartTabUserControlViewModel(IShoppingCartRepository shoppingCartRepository, IEventAggregator eventAggregator, INavigationService navigationService, IAlertMessageService alertMessageService, IResourceLoader resourceLoader, IAccountService accountService)
        {
            _itemCount = 0; //ItemCount will be set using async method call.

            _shoppingCartRepository = shoppingCartRepository;
            _navigationService = navigationService;
            _alertMessageService = alertMessageService;
            _resourceLoader = resourceLoader;
            _accountService = accountService;

            if (eventAggregator != null)
            {
                eventAggregator.GetEvent<ShoppingCartUpdatedEvent>().Subscribe(UpdateItemCountAsync);
                eventAggregator.GetEvent<ShoppingCartItemUpdatedEvent>().Subscribe(UpdateItemCountAsync);
            }

            ShoppingCartTabCommand = new DelegateCommand(NavigateToShoppingCartPage);

            //Start process of updating item count.
            UpdateItemCountAsync(null);
        }
        public ShoppingCartPageViewModel(IShoppingCartRepository shoppingCartRepository, INavigationService navigationService, IAccountService accountService,
                                         IFlyoutService flyoutService, IResourceLoader resourceLoader, IAlertMessageService alertMessageService,
                                         ICheckoutDataRepository checkoutDataRepository, IOrderRepository orderRepository, IEventAggregator eventAggregator)
        {
            _shoppingCartRepository = shoppingCartRepository;
            _navigationService = navigationService;
            _accountService = accountService;
            _flyoutService = flyoutService;
            _resourceLoader = resourceLoader;
            _alertMessageService = alertMessageService;
            _checkoutDataRepository = checkoutDataRepository;
            _orderRepository = orderRepository;

            CheckoutCommand = DelegateCommand.FromAsyncHandler(CheckoutAsync, CanCheckout);
            EditAmountCommand = new DelegateCommand(OpenEditAmountFlyout);
            RemoveCommand = DelegateCommand<ShoppingCartItemViewModel>.FromAsyncHandler(Remove);
            GoBackCommand = new DelegateCommand(navigationService.GoBack);
            IncrementCountCommand = DelegateCommand.FromAsyncHandler(IncrementCount);
            DecrementCountCommand = DelegateCommand.FromAsyncHandler(DecrementCount, CanDecrementCount);

            // Subscribe to the ShoppingCartUpdated event
            eventAggregator.GetEvent<ShoppingCartUpdatedEvent>().Subscribe(UpdateShoppingCartAsync);
        }
        /// <summary>
        /// 初始化一个<c>OrderServiceImpl</c>类型的实例。
        /// </summary>
        /// <param name="context">用来初始化<c>OrderServiceImpl</c>类型的仓储上下文实例。</param>
        /// <param name="shoppingCartRepository">“购物篮”仓储实例。</param>
        /// <param name="shoppingCartItemRepository">“购物篮项目”仓储实例。</param>
        /// <param name="productRepository">“笔记本电脑”仓储实例。</param>
        /// <param name="customerRepository">“客户”仓储实例。</param>
        /// <param name="salesOrderRepository">“销售订单”仓储实例。</param>
        public OrderServiceImpl(IRepositoryContext context,
            IShoppingCartRepository shoppingCartRepository,
            IShoppingCartItemRepository shoppingCartItemRepository,
            IProductRepository productRepository,
            IUserRepository customerRepository,
            ISalesOrderRepository salesOrderRepository,
            IDomainService domainService,
            IDomainEventHandler<OrderDispatchedEvent>[] orderDispatchedDomainEventHandlers)
            :base(context)
        {
            this.shoppingCartRepository = shoppingCartRepository;
            this.shoppingCartItemRepository = shoppingCartItemRepository;
            this.productRepository = productRepository;
            this.userRepository = customerRepository;
            this.salesOrderRepository = salesOrderRepository;
            this.domainService = domainService;
            this.orderDispatchedDomainEventHandlers.AddRange(orderDispatchedDomainEventHandlers);

            foreach (var handler in this.orderDispatchedDomainEventHandlers)
                DomainEventAggregator.Subscribe<OrderDispatchedEvent>(handler);
            DomainEventAggregator.Subscribe<OrderConfirmedEvent>(orderConfirmedEventHandlerAction);
            DomainEventAggregator.Subscribe<OrderConfirmedEvent>(orderConfirmedEventHandlerAction2);
        }
 public ShoppingCartController(IShoppingCartRepository shoppingCartRepository, IShoppingCart shoppingCart)
 {
     repository = shoppingCartRepository;
     cart = shoppingCart;
 }
 public ShoppingCartController()
 {
     repository = new ShoppingCartRepository();
     cart = new ShoppingCart();
 }
 public ShoppingCartService(IShoppingCartRepository shoppingCartRepository)
 {
     _shoppingCartRepository = shoppingCartRepository;
 }
 public ShoppingCartController(IShoppingCartRepository shoppingCartRepository, IProductRepository productRepository)
 {
     this._shoppingCartRepository = shoppingCartRepository;
     this._productRepository = productRepository;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ShoppingCartTasks"/> class.
 /// </summary>
 /// <param name="shoppingCartRepository">The shopping cart repository.</param>
 public ShoppingCartTasks(IShoppingCartRepository shoppingCartRepository)
 {
     this.shoppingCartRepository = shoppingCartRepository;
 }
        public void SetUp()
        {
            _moviesRepository = new FakeMoviesRepository();
            _shoppingCartRepository = new FakeShoppingCartRepository();
            _cartItemRepository = new FakeCartItemRepository();
            _orderItemRepository = new FakeOrderItemRepository();
            _orderRepository = new FakeOrderRepository();
            _userRepository = new FakeUserRepository();

            _authenticationService = new FakeAuthenticationService();
            _authenticationService.Authenticated = false;

            _shoppingCartService = new ShoppingCartService(_userRepository,
                                                           _shoppingCartRepository,
                                                           _cartItemRepository,
                                                           _orderRepository,
                                                           _orderItemRepository,
                                                           _authenticationService);
        }
 public ShoppingCartService(IUserService userService, IShoppingCartRepository shoppingCartRepository)
 {
     this.userService = userService;
     this.shoppingCartRepository = shoppingCartRepository;
 }