├── .dockerignore ├── .gitignore ├── .travis.yml ├── Application ├── Application.csproj ├── Common │ ├── Exceptions │ │ └── NotFoundException.cs │ └── Interfaces │ │ └── IECommerceDbContext.cs ├── Customers │ ├── CreateCustomer │ │ └── CreateCustomerCommand.cs │ └── GetCustomer │ │ ├── CustomerDetailDto.cs │ │ ├── GetCustomerQuery.cs │ │ ├── OrderDTO.cs │ │ └── OrderLineDTO.cs ├── DependencyInjection.cs ├── GetCustomers │ ├── CustomerDTO.cs │ └── GetCustomersQuery.cs └── Orders │ └── CreateOrder │ ├── CreateOrderCommand.cs │ └── OrderLineDTO.cs ├── Domain ├── Common │ ├── Entity.cs │ ├── IAggregateRoot.cs │ ├── IRepository.cs │ ├── IUnitOfWork.cs │ └── ValueObject.cs ├── Customers │ ├── Customer.cs │ ├── CustomerName.cs │ ├── Email.cs │ └── ICustomerRepository.cs ├── Domain.csproj └── Orders │ ├── IOrderRepository.cs │ ├── Order.cs │ └── OrderLine.cs ├── ECommerce.sln ├── ECommerceAPI ├── Controllers │ ├── ApiController.cs │ ├── CustomersController.cs │ └── OrdersController.cs ├── Dockerfile ├── ECommerceAPI.csproj ├── Infrastructure │ ├── ActionResults │ │ └── InternalServerErrorObjectResult.cs │ └── Filters │ │ └── ApiExceptionFilterAttribute.cs ├── Program.cs ├── Properties │ └── launchSettings.json ├── Startup.cs ├── appsettings.Development.json └── appsettings.json ├── Infrastructure ├── DependencyInjection.cs ├── EntityConfigurations │ ├── CustomerEntityTypeConfiguration.cs │ ├── OrderEntityTypeConfiguration.cs │ └── OrderLineEntityTypeConfiguration.cs ├── Infrastructure.csproj ├── Migrations │ ├── 20200829200428_Initial.Designer.cs │ ├── 20200829200428_Initial.cs │ └── ECommerceDbContextModelSnapshot.cs ├── Persistence │ └── EcommerceDbContext.cs └── Repositories │ ├── CustomerRepository.cs │ └── OrderRepository.cs ├── images └── architecture.PNG ├── readme.md └── tests ├── Domain.UnitTests ├── Customers │ ├── CustomerNameTests.cs │ └── EmailTests.cs ├── Domain.UnitTests.csproj └── Orders │ └── OrderTests.cs └── ECommerce.IntegrationTests ├── Controllers └── CustomersControllerTests.cs ├── ECommerce.IntegrationTests.csproj ├── TestBase.cs ├── TestData.cs └── TestWebApplicationFactory.cs /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/.dockerignore -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/.travis.yml -------------------------------------------------------------------------------- /Application/Application.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/Application.csproj -------------------------------------------------------------------------------- /Application/Common/Exceptions/NotFoundException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/Common/Exceptions/NotFoundException.cs -------------------------------------------------------------------------------- /Application/Common/Interfaces/IECommerceDbContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/Common/Interfaces/IECommerceDbContext.cs -------------------------------------------------------------------------------- /Application/Customers/CreateCustomer/CreateCustomerCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/Customers/CreateCustomer/CreateCustomerCommand.cs -------------------------------------------------------------------------------- /Application/Customers/GetCustomer/CustomerDetailDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/Customers/GetCustomer/CustomerDetailDto.cs -------------------------------------------------------------------------------- /Application/Customers/GetCustomer/GetCustomerQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/Customers/GetCustomer/GetCustomerQuery.cs -------------------------------------------------------------------------------- /Application/Customers/GetCustomer/OrderDTO.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/Customers/GetCustomer/OrderDTO.cs -------------------------------------------------------------------------------- /Application/Customers/GetCustomer/OrderLineDTO.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/Customers/GetCustomer/OrderLineDTO.cs -------------------------------------------------------------------------------- /Application/DependencyInjection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/DependencyInjection.cs -------------------------------------------------------------------------------- /Application/GetCustomers/CustomerDTO.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/GetCustomers/CustomerDTO.cs -------------------------------------------------------------------------------- /Application/GetCustomers/GetCustomersQuery.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/GetCustomers/GetCustomersQuery.cs -------------------------------------------------------------------------------- /Application/Orders/CreateOrder/CreateOrderCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/Orders/CreateOrder/CreateOrderCommand.cs -------------------------------------------------------------------------------- /Application/Orders/CreateOrder/OrderLineDTO.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Application/Orders/CreateOrder/OrderLineDTO.cs -------------------------------------------------------------------------------- /Domain/Common/Entity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Common/Entity.cs -------------------------------------------------------------------------------- /Domain/Common/IAggregateRoot.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Common/IAggregateRoot.cs -------------------------------------------------------------------------------- /Domain/Common/IRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Common/IRepository.cs -------------------------------------------------------------------------------- /Domain/Common/IUnitOfWork.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Common/IUnitOfWork.cs -------------------------------------------------------------------------------- /Domain/Common/ValueObject.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Common/ValueObject.cs -------------------------------------------------------------------------------- /Domain/Customers/Customer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Customers/Customer.cs -------------------------------------------------------------------------------- /Domain/Customers/CustomerName.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Customers/CustomerName.cs -------------------------------------------------------------------------------- /Domain/Customers/Email.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Customers/Email.cs -------------------------------------------------------------------------------- /Domain/Customers/ICustomerRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Customers/ICustomerRepository.cs -------------------------------------------------------------------------------- /Domain/Domain.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Domain.csproj -------------------------------------------------------------------------------- /Domain/Orders/IOrderRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Orders/IOrderRepository.cs -------------------------------------------------------------------------------- /Domain/Orders/Order.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Orders/Order.cs -------------------------------------------------------------------------------- /Domain/Orders/OrderLine.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Domain/Orders/OrderLine.cs -------------------------------------------------------------------------------- /ECommerce.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerce.sln -------------------------------------------------------------------------------- /ECommerceAPI/Controllers/ApiController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/Controllers/ApiController.cs -------------------------------------------------------------------------------- /ECommerceAPI/Controllers/CustomersController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/Controllers/CustomersController.cs -------------------------------------------------------------------------------- /ECommerceAPI/Controllers/OrdersController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/Controllers/OrdersController.cs -------------------------------------------------------------------------------- /ECommerceAPI/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/Dockerfile -------------------------------------------------------------------------------- /ECommerceAPI/ECommerceAPI.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/ECommerceAPI.csproj -------------------------------------------------------------------------------- /ECommerceAPI/Infrastructure/ActionResults/InternalServerErrorObjectResult.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/Infrastructure/ActionResults/InternalServerErrorObjectResult.cs -------------------------------------------------------------------------------- /ECommerceAPI/Infrastructure/Filters/ApiExceptionFilterAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/Infrastructure/Filters/ApiExceptionFilterAttribute.cs -------------------------------------------------------------------------------- /ECommerceAPI/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/Program.cs -------------------------------------------------------------------------------- /ECommerceAPI/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/Properties/launchSettings.json -------------------------------------------------------------------------------- /ECommerceAPI/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/Startup.cs -------------------------------------------------------------------------------- /ECommerceAPI/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/appsettings.Development.json -------------------------------------------------------------------------------- /ECommerceAPI/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/ECommerceAPI/appsettings.json -------------------------------------------------------------------------------- /Infrastructure/DependencyInjection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Infrastructure/DependencyInjection.cs -------------------------------------------------------------------------------- /Infrastructure/EntityConfigurations/CustomerEntityTypeConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Infrastructure/EntityConfigurations/CustomerEntityTypeConfiguration.cs -------------------------------------------------------------------------------- /Infrastructure/EntityConfigurations/OrderEntityTypeConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Infrastructure/EntityConfigurations/OrderEntityTypeConfiguration.cs -------------------------------------------------------------------------------- /Infrastructure/EntityConfigurations/OrderLineEntityTypeConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Infrastructure/EntityConfigurations/OrderLineEntityTypeConfiguration.cs -------------------------------------------------------------------------------- /Infrastructure/Infrastructure.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Infrastructure/Infrastructure.csproj -------------------------------------------------------------------------------- /Infrastructure/Migrations/20200829200428_Initial.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Infrastructure/Migrations/20200829200428_Initial.Designer.cs -------------------------------------------------------------------------------- /Infrastructure/Migrations/20200829200428_Initial.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Infrastructure/Migrations/20200829200428_Initial.cs -------------------------------------------------------------------------------- /Infrastructure/Migrations/ECommerceDbContextModelSnapshot.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Infrastructure/Migrations/ECommerceDbContextModelSnapshot.cs -------------------------------------------------------------------------------- /Infrastructure/Persistence/EcommerceDbContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Infrastructure/Persistence/EcommerceDbContext.cs -------------------------------------------------------------------------------- /Infrastructure/Repositories/CustomerRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Infrastructure/Repositories/CustomerRepository.cs -------------------------------------------------------------------------------- /Infrastructure/Repositories/OrderRepository.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/Infrastructure/Repositories/OrderRepository.cs -------------------------------------------------------------------------------- /images/architecture.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/images/architecture.PNG -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/readme.md -------------------------------------------------------------------------------- /tests/Domain.UnitTests/Customers/CustomerNameTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/tests/Domain.UnitTests/Customers/CustomerNameTests.cs -------------------------------------------------------------------------------- /tests/Domain.UnitTests/Customers/EmailTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/tests/Domain.UnitTests/Customers/EmailTests.cs -------------------------------------------------------------------------------- /tests/Domain.UnitTests/Domain.UnitTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/tests/Domain.UnitTests/Domain.UnitTests.csproj -------------------------------------------------------------------------------- /tests/Domain.UnitTests/Orders/OrderTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/tests/Domain.UnitTests/Orders/OrderTests.cs -------------------------------------------------------------------------------- /tests/ECommerce.IntegrationTests/Controllers/CustomersControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/tests/ECommerce.IntegrationTests/Controllers/CustomersControllerTests.cs -------------------------------------------------------------------------------- /tests/ECommerce.IntegrationTests/ECommerce.IntegrationTests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/tests/ECommerce.IntegrationTests/ECommerce.IntegrationTests.csproj -------------------------------------------------------------------------------- /tests/ECommerce.IntegrationTests/TestBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/tests/ECommerce.IntegrationTests/TestBase.cs -------------------------------------------------------------------------------- /tests/ECommerce.IntegrationTests/TestData.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/tests/ECommerce.IntegrationTests/TestData.cs -------------------------------------------------------------------------------- /tests/ECommerce.IntegrationTests/TestWebApplicationFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lidiadev/ecommerce-api/HEAD/tests/ECommerce.IntegrationTests/TestWebApplicationFactory.cs --------------------------------------------------------------------------------