コード例 #1
0
 public EventPublisher(QuantityAdditionFailedEventHandler quantityAdditionFailedEventHandler,
     QuantityAddedDbEventHandler quantityAddedDbEventHandler,
     ClearShoppingCartEventHandler clearShoppingCartEventHandler)
 {
     this.quantityAdditionFailedEventHandler = quantityAdditionFailedEventHandler;
     this.quantityAddedDbEventHandler = quantityAddedDbEventHandler;
     this.clearShoppingCartEventHandler = clearShoppingCartEventHandler;
 }
コード例 #2
0
 public EventPublisher(QuantityAdditionFailedEventHandler quantityAdditionFailedEventHandler,
                       QuantityAddedDbEventHandler quantityAddedDbEventHandler,
                       ClearShoppingCartEventHandler clearShoppingCartEventHandler)
 {
     this.quantityAdditionFailedEventHandler = quantityAdditionFailedEventHandler;
     this.quantityAddedDbEventHandler        = quantityAddedDbEventHandler;
     this.clearShoppingCartEventHandler      = clearShoppingCartEventHandler;
 }
コード例 #3
0
        public void QuantityAddedDbEventHandlerTest()
        {
            ShoppingCartRepository.ClearCart();

            var quantityAddedEvent = new QuantityAddedEvent()
                                         {
                                             AddedQuantity = 5,
                                             ProductId = 2
                                         };

            var quantityAddedDbEventHandler = new QuantityAddedDbEventHandler();
            quantityAddedDbEventHandler.Handle(quantityAddedEvent);

            var repositoryResult = (List<ShoppingCartElement>)ShoppingCartRepository.GetAllShoppingCartElements();
            Assert.AreEqual(repositoryResult.Count, 1);
        }
コード例 #4
0
        public ShoppingCart GetShoppingCart(int productId)
        {
            var shoppingCartElement = ShoppingCartRepository.Get(productId);

            if (shoppingCartElement == null)
            {
                shoppingCartElement = new ShoppingCartElement();
                shoppingCartElement.ProductId = productId;
                shoppingCartElement.Quantity = 0;
            }

            var quantityAdditionFailedEventHandler = new QuantityAdditionFailedEventHandler();
            var quantityAddedDbEventHandler = new QuantityAddedDbEventHandler();
            var clearShoppingCartEventHandler = new ClearShoppingCartEventHandler();
            return new ShoppingCart(new EventPublisher(quantityAdditionFailedEventHandler, quantityAddedDbEventHandler, clearShoppingCartEventHandler),
                shoppingCartElement.ProductId,
                shoppingCartElement.Quantity);
        }
コード例 #5
0
        public void QuantityAddedDbEventHandlerTest()
        {
            ShoppingCartRepository.ClearCart();

            var quantityAddedEvent = new QuantityAddedEvent()
            {
                AddedQuantity = 5,
                ProductId     = 2
            };

            var quantityAddedDbEventHandler = new QuantityAddedDbEventHandler();

            quantityAddedDbEventHandler.Handle(quantityAddedEvent);

            var repositoryResult = (List <ShoppingCartElement>)ShoppingCartRepository.GetAllShoppingCartElements();

            Assert.AreEqual(repositoryResult.Count, 1);
        }
コード例 #6
0
ファイル: BusinessProxy.cs プロジェクト: tomtom77/CQRS_WebAPI
        public ShoppingCart GetShoppingCart(int productId)
        {
            var shoppingCartElement = ShoppingCartRepository.Get(productId);

            if (shoppingCartElement == null)
            {
                shoppingCartElement           = new ShoppingCartElement();
                shoppingCartElement.ProductId = productId;
                shoppingCartElement.Quantity  = 0;
            }

            var quantityAdditionFailedEventHandler = new QuantityAdditionFailedEventHandler();
            var quantityAddedDbEventHandler        = new QuantityAddedDbEventHandler();
            var clearShoppingCartEventHandler      = new ClearShoppingCartEventHandler();

            return(new ShoppingCart(new EventPublisher(quantityAdditionFailedEventHandler, quantityAddedDbEventHandler, clearShoppingCartEventHandler),
                                    shoppingCartElement.ProductId,
                                    shoppingCartElement.Quantity));
        }