Separate OrderViewModel from OrderDetailsViewModel (#904)

* Separate OrderViewModel from OrderDetailsViewModel

* Update packages
This commit is contained in:
Steve Smith
2023-05-23 14:55:24 -04:00
committed by GitHub
parent 896d75d55f
commit e7d71ea572
10 changed files with 44 additions and 37 deletions

View File

@@ -1,5 +1,4 @@
using System.Collections.Generic;
using MediatR;
using MediatR;
using Microsoft.eShopWeb.Web.ViewModels;
namespace Microsoft.eShopWeb.Web.Features.MyOrders;

View File

@@ -18,20 +18,12 @@ public class GetMyOrdersHandler : IRequestHandler<GetMyOrders, IEnumerable<Order
public async Task<IEnumerable<OrderViewModel>> Handle(GetMyOrders request,
CancellationToken cancellationToken)
{
var specification = new CustomerOrdersWithItemsSpecification(request.UserName);
var specification = new CustomerOrdersSpecification(request.UserName);
var orders = await _orderRepository.ListAsync(specification, cancellationToken);
return orders.Select(o => new OrderViewModel
{
OrderDate = o.OrderDate,
OrderItems = o.OrderItems.Select(oi => new OrderItemViewModel()
{
PictureUrl = oi.ItemOrdered.PictureUri,
ProductId = oi.ItemOrdered.CatalogItemId,
ProductName = oi.ItemOrdered.ProductName,
UnitPrice = oi.UnitPrice,
Units = oi.Units
}).ToList(),
OrderNumber = o.Id,
ShippingAddress = o.ShipToAddress,
Total = o.Total()

View File

@@ -3,7 +3,7 @@ using Microsoft.eShopWeb.Web.ViewModels;
namespace Microsoft.eShopWeb.Web.Features.OrderDetails;
public class GetOrderDetails : IRequest<OrderViewModel>
public class GetOrderDetails : IRequest<OrderDetailViewModel>
{
public string UserName { get; set; }
public int OrderId { get; set; }

View File

@@ -6,7 +6,7 @@ using Microsoft.eShopWeb.Web.ViewModels;
namespace Microsoft.eShopWeb.Web.Features.OrderDetails;
public class GetOrderDetailsHandler : IRequestHandler<GetOrderDetails, OrderViewModel?>
public class GetOrderDetailsHandler : IRequestHandler<GetOrderDetails, OrderDetailViewModel?>
{
private readonly IReadRepository<Order> _orderRepository;
@@ -15,7 +15,7 @@ public class GetOrderDetailsHandler : IRequestHandler<GetOrderDetails, OrderView
_orderRepository = orderRepository;
}
public async Task<OrderViewModel?> Handle(GetOrderDetails request,
public async Task<OrderDetailViewModel?> Handle(GetOrderDetails request,
CancellationToken cancellationToken)
{
var spec = new OrderWithItemsByIdSpec(request.OrderId);
@@ -26,7 +26,7 @@ public class GetOrderDetailsHandler : IRequestHandler<GetOrderDetails, OrderView
return null;
}
return new OrderViewModel
return new OrderDetailViewModel
{
OrderDate = order.OrderDate,
OrderItems = order.OrderItems.Select(oi => new OrderItemViewModel