// src/Webshop.Domain/Entities/Category.cs using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Webshop.Domain.Entities { /// /// Zum Gruppieren und Organisieren von Produkten. /// public class Category { [Key] public Guid Id { get; set; } = Guid.NewGuid(); // Hinzufügen von Default-Wert [Required] [MaxLength(255)] public string Name { get; set; } = string.Empty; // Hinzufügen von Default-Wert [MaxLength(1000)] public string? Description { get; set; } [Required] [MaxLength(255)] public string Slug { get; set; } = string.Empty; // Hinzufügen von Default-Wert [ForeignKey(nameof(ParentCategory))] public Guid? ParentCategoryId { get; set; } [MaxLength(2000)] public string? ImageUrl { get; set; } [Required] public bool IsActive { get; set; } [Required] public int DisplayOrder { get; set; } // << NEUE EIGENSCHAFTEN HINZUFÜGEN >> public DateTimeOffset CreatedDate { get; set; } = DateTimeOffset.UtcNow; public DateTimeOffset? LastModifiedDate { get; set; } // << ENDE NEUE EIGENSCHAFTEN >> // Navigation Properties public virtual Category? ParentCategory { get; set; } public virtual ICollection Subcategorys { get; set; } = new List(); public virtual ICollection Productcategorys { get; set; } = new List(); public virtual ICollection CategoryDiscounts { get; set; } = new List(); } }