using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static IOB_UT_NEXT.CustomObj;

namespace IOB_UT_NEXT
{
    // <Auto-Generated>
    // This is here so CodeMaid doesn't reorganize this document
    // </Auto-Generated>
    public class CustomObj
    {
        public class ArtRow
        {
            #region Public Properties

            [Description("Matricola_articolo")]
            public string Matricola { get; set; } = "";

            [Description("Articolo")]
            //[Display(Name = "Articolo", Order = 1)]
            public string Articolo { get; set; } = "";

            [Description("Identificazione")]
            //[Display(Name = "Identificazione", Order = 2)]
            public string Descrizione { get; set; } = "";


            [Description("Peso_teorico_linea1[ton]")]
            public int Peso_01 { get; set; } = 0;

            [Description("Peso_teorico_linea2[ton]")]
            public int Peso_02 { get; set; } = 0;

            [Description("Peso_teorico_linea3[ton]")]
            public int Peso_03 { get; set; } = 0;

            [Description("Peso_teorico_linea4[ton]")]
            public int Peso_04 { get; set; } = 0;

            [Description("Pos. Carrello 1[mm]")]
            public int PosizCarrello_01 { get; set; } = 0;

            [Description("Pos. Carrello 2[mm]")]
            public int PosizCarrello_02 { get; set; } = 0;

            [Description("Pos. Carrello 3[mm]")]
            public int PosizCarrello_03 { get; set; } = 0;

            [Description("Pos. Carrello 4[mm]")]
            public int PosizCarrello_04 { get; set; } = 0;

            [Description("Limitazione_velocita_sollevamento[%]")]
            //[Display(Name = "Limitazione_velocita_sollevamento[%]", Order = 3)]
            public int LimiteVel { get; set; } = 100;

            #endregion Public Properties
        }

        public class JobRow
        {
            #region Public Properties

            [Description("Matricola")]
            public string Matricola { get; set; } = "";

            [Description("Commessa")]
            public string Commessa { get; set; } = "";

            [Description("Articolo")]
            public string Articolo { get; set; } = "";

            [Description("Identificazione")]
            public string Descrizione { get; set; } = "";

            [Description("Data inserimento")]
            public string DataIns { get; set; } = "";

            [Description("Ora inserimento")]
            public string OraIns { get; set; } = "";

            [Description("Lavorazione")]
            public string Lavorazione { get; set; } = "";

            #endregion Public Properties
        }
        public partial class AnagArticoli
        {

            public string CodArticolo { get; set; }
            public string DescArticolo { get; set; }
            public string Disegno { get; set; }
            public string Tipo { get; set; }
            public string Azienda { get; set; }

        }

        public class PODLModel
        {
            public int IdxPromessa { get; set; } = 0;
            public string KeyRichiesta { get; set; } = "";
            public string KeyBCode { get; set; } = "";
            public bool Attivabile { get; set; } = false;
            public int IdxOdl { get; set; } = 0;
            public string CodArticolo { get; set; } = "";
            public string CodGruppo { get; set; } = "";
            public string IdxMacchina { get; set; }
            public int NumPezzi { get; set; } = 1;
            public decimal Tcassegnato { get; set; } = 1;
            public DateTime? DueDate { get; set; }
            public int Priorita { get; set; } = 1;
            public int PzPallet { get; set; } = 1;
            public string Note { get; set; } = "";
            public string CodCli { get; set; } = "";
            public DateTime InsertDate { get; set; } = DateTime.Now;
            public string Recipe { get; set; } = "";

            public string CodFase
            {
                get
                {
                    string answ = "*";
                    var allData = KeyRichiesta.Split('_');
                    if (allData.Length > 0)
                    {
                        answ = allData[0];
                    }
                    return answ;
                }
            }
        }
        public class DossiersModel
        {

            public int IdxDossier { get; set; } = 0;

            public string DataType { get; set; } = "";

            public DateTime DtRif { get; set; } = DateTime.Now;

            public string IdxMacchina { get; set; } = "";

            public int IdxODL { get; set; } = 0;

            public string CodArticolo { get; set; } = "";

            public string Valore { get; set; } = "";

        }

        public class DossierFluxLogDTO
        {
            public List<FluxLog> ODL { get; set; } = new List<FluxLog>();
        }
        public class FluxLog
        {
            public string IdxMacchina { get; set; }

            public DateTime dtEvento { get; set; }

            public string CodFlux { get; set; }

            public string Valore { get; set; } = "";

            public string ValoreEdit { get; set; } = "";

            public int Cnt { get; set; }

        }

        public partial class ListVal
        {

            public string value { get; set; }
            public string label { get; set; }

        }
    }
}
