diff --git a/Webshop.Application/Services/Customers/OrderService.cs b/Webshop.Application/Services/Customers/OrderService.cs index 932de52..2fe1a2b 100644 --- a/Webshop.Application/Services/Customers/OrderService.cs +++ b/Webshop.Application/Services/Customers/OrderService.cs @@ -163,20 +163,22 @@ namespace Webshop.Application.Services.Customers var customer = await _customerRepository.GetByUserIdAsync(userId); if (customer == null) { - return null; + return null; // Kein Kunde, kann keine Bestellung abrufen } + // Finde die Bestellung und stelle sicher, dass sie zum eingeloggten Kunden gehört var order = await _context.Orders .Include(o => o.BillingAddress) .Include(o => o.ShippingAddress) - .Include(o => o.PaymentMethodInfo) + .Include(o => o.PaymentMethodInfo) // << HINZUFÜGEN, um PaymentMethodInfo zu laden >> + .Include(o => o.ShippingMethodInfo) // << HINZUFÜGEN, um ShippingMethodInfo zu laden >> .Include(o => o.OrderItems) - .ThenInclude(oi => oi.Product) + .ThenInclude(oi => oi.Product) // Optional: Dann das Produkt laden .FirstOrDefaultAsync(o => o.Id == orderId && o.CustomerId == customer.Id); if (order == null) { - return null; + return null; // Bestellung nicht gefunden oder gehört nicht diesem Kunden } return new OrderDetailDto @@ -187,9 +189,9 @@ namespace Webshop.Application.Services.Customers CustomerId = order.CustomerId, Status = Enum.TryParse(order.OrderStatus, true, out var orderStatus) ? orderStatus : OrderStatus.Pending, TotalAmount = order.OrderTotal, - ShippingAddress = order.ShippingAddress, - BillingAddress = order.BillingAddress, - PaymentMethod = order.PaymentMethod, + ShippingAddress = order.ShippingAddress, // Annahme: Address DTO Mapping + BillingAddress = order.BillingAddress, // Annahme: Address DTO Mapping + PaymentMethod = order.PaymentMethod, // << KORREKTUR: Dies ist ein String in Ihrer Entität >> PaymentStatus = Enum.TryParse(order.PaymentStatus, true, out var paymentStatus) ? paymentStatus : PaymentStatus.Pending, ShippingTrackingNumber = order.ShippingTrackingNumber, ShippedDate = order.ShippedDate,