diff --git a/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommand.cs b/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommand.cs index 83ae8ef94..cb112bbd9 100644 --- a/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommand.cs +++ b/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommand.cs @@ -33,7 +33,7 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands public string BuyerFullName { get; set; } - public IEnumerable Items => _orderItems; + public IEnumerable OrderItems => _orderItems; public void AddOrderItem(OrderItemDTO item) { @@ -57,6 +57,8 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands public decimal Discount { get; set; } public int Units { get; set; } + + public string PictureUrl { get; set; } } } } diff --git a/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs b/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs index 576aa61b7..483ab9be9 100644 --- a/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs +++ b/src/Services/Ordering/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs @@ -55,9 +55,9 @@ var order = new Order(buyer.Id, payment.Id, new Address(message.Street, message.City, message.State, message.Country, message.ZipCode)); - foreach (var item in message.Items) + foreach (var item in message.OrderItems) { - order.AddOrderItem(item.ProductId, item.ProductName, item.UnitPrice, item.Discount, item.Units); + order.AddOrderItem(item.ProductId, item.ProductName, item.UnitPrice, item.Discount, item.PictureUrl, item.Units); } _orderRepository.Add(order); diff --git a/src/Services/Ordering/Ordering.API/Application/Queries/OrderQueries.cs b/src/Services/Ordering/Ordering.API/Application/Queries/OrderQueries.cs index 844d36630..5d0540adb 100644 --- a/src/Services/Ordering/Ordering.API/Application/Queries/OrderQueries.cs +++ b/src/Services/Ordering/Ordering.API/Application/Queries/OrderQueries.cs @@ -31,7 +31,7 @@ o.Street as street, o.City as city, o.Country as country, o.State as state, o.ZipCode as zipcode FROM ordering.Orders o LEFT JOIN ordering.Orderitems oi ON o.Id = oi.orderid - LEFT JOIN ordering.orderstatus os on o.StatusId = os.Id + LEFT JOIN ordering.orderstatus os on o.OrderStatusId = os.Id WHERE o.Id=@id" , new { id } ); @@ -52,7 +52,7 @@ return await connection.QueryAsync(@"SELECT o.[Id] as ordernumber,o.[OrderDate] as [date],os.[Name] as [status],SUM(oi.units*oi.unitprice) as total FROM [ordering].[Orders] o LEFT JOIN[ordering].[orderitems] oi ON o.Id = oi.orderid - LEFT JOIN[ordering].[orderstatus] os on o.StatusId = os.Id + LEFT JOIN[ordering].[orderstatus] os on o.OrderStatusId = os.Id GROUP BY o.[Id], o.[OrderDate], os.[Name]"); } } diff --git a/src/Services/Ordering/Ordering.API/Dockerfile b/src/Services/Ordering/Ordering.API/Dockerfile index 6b46cb5fd..6a736c1fc 100644 --- a/src/Services/Ordering/Ordering.API/Dockerfile +++ b/src/Services/Ordering/Ordering.API/Dockerfile @@ -1,4 +1,4 @@ -FROM microsoft/aspnetcore:1.0.1 +FROM microsoft/aspnetcore:1.1 # Entry point through the copied assembly ENTRYPOINT ["dotnet", "Ordering.API.dll"] diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/Buyer.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/Buyer.cs index e8a0684d3..ce09978c2 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/Buyer.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/Buyer.cs @@ -1,4 +1,4 @@ -using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork; +using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; using System; using System.Collections.Generic; using System.Linq; diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs index 217ef6095..26dd03c57 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs @@ -1,4 +1,4 @@ -using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork; +using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; using System; using System.Collections.Generic; using System.Linq; diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/IBuyerRepository.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/IBuyerRepository.cs index bdaf6eec5..6436a0aa4 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/IBuyerRepository.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/IBuyerRepository.cs @@ -1,4 +1,4 @@ -using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork; +using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate; using System.Threading.Tasks; diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/Payment.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/PaymentMethod.cs similarity index 99% rename from src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/Payment.cs rename to src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/PaymentMethod.cs index dc6af27b0..d4625fe81 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/Payment.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/PaymentMethod.cs @@ -1,4 +1,4 @@ -using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork; +using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; using System; namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/IOrderRepository.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/IOrderRepository.cs index 39e2f6466..9db371698 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/IOrderRepository.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/IOrderRepository.cs @@ -1,4 +1,4 @@ -using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork; +using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate { diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs index 344b154cd..692ce59cd 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs @@ -1,5 +1,5 @@ using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate; -using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork; +using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; using System; using System.Collections.Generic; using System.Linq; @@ -47,7 +47,7 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.O } - public void AddOrderItem(int productId, string productName, decimal unitPrice, decimal discount, int units = 1) + public void AddOrderItem(int productId, string productName, decimal unitPrice, decimal discount, string pictureUrl, int units = 1) { var existingOrderForProduct = _orderItems.Where(o => o.ProductId == productId) .SingleOrDefault(); @@ -66,7 +66,7 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.O { //add validated new order item - var orderItem = new OrderItem(productId, productName, unitPrice, discount, units); + var orderItem = new OrderItem(productId, productName, unitPrice, discount, pictureUrl, units); _orderItems.Add(orderItem); } diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderItem.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderItem.cs index 9a62ef1a3..0b5fe1f72 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderItem.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderItem.cs @@ -1,4 +1,4 @@ -using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork; +using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; using System; namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate @@ -18,7 +18,7 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.O protected OrderItem() { } - public OrderItem(int productId, string productName, decimal unitPrice, decimal discount, int units = 1) + public OrderItem(int productId, string productName, decimal unitPrice, decimal discount, string PictureUrl, int units = 1) { if (units <= 0) { @@ -36,6 +36,7 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.O _unitPrice = unitPrice; _discount = discount; _units = units; + _pictureUrl = PictureUrl; } public void SetPictureUri(string pictureUri) diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs index 011984e62..ea807a209 100644 --- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs +++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs @@ -1,6 +1,6 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate { - using SeedWork; + using Seedwork; using System; using System.Collections.Generic; using System.Linq; diff --git a/src/Services/Ordering/Ordering.Domain/SeedWork/Entity.cs b/src/Services/Ordering/Ordering.Domain/SeedWork/Entity.cs index e5653ad28..2530d8403 100644 --- a/src/Services/Ordering/Ordering.Domain/SeedWork/Entity.cs +++ b/src/Services/Ordering/Ordering.Domain/SeedWork/Entity.cs @@ -1,4 +1,4 @@ -namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork +namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork { using System; diff --git a/src/Services/Ordering/Ordering.Domain/SeedWork/IAggregateRoot.cs b/src/Services/Ordering/Ordering.Domain/SeedWork/IAggregateRoot.cs index 6814ae065..198f37542 100644 --- a/src/Services/Ordering/Ordering.Domain/SeedWork/IAggregateRoot.cs +++ b/src/Services/Ordering/Ordering.Domain/SeedWork/IAggregateRoot.cs @@ -1,4 +1,4 @@ -namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork +namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork { public interface IAggregateRoot { } diff --git a/src/Services/Ordering/Ordering.Domain/SeedWork/IRepository.cs b/src/Services/Ordering/Ordering.Domain/SeedWork/IRepository.cs index c47975235..f5035f88b 100644 --- a/src/Services/Ordering/Ordering.Domain/SeedWork/IRepository.cs +++ b/src/Services/Ordering/Ordering.Domain/SeedWork/IRepository.cs @@ -1,4 +1,4 @@ -namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork +namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork { public interface IRepository { diff --git a/src/Services/Ordering/Ordering.Domain/SeedWork/IUnitOfWork.cs b/src/Services/Ordering/Ordering.Domain/SeedWork/IUnitOfWork.cs index fdbc61e79..85a8efbb0 100644 --- a/src/Services/Ordering/Ordering.Domain/SeedWork/IUnitOfWork.cs +++ b/src/Services/Ordering/Ordering.Domain/SeedWork/IUnitOfWork.cs @@ -2,7 +2,7 @@ using System.Threading; using System.Threading.Tasks; -namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork +namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork { public interface IUnitOfWork : IDisposable { diff --git a/src/Services/Ordering/Ordering.Infrastructure/OrderingContext.cs b/src/Services/Ordering/Ordering.Infrastructure/OrderingContext.cs index 87449d90c..d2ed4efed 100644 --- a/src/Services/Ordering/Ordering.Infrastructure/OrderingContext.cs +++ b/src/Services/Ordering/Ordering.Infrastructure/OrderingContext.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Builders; using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate; using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate; -using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork; +using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; using System; namespace Microsoft.eShopOnContainers.Services.Ordering.Infrastructure diff --git a/src/Services/Ordering/Ordering.Infrastructure/Repositories/BuyerRepository.cs b/src/Services/Ordering/Ordering.Infrastructure/Repositories/BuyerRepository.cs index c9fdb28a6..d52daf8fa 100644 --- a/src/Services/Ordering/Ordering.Infrastructure/Repositories/BuyerRepository.cs +++ b/src/Services/Ordering/Ordering.Infrastructure/Repositories/BuyerRepository.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate; -using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork; +using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; using System; using System.Linq; using System.Threading.Tasks; diff --git a/src/Services/Ordering/Ordering.Infrastructure/Repositories/OrderRepository.cs b/src/Services/Ordering/Ordering.Infrastructure/Repositories/OrderRepository.cs index 62066dd91..dba90dfcb 100644 --- a/src/Services/Ordering/Ordering.Infrastructure/Repositories/OrderRepository.cs +++ b/src/Services/Ordering/Ordering.Infrastructure/Repositories/OrderRepository.cs @@ -1,5 +1,5 @@ using Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.OrderAggregate; -using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork; +using Microsoft.eShopOnContainers.Services.Ordering.Domain.Seedwork; using System; namespace Microsoft.eShopOnContainers.Services.Ordering.Infrastructure.Repositories diff --git a/src/Web/WebMVC/Models/Order.cs b/src/Web/WebMVC/Models/Order.cs index 98b37bfa8..cfcae8a36 100644 --- a/src/Web/WebMVC/Models/Order.cs +++ b/src/Web/WebMVC/Models/Order.cs @@ -1,4 +1,5 @@ using Microsoft.eShopOnContainers.WebMVC.Models.Annotations; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel; diff --git a/src/Web/WebMVC/Services/OrderingService.cs b/src/Web/WebMVC/Services/OrderingService.cs index 70f14072b..098f5eb45 100644 --- a/src/Web/WebMVC/Services/OrderingService.cs +++ b/src/Web/WebMVC/Services/OrderingService.cs @@ -62,7 +62,8 @@ namespace Microsoft.eShopOnContainers.WebMVC.Services order.Street = user.Street; order.State = user.State; order.Country = user.Country; - + order.ZipCode = user.ZipCode; + order.CardNumber = user.CardNumber; order.CardHolderName = user.CardHolderName; order.CardExpiration = new DateTime(int.Parse("20" + user.Expiration.Split('/')[1]),int.Parse(user.Expiration.Split('/')[0]), 1); @@ -82,6 +83,8 @@ namespace Microsoft.eShopOnContainers.WebMVC.Services var ordersUrl = $"{_remoteServiceBaseUrl}/new"; order.CardTypeId = 1; order.CardExpirationApiFormat(); + SetFakeIdToProducts(order); + StringContent content = new StringContent(JsonConvert.SerializeObject(order), System.Text.Encoding.UTF8, "application/json"); var response = await _apiClient.PostAsync(ordersUrl, content); @@ -96,11 +99,18 @@ namespace Microsoft.eShopOnContainers.WebMVC.Services destination.Street = original.Street; destination.State = original.State; destination.Country = original.Country; + destination.ZipCode = original.ZipCode; destination.CardNumber = original.CardNumber; destination.CardHolderName = original.CardHolderName; destination.CardExpiration = original.CardExpiration; destination.CardSecurityNumber = original.CardSecurityNumber; } + + private void SetFakeIdToProducts(Order order) + { + var id = 1; + order.OrderItems.ForEach(x => { x.ProductId = id; id++; }); + } } } diff --git a/src/Web/WebMVC/Views/Order/Create.cshtml b/src/Web/WebMVC/Views/Order/Create.cshtml index 2dbea52b9..f35262ccd 100644 --- a/src/Web/WebMVC/Views/Order/Create.cshtml +++ b/src/Web/WebMVC/Views/Order/Create.cshtml @@ -88,6 +88,7 @@ + diff --git a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/orders/orders.service.ts b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/orders/orders.service.ts index 20899b9a9..9a7b9a34d 100644 --- a/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/orders/orders.service.ts +++ b/src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/orders/orders.service.ts @@ -62,7 +62,7 @@ export class OrdersService { order.city = identityInfo.address_city; order.country = identityInfo.address_country; order.state = identityInfo.address_state; - order.zipcode = identityInfo.addrees_zipcode; + order.zipcode = identityInfo.address_zip_code; order.cardexpiration = identityInfo.card_expiration; order.cardnumber = identityInfo.card_number; order.cardsecuritynumber = identityInfo.card_security_number;