using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using ChangkeTec.SDMS.Model.Attributes;
using ChangkeTec.SDMS.Model.Base;

namespace ChangkeTec.SDMS.Model.DataCenterTables
{
    [Description("EDI数据表")]
    public class TS_EDI_DATA : IUpdatableTable, ISoftDelete
    {
        [Required(ErrorMessage = "代码不能为空")]
        [Index("IndexEdiData", Order = 0, IsUnique = true, IsClustered = false)]
        [IsDataGridColum(true, 1)]
        [Description("销售订单")]
        [StringLength(50)]
        public string CustomerOrder { get; set; }
        [IsDataGridColum(true, 2)]
        [Description("货物发自")]
        [StringLength(50)]
        public string ShipFrom { get; set; }
        [IsDataGridColum(true, 3)]
        [Description("客户")]
        [StringLength(50)]
        public string Customer { get; set; }
        [IsDataGridColum(true, 4)]
        [Description("客户零件号")]
        [StringLength(50)]
        public string CustomerPart { get; set; }
        [IsDataGridColum(true, 5)]
        [Description("行号")]
        public int Line { get; set; }
        [IsDataGridColum(true, 6)]
        [Description("零件号")]
        [StringLength(50)]
        public string Part { get; set; }
        [IsDataGridColum(true, 7)]
        [Description("采购订单")]
        [StringLength(50)]
        public string PurchaseOrder { get; set; }
        [IsDataGridColum(true, 8)]
        [Description("客户参考号")]
        [StringLength(50)]
        public string CustomerReference { get; set; }
        [IsDataGridColum(true, 9)]
        [Description("接收日期")]
        public DateTime ReceiveDate { get; set; }
        [IsDataGridColum(true, 10)]
        [Description("接收时间")]
        public DateTime ReceiveTime { get; set; }
        [IsDataGridColum(true, 11)]
        [Description("需求日期")]
        public DateTime DemandDate { get; set; }
        [IsDataGridColum(true, 12)]
        [Description("需求数量")]
        public decimal DemandQuantity { get; set; }

        [Key]
        public Guid GUID { get; set; } = Guid.NewGuid();

        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int UID { get; set; }
        [IsDataGridColum(true, 13)]
        [Description("创建人")]
        [StringLength(50)]
        public string CreateUser { get; set; }
        [IsDataGridColum(true, 14)]
        [Description("创建时间")]
        public DateTime CreateTime { get; set; }

        [IsDataGridColum(true, 15)]
        [Description("备注")]
        public string Remark { get; set; }

        [Description("修改人")]
        [StringLength(50)]
        public string UpdateUser { get; set; }

        [Description("修改时间")]
        public DateTime? UpdateTime { get; set; }

        [Description("已删除")]
        public bool IsDeleted { get; set; }
    }
}