using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Atomx.Common.Entities
{
    /// <summary>
    /// 制造商供应商数据
    /// </summary>
    [Table("Manufacturers")]
    public class Manufacturer
    {
        /// <summary>
        /// 制造商ID
        /// </summary>
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        [Key]
        public long Id { get; set; }

        /// <summary>
        /// 制造商名称
        /// </summary>
        [Column(TypeName = "varchar(50)")]
        public string Name { get; set; } = string.Empty;

        /// <summary>
        /// 是否是供应商
        /// </summary>
        public bool IsVendor { get; set; }

        /// <summary>
        /// 品牌LOGO
        /// </summary>
        [Column(TypeName = "varchar(300)")]
        public string Logo { get; set; } = string.Empty;

        /// <summary>
        /// 品牌制造商描述
        /// </summary>
        [Column(TypeName = "varchar(512)")]
        public string Description { get; set; } = string.Empty;

        /// <summary>
        /// Meta标题
        /// </summary>
        [Column(TypeName = "varchar(50)")]
        public string MetaTitle { get; set; } = string.Empty;

        /// <summary>
        /// Meta标题
        /// </summary>
        [Column(TypeName = "varchar(255)")]
        public string MetaKeywords { get; set; } = string.Empty;

        /// <summary>
        /// Meta标题
        /// </summary>
        [Column(TypeName = "varchar(512)")]
        public string MetaDescription { get; set; } = string.Empty;

        /// <summary>
        /// 品牌产品数量
        /// </summary>
        public int Count { get; set; }

        /// <summary>
        /// 是否启用
        /// </summary>
        public bool Enabled { get; set; }

        /// <summary>
        /// 显示排序
        /// </summary>
        public int DisplayOrder { get; set; }

        /// <summary>
        /// 建立时间
        /// </summary>
        [Column(TypeName = "timestamptz")]
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 最后更新时间
        /// </summary>
        [Column(TypeName = "timestamptz")]
        public DateTime? UpdateTime { get; set; }

    }
}
