public IActionResult CreateProduct()
        {
            var productRemovedEvent = new ProductRemovedIntegrationEvent(Guid.NewGuid(), DateTime.UtcNow,
                                                                         "Some product", Guid.NewGuid());

            _eventBus.Publish(productRemovedEvent);

            return(Ok());
        }
Пример #2
0
        public async Task <bool> Handle(RemoveProductCommand request, CancellationToken cancellationToken)
        {
            var product = await _productRepository.GetProductByIdAsync(request.Id);

            var productRemovedIntegrationEvent = new ProductRemovedIntegrationEvent(product.ProductId);

            await _eventService.AddAndSaveEventAsync(productRemovedIntegrationEvent);

            await _productRepository.RemoveProductAsync(product);

            return(await _productRepository.UnitOfWork
                   .SaveEntitiesAsync(cancellationToken));
        }