using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using LittleShop.Enums; namespace LittleShop.Models; public class Product { [Key] public Guid Id { get; set; } [Required] [StringLength(200)] public string Name { get; set; } = string.Empty; public string Description { get; set; } = string.Empty; [Column(TypeName = "decimal(18,2)")] public decimal Price { get; set; } [Column(TypeName = "decimal(18,4)")] public decimal Weight { get; set; } public ProductWeightUnit WeightUnit { get; set; } = ProductWeightUnit.Kilogram; public int StockQuantity { get; set; } = 0; public Guid CategoryId { get; set; } public bool IsActive { get; set; } = true; public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; // Navigation properties public virtual Category Category { get; set; } = null!; public virtual ICollection Photos { get; set; } = new List(); public virtual ICollection Variations { get; set; } = new List(); public virtual ICollection OrderItems { get; set; } = new List(); public virtual ICollection Reviews { get; set; } = new List(); }