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) { } } }
public Task Handle(OrderFulfilledEvent evnt) { var order = _state.Orders[evnt.EntityId]; order.State = OrderState.Fulfilled; return(Task.CompletedTask); }
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); } } }