OrderController.cs
1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using Microsoft.AspNetCore.Mvc;
using Order.Api.Events;
using Pole.ReliableMessage.Abstraction;
using ServiceA.Repository;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Order.Api.Apis
{
[Route("api/[controller]")]
[ApiController]
public class OrderController : ControllerBase
{
private readonly IReliableBus _reliableBus;
private readonly IOrderRepository _orderRepository;
public OrderController(IReliableBus reliableBus, IOrderRepository orderRepository)
{
_reliableBus = reliableBus;
_orderRepository = orderRepository;
}
[HttpGet]
public async Task<string> Index()
{
var order = new Order.Api.Entity.Order
{
Id = 1,
Price = 10
};
CreateOrderReliableEvent createOrderReliableEvent = new CreateOrderReliableEvent
{
OrderPrice = order.Price
};
var prePublishId = await _reliableBus.PrePublish(createOrderReliableEvent, order.Id);
_orderRepository.Add(order);
await _reliableBus.Publish(createOrderReliableEvent, prePublishId);
return "ok";
}
}
}