Browse Source

Refactoring in Ordering Domain Model so it shows a clear AggregateModel and clusters of entities as Aggregates.

Also, showing Repository Interfaces as RepositoryContracts.
pull/49/merge
CESARDELATORRE 8 years ago
parent
commit
57ae6ab3be
16 changed files with 31 additions and 15 deletions
  1. +6
    -1
      src/Services/Ordering/Ordering.API/Application/Commands/NewOrderCommand.cs
  2. +4
    -2
      src/Services/Ordering/Ordering.API/Application/Commands/NewOrderCommandHandler.cs
  3. +1
    -1
      src/Services/Ordering/Ordering.API/Infrastructure/AutofacModules/ApplicationModule.cs
  4. +2
    -0
      src/Services/Ordering/Ordering.API/Infrastructure/OrderingContextSeed.cs
  5. +1
    -1
      src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/Buyer.cs
  6. +1
    -1
      src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs
  7. +1
    -1
      src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/Payment.cs
  8. +1
    -1
      src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Address.cs
  9. +2
    -1
      src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs
  10. +1
    -1
      src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderItem.cs
  11. +1
    -1
      src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs
  12. +2
    -1
      src/Services/Ordering/Ordering.Domain/RepositoryContracts/IBuyerRepository.cs
  13. +2
    -1
      src/Services/Ordering/Ordering.Domain/RepositoryContracts/IOrderRepository.cs
  14. +2
    -0
      src/Services/Ordering/Ordering.Infrastructure/OrderingContext.cs
  15. +2
    -1
      src/Services/Ordering/Ordering.Infrastructure/Repositories/BuyerRepository.cs
  16. +2
    -1
      src/Services/Ordering/Ordering.Infrastructure/Repositories/OrderRepository.cs

+ 6
- 1
src/Services/Ordering/Ordering.API/Application/Commands/NewOrderCommand.cs View File

@ -6,10 +6,15 @@
using System.Collections;
using System.Collections.Generic;
//(CDLTLL) TO DO: This is wrong, we must NOT use a child-entity class within a Command class!!
//Need to create a different DTO class, like OrderLineDTO or similar...
using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate;
public class NewOrderCommand
:IAsyncRequest<bool>
{
//(CDLTLL) TO DO: This is wrong, we must NOT use a child-entity class within a Command class!!
//Need to create a different DTO class, like OrderLineDTO or similar...
private readonly List<OrderItem> _orderItems;
public string City { get; set; }


+ 4
- 2
src/Services/Ordering/Ordering.API/Application/Commands/NewOrderCommandHandler.cs View File

@ -1,6 +1,8 @@
namespace Microsoft.eShopOnContainers.Services.Ordering.Api.Application.Commands
{
using Domain.Repositories;
using Domain.RepositoryContracts;
using Domain.AggregatesModel.OrderAggregate;
using Domain.AggregatesModel.BuyerAggregate;
using MediatR;
using System.Linq;
using System;
@ -84,7 +86,7 @@
}
Payment PaymentAlreadyExist(Domain.Buyer buyer, NewOrderCommand message)
Payment PaymentAlreadyExist(Buyer buyer, NewOrderCommand message)
{
return buyer.Payments
.SingleOrDefault(p =>


+ 1
- 1
src/Services/Ordering/Ordering.API/Infrastructure/AutofacModules/ApplicationModule.cs View File

@ -4,7 +4,7 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API.Infrastructure.Autof
{
using Api.Application.Queries;
using Autofac;
using Domain.Repositories;
using Domain.RepositoryContracts;
using Ordering.Infrastructure.Repositories;
public class ApplicationModule


+ 2
- 0
src/Services/Ordering/Ordering.API/Infrastructure/OrderingContextSeed.cs View File

@ -6,6 +6,8 @@
using Ordering.Infrastructure;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate;
public class OrderingContextSeed
{


src/Services/Ordering/Ordering.Domain/Buyer.cs → src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/Buyer.cs View File

@ -1,4 +1,4 @@
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate
{
using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork;
using System;

src/Services/Ordering/Ordering.Domain/CardType.cs → src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs View File

@ -1,6 +1,6 @@

namespace Microsoft.eShopOnContainers.Services.Ordering.Domain
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate
{
using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork;
using System;

src/Services/Ordering/Ordering.Domain/Payment.cs → src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/Payment.cs View File

@ -1,4 +1,4 @@
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate
{
using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork;
using System;

src/Services/Ordering/Ordering.Domain/Address.cs → src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Address.cs View File

@ -1,4 +1,4 @@
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate
{
using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork;
using System;

src/Services/Ordering/Ordering.Domain/Order.cs → src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs View File

@ -1,6 +1,7 @@
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate
{
using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate;
using System;
using System.Collections.Generic;

src/Services/Ordering/Ordering.Domain/OrderItem.cs → src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderItem.cs View File

@ -1,4 +1,4 @@
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate
{
using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork;

src/Services/Ordering/Ordering.Domain/OrderStatus.cs → src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs View File

@ -1,4 +1,4 @@
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate
{
using SeedWork;
using System;

src/Services/Ordering/Ordering.Domain/Repositories/IBuyerRepository.cs → src/Services/Ordering/Ordering.Domain/RepositoryContracts/IBuyerRepository.cs View File

@ -1,7 +1,8 @@
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.Repositories
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.RepositoryContracts
{
public interface IBuyerRepository
:IRepository

src/Services/Ordering/Ordering.Domain/Repositories/IOrderRepository.cs → src/Services/Ordering/Ordering.Domain/RepositoryContracts/IOrderRepository.cs View File

@ -1,6 +1,7 @@
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.Repositories
namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.RepositoryContracts
{
using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate;
public interface IOrderRepository
:IRepository

+ 2
- 0
src/Services/Ordering/Ordering.Infrastructure/OrderingContext.cs View File

@ -7,6 +7,8 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Microsoft.eShopOnContainers.Services.Ordering.Domain;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate;
public class OrderingContext
: DbContext,IUnitOfWork


+ 2
- 1
src/Services/Ordering/Ordering.Infrastructure/Repositories/BuyerRepository.cs View File

@ -3,7 +3,8 @@
using Domain.SeedWork;
using Microsoft.EntityFrameworkCore;
using Microsoft.eShopOnContainers.Services.Ordering.Domain;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.Repositories;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.RepositoryContracts;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate;
using System;
using System.Linq;
using System.Threading.Tasks;


+ 2
- 1
src/Services/Ordering/Ordering.Infrastructure/Repositories/OrderRepository.cs View File

@ -2,7 +2,8 @@
{
using Domain;
using Domain.SeedWork;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.Repositories;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.RepositoryContracts;
using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate;
using System;
public class OrderRepository


Loading…
Cancel
Save