private void HandleMessage(OrderStartedIntegrationEvent newOrderModel)
        {
            using (var scope = _serviceScopeFactory.CreateScope())
            {
                try
                {
                    _productService = scope.ServiceProvider.GetRequiredService <IProductServiceAPI>();

                    bool result = false;
                    foreach (var product in newOrderModel.Order_Detail)
                    {
                        var temp = _productService.UpdateQuantity(product.id, product.quantity);
                        result = !result ? temp || result : temp && result;
                    }
                    if (result)
                    {
                        var eventData = new OrderFulfilledEvent {
                            OrderId = newOrderModel.OrderId, isFulFill = true
                        };
                        var json = JsonConvert.SerializeObject(eventData);
                        var body = Encoding.UTF8.GetBytes(json);
                        _channel.BasicPublish("OrderFulfilledEvent", "OrderFulfilledEvent", null, body);
                    }
                }
                catch (Exception ex)
                {
                }
            }
        }
Ejemplo n.º 2
0
        public Task Handle(OrderFulfilledEvent evnt)
        {
            var order = _state.Orders[evnt.EntityId];

            order.State = OrderState.Fulfilled;
            return(Task.CompletedTask);
        }
Ejemplo n.º 3
0
        public Task Handle(OrderFulfilledEvent evnt)
        {
            var order = _dbContext.Orders.FirstOrDefault(o => o.OrderId == evnt.EntityId);

            if (order != null)
            {
                order.State = OrderState.Fulfilled;
            }
            return(Task.CompletedTask);
        }
 private void HandleMessage(OrderFulfilledEvent newOrderModel)
 {
     using (var scope = _serviceScopeFactory.CreateScope())
     {
         try
         {
             if (newOrderModel.isFulFill)
             {
                 var orderServiceAPI = scope.ServiceProvider.GetRequiredService <IOrderAPI>();
                 var order           = orderServiceAPI.GetById(newOrderModel.OrderId);
                 order.OrderDate = DateTime.Now;
                 orderServiceAPI.Update(order);
             }
         }
         catch (Exception ex)
         {
             Console.WriteLine("Error Procesing queue Order fulfillEvent" + ex.Message);
         }
     }
 }