diff --git a/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs b/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs index 3e721cadc..bd738ed31 100644 --- a/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs +++ b/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs @@ -9,11 +9,11 @@ public class CreateOrderCommandHandler : IAsyncRequestHandler { - private readonly IBuyerRepository _buyerRepository; - private readonly IOrderRepository _orderRepository; + private readonly IBuyerRepository _buyerRepository; + private readonly IOrderRepository _orderRepository; // Using DI to inject infrastructure persistence Repositories - public CreateOrderCommandHandler(IBuyerRepository buyerRepository, IOrderRepository orderRepository) + public CreateOrderCommandHandler(IBuyerRepository buyerRepository, IOrderRepository orderRepository) { if (buyerRepository == null) { diff --git a/src/Services/Ordering/Ordering.API/Infrastructure/AutofacModules/ApplicationModule.cs b/src/Services/Ordering/Ordering.API/Infrastructure/AutofacModules/ApplicationModule.cs index b8bc98442..a953c2d2d 100644 --- a/src/Services/Ordering/Ordering.API/Infrastructure/AutofacModules/ApplicationModule.cs +++ b/src/Services/Ordering/Ordering.API/Infrastructure/AutofacModules/ApplicationModule.cs @@ -27,11 +27,11 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API.Infrastructure.Autof .InstancePerLifetimeScope(); builder.RegisterType() - .As() + .As>() .InstancePerLifetimeScope(); builder.RegisterType() - .As() + .As>() .InstancePerLifetimeScope(); } } diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/IBuyerRepository.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/IBuyerRepository.cs index ccd0efe39..2fdaaf29f 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/IBuyerRepository.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/IBuyerRepository.cs @@ -1,13 +1,12 @@ using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; -using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate; using System.Threading.Tasks; namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate { //This is just the RepositoryContracts or Interface defined at the Domain Layer //as requisite for the Buyer Aggregate - public interface IBuyerRepository - :IAggregateRepository + + public interface IBuyerRepository : IRepository where T : IAggregateRoot { Buyer Add(Buyer buyer); diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/IOrderRepository.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/IOrderRepository.cs index c16caa4a3..81869a457 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/IOrderRepository.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/IOrderRepository.cs @@ -1,11 +1,11 @@ using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate -{ +{ //This is just the RepositoryContracts or Interface defined at the Domain Layer //as requisite for the Order Aggregate - public interface IOrderRepository - :IAggregateRepository + + public interface IOrderRepository : IRepository where T : IAggregateRoot { Order Add(Order order); } diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs index 3c856f09a..658f18967 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs @@ -7,7 +7,7 @@ using System.Linq; namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate { public class Order - : Entity + : Entity, IAggregateRoot { // DDD Patterns comment // Using private fields, allowed since EF Core 1.1, is a much better encapsulation diff --git a/src/Services/Ordering/Ordering.Domain/SeedWork/IAggregateRepository.cs b/src/Services/Ordering/Ordering.Domain/SeedWork/IRepository.cs similarity index 68% rename from src/Services/Ordering/Ordering.Domain/SeedWork/IAggregateRepository.cs rename to src/Services/Ordering/Ordering.Domain/SeedWork/IRepository.cs index c2983d290..3657ec092 100644 --- a/src/Services/Ordering/Ordering.Domain/SeedWork/IAggregateRepository.cs +++ b/src/Services/Ordering/Ordering.Domain/SeedWork/IRepository.cs @@ -1,6 +1,6 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork { - public interface IAggregateRepository + public interface IRepository where T : IAggregateRoot { IUnitOfWork UnitOfWork { get; } } diff --git a/src/Services/Ordering/Ordering.Infrastructure/Repositories/BuyerRepository.cs b/src/Services/Ordering/Ordering.Infrastructure/Repositories/BuyerRepository.cs index 8a2856de8..a59585e56 100644 --- a/src/Services/Ordering/Ordering.Infrastructure/Repositories/BuyerRepository.cs +++ b/src/Services/Ordering/Ordering.Infrastructure/Repositories/BuyerRepository.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; namespace Microsoft.eShopOnContainers.Services.Ordering.Infrastructure.Repositories { public class BuyerRepository - : IBuyerRepository + : IBuyerRepository { private readonly OrderingContext _context; diff --git a/src/Services/Ordering/Ordering.Infrastructure/Repositories/OrderRepository.cs b/src/Services/Ordering/Ordering.Infrastructure/Repositories/OrderRepository.cs index dba90dfcb..d21fbbe1d 100644 --- a/src/Services/Ordering/Ordering.Infrastructure/Repositories/OrderRepository.cs +++ b/src/Services/Ordering/Ordering.Infrastructure/Repositories/OrderRepository.cs @@ -5,7 +5,7 @@ using System; namespace Microsoft.eShopOnContainers.Services.Ordering.Infrastructure.Repositories { public class OrderRepository - : IOrderRepository + : IOrderRepository { private readonly OrderingContext _context; diff --git a/test/Services/UnitTest/Ordering/Application/NewOrderCommandHandlerTest.cs b/test/Services/UnitTest/Ordering/Application/NewOrderCommandHandlerTest.cs index 0d219d594..9582a137c 100644 --- a/test/Services/UnitTest/Ordering/Application/NewOrderCommandHandlerTest.cs +++ b/test/Services/UnitTest/Ordering/Application/NewOrderCommandHandlerTest.cs @@ -11,14 +11,14 @@ namespace UnitTest.Ordering.Application { public class NewOrderRequestHandlerTest { - private readonly Mock _buyerRepositoryMock; - private readonly Mock _orderRepositoryMock; + private readonly Mock> _buyerRepositoryMock; + private readonly Mock> _orderRepositoryMock; public NewOrderRequestHandlerTest() { - _buyerRepositoryMock = new Mock(); - _orderRepositoryMock = new Mock(); + _buyerRepositoryMock = new Mock>(); + _orderRepositoryMock = new Mock>(); } [Fact]