namespace CMSMicroservice.Domain.Entities;
//محصول
public class Product : BaseAuditableEntity
{
    public string Title { get; set; }
    public string Description { get; set; }
    public string ShortInfomation { get; set; }
    public string FullInformation { get; set; }
    public long Price { get; set; }
    public int Discount { get; set; }
    public int Rate { get; set; }
    public string ImagePath { get; set; }
    public string ThumbnailPath { get; set; }
    public int SaleCount { get; set; }
    public int ViewCount { get; set; }
    public int RemainingCount { get; set; }
    
    // ============= Club Shop Fields =============
    
    /// <summary>
    /// آیا این محصول فقط در فروشگاه باشگاه موجود است
    /// </summary>
    public bool IsClubExclusive { get; set; }
    
    /// <summary>
    /// درصد تخفیف باشگاه (0 تا 100)
    /// </summary>
    public int ClubDiscountPercent { get; set; }
    
    // ============= Navigation Properties =============
    
    //UserCarts Collection Navigation Reference
    public virtual ICollection<UserCart> UserCarts { get; set; }
    //ProductGalleries Collection Navigation Reference
    public virtual ICollection<ProductGallery> ProductGalleries { get; set; }
    //FactorDetails Collection Navigation Reference
    public virtual ICollection<FactorDetails> FactorDetails { get; set; }
    //ProductCategory Collection Navigation Reference
    public virtual ICollection<ProductCategory> ProductCategories { get; set; }
    //ProductTag Collection Navigation Reference
    public virtual ICollection<ProductTag> ProductTags { get; set; }
}
