diff --git a/Webshop.Application/DTOs/Products/AdminProductDto.cs b/Webshop.Application/DTOs/Products/AdminProductDto.cs index 903db66..4b7d8b2 100644 --- a/Webshop.Application/DTOs/Products/AdminProductDto.cs +++ b/Webshop.Application/DTOs/Products/AdminProductDto.cs @@ -27,5 +27,6 @@ namespace Webshop.Application.DTOs.Products // << NEU >> public bool IsFeatured { get; set; } public int FeaturedDisplayOrder { get; set; } + public byte[] RowVersion { get; set; } } } \ No newline at end of file diff --git a/Webshop.Application/DTOs/Products/UpdateAdminProductDto.cs b/Webshop.Application/DTOs/Products/UpdateAdminProductDto.cs index 23c98a4..61a02af 100644 --- a/Webshop.Application/DTOs/Products/UpdateAdminProductDto.cs +++ b/Webshop.Application/DTOs/Products/UpdateAdminProductDto.cs @@ -35,5 +35,7 @@ namespace Webshop.Application.DTOs.Products public decimal? PurchasePrice { get; set; } public bool IsFeatured { get; set; } public int FeaturedDisplayOrder { get; set; } + [Required] + public byte[] RowVersion { get; set; } } } \ No newline at end of file diff --git a/Webshop.Application/Services/Admin/AdminProductService.cs b/Webshop.Application/Services/Admin/AdminProductService.cs index 88bb174..7c8e5c1 100644 --- a/Webshop.Application/Services/Admin/AdminProductService.cs +++ b/Webshop.Application/Services/Admin/AdminProductService.cs @@ -151,6 +151,7 @@ namespace Webshop.Application.Services.Admin existingProduct.Images.Add(new ProductImage { Url = url, IsMainImage = false, DisplayOrder = displayOrder++ }); } } + _context.Entry(existingProduct).Property(p => p.RowVersion).OriginalValue = productDto.RowVersion; // --- EIGENSCHAFTEN-UPDATE --- Console.WriteLine("---- AKTUALISIERE PRODUKT-EIGENSCHAFTEN ----"); diff --git a/Webshop.Domain/Entities/Product.cs b/Webshop.Domain/Entities/Product.cs index 82f2896..6550116 100644 --- a/Webshop.Domain/Entities/Product.cs +++ b/Webshop.Domain/Entities/Product.cs @@ -53,5 +53,7 @@ namespace Webshop.Domain.Entities public virtual ICollection ProductDiscounts { get; set; } = new List(); public virtual ICollection Productcategories { get; set; } = new List(); public virtual ICollection Images { get; set; } = new List(); + [Timestamp] // Diese Annotation ist entscheidend! + public byte[] RowVersion { get; set; } } } \ No newline at end of file