public void EventBusRabbitMQProducer_Publish_Success() { OrderCreateEvent eventMessage = new OrderCreateEvent(); eventMessage.AuctionId = "dummy1"; eventMessage.ProductId = "dummy_product_1"; eventMessage.Price = 10; eventMessage.Quantity = 100; eventMessage.SellerUserName = "******"; var factory = new ConnectionFactory() { HostName = "localhost" }; factory.UserName = "******"; factory.Password = "******"; _defaultRabbitMQPersistentConnection.TryConnect(); //_eventBusRabbitMQProducer.Publish("orderCreateQueue", eventMessage); }
public async Task <IActionResult> DraftOrderAsync([FromBody] CreateOrderInput input) { var sumamount = input.ListItem.Sum(p => p.Amount); List <OrderItem> items = new List <OrderItem>(); input.ListItem.ForEach(p => { OrderItem temp = new OrderItem(); temp.Amount = p.Amount; temp.Count = p.Count; temp.OrderItemName = p.OrderItemName; items.Add(temp); }); Address address = new Address { City = "南通", Country = "正余", State = "青正", Street = "测试", ZipCode = "20033" }; MainOrder order = new MainOrder(input.OrderId, input.OrderName, sumamount, address, 0, 0, DateTime.Now, DateTime.MinValue, 1, items); using (var transaction = _orderDbContext.Database.BeginTransaction()) { try { OrderCreateEvent eventdata = new OrderCreateEvent { OrderId = order.OrderId, PayDecimal = order.OrderSumAmount, PayedDesc = "支付描述", Payer = "Shawn" }; _capBus.Publish("Order.services.Payed", eventdata); await _orderDbContext.AddAsync(order); var result = await _orderDbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { await transaction.RollbackAsync(); return(BadRequest()); } return(Ok()); } }
public async Task <ActionResult> CompleteAuction(string id) { Auction auction = await _auctionRepository.GetAuction(id); if (auction == null) { return(NotFound()); } if (auction.Status != (int)Status.Active) { _logger.LogError("Auction can not completed"); return(BadRequest()); } Bid bid = await _bidRepository.GetWinnerBid(id); if (bid == null) { return(NotFound()); } OrderCreateEvent eventMessage = _mapper.Map <OrderCreateEvent>(bid); eventMessage.Quantity = auction.Quantity; auction.Status = (int)Status.Closed; bool updateResp = await _auctionRepository.Update(auction); if (!updateResp) { _logger.LogError("Auction can not updated"); return(BadRequest()); } try { _eventBus.Publish(EventBusConstants.OrderCreateQueue, eventMessage); } catch (Exception ex) { _logger.LogError(ex, "ERROR Publishing integration event: {EventId} from {AppName}", eventMessage.Id, "Sourcing"); throw; } return(Accepted()); }
public ActionResult <OrderCreateEvent> TestEvent() { OrderCreateEvent eventMessage = new OrderCreateEvent(); eventMessage.AuctionId = "dummy1"; eventMessage.ProductId = "dummy_product_1"; eventMessage.Price = 10; eventMessage.Quantity = 100; eventMessage.SellerUserName = "******"; try { _eventBus.Publish(EventBusConstants.OrderCreateQueue, eventMessage); } catch (Exception ex) { _logger.LogError(ex, "ERROR Publishing integration event: {EventId} from {AppName}", eventMessage.Id, "Sourcing"); throw; } return(Accepted(eventMessage)); }
void Order_handle_Create(OrderCreateEvent obj) { new SendEmailEventHandler().Handle(obj); }
public void Handle(OrderCreateEvent e) { throw new NotImplementedException(); }
public void Action(OrderCreateEvent t) { throw new NotImplementedException(); }