using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace EgtBEAMWALL.DataLayer.DatabaseModels
{
    /// <summary>
    /// Tabella di gestione dei PROTOTIPI dal file BTL (part + quantità)
    /// </summary>
    [Table("BTLPartList")]
    public class BTLPartModel
    {
        #region Public Properties

        /// <summary>
        /// Chiave univoca
        /// </summary>
        [Key, Column("DbId"), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int BTLPartDbId { get; set; }

        [Column("CalcState")]
        public int CALC_State { get; set; } = -1;

        /// <summary>
        /// Quantità richiesta
        /// </summary>
        [Column("CNT")]
        public int CNT { get; set; } = 0;

        [Column("DO")]
        public bool DO { get; set; } = false;

        //[Column("DON")]
        //public int DON { get; set; } = 0;

        //[Column("GRP")]
        //public string GRP { get; set; } = "";

        [Column("H")]
        public double H { get; set; } = 0;

        [Column("L")]
        public double L { get; set; } = 0;

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

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

        /// <summary>
        /// PartId dal programma
        /// </summary>
        [Column("Id")]
        public int PartId { get; set; }

        [Column("PDN")]
        public int PDN { get; set; } = 0;

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

        [ForeignKey("ProjDbId")]
        public ProjModel Project { get; set; }

        //[Column("ROT")]
        //public int ROT { get; set; } = 0;

        //[Column("TBP")]
        //public int TBP { get; set; } = 0;

        //[Column("UNT")]
        //public int UNT { get; set; } = 0;

        [Column("W")]
        public double W { get; set; } = 0;

        #endregion Public Properties
    }
}