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

namespace WMS_GIRAF_Interface.Entities
{
    [Table("IO_CONTROL")]
    public class IO_CONTROL
    {
        [Column("CONTROL_ID")]
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int? CONTROL_ID { get; set; }
        [Column("RELATIVE_CONTROL_ID")]
        public int? RELATIVE_CONTROL_ID { get; set; }

        [Column("MANAGE_ID")]
        public int? MANAGE_ID { get; set; }
        
        [Column("STOCK_BARCODE")]
        public string? STOCK_BARCODE { get; set; }

        [Column("PRE_CONTROL_STATUS")]
        public string? PRE_CONTROL_STATUS { get; set; }
        
        [Column("CONTROL_TASK_TYPE")]
        public int? CONTROL_TASK_TYPE { get; set; }

        [Column("CONTROL_TASK_LEVEL")]
        public string? CONTROL_TASK_LEVEL { get; set; }

        [Column("START_WAREHOUSE_CODE")]
        public string? START_WAREHOUSE_CODE { get; set; }

        [Column("END_WAREHOUSE_CODE")]
        public string? END_WAREHOUSE_CODE { get; set; }

        [Column("START_DEVICE_CODE")]
        public string START_DEVICE_CODE { get; set; }

        [Column("END_DEVICE_CODE")]
        public string? END_DEVICE_CODE { get; set; }

        [Column("CONTROL_STATUS")]
        public int CONTROL_STATUS { get; set; }

        [Column("ERROR_TEXT")]
        public string? ERROR_TEXT { get; set; }

        [Column("CONTROL_BEGIN_TIME")]
        public string CONTROL_BEGIN_TIME { get; set; }

        [Column("CONTROL_END_TIME")]
        public string? CONTROL_END_TIME { get; set; }

        [Column("CONTROL_REMARK")]
        public string? CONTROL_REMARK { get; set; }

        [Column("targetOutputDateInUtc")]
        public string targetOutputDateInUtc { get; set; }

        [Column("keepRequestInMemoryEvenIfMechanicalIssue")]
        public string? keepRequestInMemoryEvenIfMechanicalIssue { get; set; }

        [Column("keepRequestInMemoryEvenIfLackOfProductIssue")]
        public string keepRequestInMemoryEvenIfLackOfProductIssue { get; set; }

        [Column("requestNumber")]
        public string? requestNumber { get; set; }

        [Column("POPULATION")]
        public string? POPULATION { get; set; }

    }
}