public IActionResult CreateProduct() { var productRemovedEvent = new ProductRemovedIntegrationEvent(Guid.NewGuid(), DateTime.UtcNow, "Some product", Guid.NewGuid()); _eventBus.Publish(productRemovedEvent); return(Ok()); }
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)); }