5
5
using MediatR ;
6
6
using Newtonsoft . Json ;
7
7
using Ordering . Application . Commands ;
8
+ using Ordering . Core . Repositories ;
8
9
using RabbitMQ . Client ;
9
10
using RabbitMQ . Client . Events ;
10
11
using System ;
@@ -17,12 +18,14 @@ public class EventBusRabbitMQConsumer
17
18
private readonly IRabbitMQConnection _connection ;
18
19
private readonly IMediator _mediator ;
19
20
private readonly IMapper _mapper ;
21
+ private readonly IOrderRepository _repository ;
20
22
21
- public EventBusRabbitMQConsumer ( IRabbitMQConnection connection , IMediator mediator , IMapper mapper )
23
+ public EventBusRabbitMQConsumer ( IRabbitMQConnection connection , IMediator mediator , IMapper mapper , IOrderRepository repository )
22
24
{
23
25
_connection = connection ?? throw new ArgumentNullException ( nameof ( connection ) ) ;
24
26
_mediator = mediator ?? throw new ArgumentNullException ( nameof ( mediator ) ) ;
25
27
_mapper = mapper ?? throw new ArgumentNullException ( nameof ( mapper ) ) ;
28
+ _repository = repository ?? throw new ArgumentNullException ( nameof ( repository ) ) ;
26
29
}
27
30
28
31
public void Consume ( )
@@ -45,11 +48,9 @@ private async void ReceivedEvent(object sender, BasicDeliverEventArgs e)
45
48
var message = Encoding . UTF8 . GetString ( e . Body ) ;
46
49
var basketCheckoutEvent = JsonConvert . DeserializeObject < BasketCheckoutEvent > ( message ) ;
47
50
48
-
49
- // Internal Checkout Operation Call
51
+ // NOTE : This is Internal Checkout Operation Call
50
52
var command = _mapper . Map < CheckoutOrderCommand > ( basketCheckoutEvent ) ;
51
- var result = await _mediator . Send ( command ) ; // ERROR : CANT RESOLVE SUB OBJECTS FROM THIS CALL
52
-
53
+ var result = await _mediator . Send ( command ) ;
53
54
}
54
55
}
55
56
0 commit comments