Ejemplo n.º 1
0
        public async Task OrderCreatedAsync(OrderCreatedMessage ocMessage)
        {
            using var scope = _provider.CreateScope();
            {
                var services     = scope.ServiceProvider;
                var cusRepo      = services.GetService <IRepository <Customer> >();
                var msgPublisher = services.GetService <IMessagePublisher>();

                var customerExists = await cusRepo.GetById(ocMessage.OrderDTO.CustomerID) is null ? false : true;

                CustomerValidatedMessage customerValidatedMessage = new CustomerValidatedMessage()
                {
                    OrderID        = ocMessage.OrderDTO.ID,
                    CustomerExists = customerExists,
                    ProductIDs     = customerExists ? ocMessage.OrderDTO.Products.Select(x => x.ProductID).ToList() : new List <int>()
                };

                await msgPublisher.PublishCustomerValidatedMessage(customerValidatedMessage);
            }
        }
Ejemplo n.º 2
0
 public async Task PublishCustomerValidatedMessage(CustomerValidatedMessage csMessage)
 {
     string topic = csMessage.CustomerExists ? "CustomerValidatedX" : "CustomerValidated";
     await _bus.PublishAsync(csMessage, topic);
 }