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

namespace ChangkeTec.SDMS.Model.ExchangeCenterTables
{
    [Description("库位表")]
    public class TES_LOCATION : ITaskTable
    {
        [Description("地点")]
        [StringLength(50)]
        public string Site { get; set; }

        [Description("库位")]
        [StringLength(50)]
        public string Location { get; set; }

        [Description("描述")]
        [StringLength(50)]
        public string Desc { get; set; }

        [Description("库存状态")]
        [StringLength(50)]
        public string InventoryStatus { get; set; }

        [Description("项目")]
        [StringLength(50)]
        public string Project { get; set; }

        [Description("生成日期")]
        public DateTime DateCreated { get; set; }

        [Description("永久")]
        public bool Permanent { get; set; }

        [Description("类型")]
        [StringLength(50)]
        public string Type { get; set; }

        [Description("单件")]
        public bool SinglePart { get; set; }

        [Description("单批/参考")]
        public bool SingleLotReference { get; set; }

        [Description("容量")]
        public decimal Capacity { get; set; }

        [Description("计量单位")]
        [StringLength(50)]
        public string Um { get; set; }

        [Description("保留库位")]
        public bool ReservedLocations { get; set; }

        [Description("实物地址")]
        [StringLength(50)]
        public string PhysicalAddress { get; set; }

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

        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int UID { get; set; }

        [Description("创建人")]
        [StringLength(50)]
        public string CreateUser { get; set; }

        [Description("创建时间")]
        public DateTime CreateTime { get; set; }


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

        [Description("任务编号")]
        public Guid TaskID { get; set; }

        [Description("命令类型")]
        [StringLength(50)]
        public string CommandType { get; set; }

        public Guid DataID { get; set; }

        [Description("域")]
        [StringLength(50)]
        public string Domain { get; set; }
    }
}