Skip to content

Commit 88d689e

Browse files
committed
rabbit consume di scoped problem fixed
1 parent 0f07a81 commit 88d689e

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/Ordering/Ordering.API/RabbitMQ/EventBusRabbitMQConsumer.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using MediatR;
66
using Newtonsoft.Json;
77
using Ordering.Application.Commands;
8+
using Ordering.Core.Repositories;
89
using RabbitMQ.Client;
910
using RabbitMQ.Client.Events;
1011
using System;
@@ -17,12 +18,14 @@ public class EventBusRabbitMQConsumer
1718
private readonly IRabbitMQConnection _connection;
1819
private readonly IMediator _mediator;
1920
private readonly IMapper _mapper;
21+
private readonly IOrderRepository _repository;
2022

21-
public EventBusRabbitMQConsumer(IRabbitMQConnection connection, IMediator mediator, IMapper mapper)
23+
public EventBusRabbitMQConsumer(IRabbitMQConnection connection, IMediator mediator, IMapper mapper, IOrderRepository repository)
2224
{
2325
_connection = connection ?? throw new ArgumentNullException(nameof(connection));
2426
_mediator = mediator ?? throw new ArgumentNullException(nameof(mediator));
2527
_mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
28+
_repository = repository ?? throw new ArgumentNullException(nameof(repository));
2629
}
2730

2831
public void Consume()
@@ -45,11 +48,9 @@ private async void ReceivedEvent(object sender, BasicDeliverEventArgs e)
4548
var message = Encoding.UTF8.GetString(e.Body);
4649
var basketCheckoutEvent = JsonConvert.DeserializeObject<BasketCheckoutEvent>(message);
4750

48-
49-
// Internal Checkout Operation Call
51+
// NOTE : This is Internal Checkout Operation Call
5052
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);
5354
}
5455
}
5556

src/Ordering/Ordering.API/Startup.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,16 @@ public void ConfigureServices(IServiceCollection services)
4444

4545
// use real database
4646
services.AddDbContext<OrderContext>(c =>
47-
c.UseSqlServer(Configuration.GetConnectionString("OrderConnection")));
47+
c.UseSqlServer(Configuration.GetConnectionString("OrderConnection")), ServiceLifetime.Singleton);
4848

4949
#endregion
5050

5151
#region Project Dependencies
5252

5353
// Add Infrastructure Layer
5454
services.AddScoped(typeof(IRepository<>), typeof(Repository<>));
55-
services.AddScoped(typeof(IOrderRepository), typeof(OrderRepository));
56-
services.AddScoped<IOrderRepository, OrderRepository>();
55+
services.AddScoped(typeof(IOrderRepository), typeof(OrderRepository));
56+
services.AddTransient<IOrderRepository, OrderRepository>();
5757

5858
// Add AutoMapper
5959
services.AddAutoMapper(typeof(Startup));

0 commit comments

Comments
 (0)