using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Exferia_Aplicacion.General.Enumerados;

namespace Exferia_Aplicacion.General
{
    public class INTERNO_ArbolSecundarioSeleccion_Modelo
    {
        #region Constructor
        public INTERNO_ArbolSecundarioSeleccion_Modelo()
        {}

        public INTERNO_ArbolSecundarioSeleccion_Modelo(string _str_id,
                                                    string _str_nombreRama,
                                                    bool _bol_clickable,
                                                    string _str_libreria,
                                                    string _str_procedimiento,
                                                    string _str_opcion,
                                                    string _str_idPadre,
                                                    int _int_orden,
                                                    List<INTERNO_ArbolSecundarioSeleccion_Filtros_Modelo> _lst_filtros)
        {
            id = _str_id;
            nombreRama = _str_nombreRama;
            clickable = _bol_clickable;
            libreria = _str_libreria;
            procedimiento = _str_procedimiento;
            opcion = _str_opcion;
            idPadre = _str_idPadre;
            orden = _int_orden;
            filtros = _lst_filtros;
            tipo = 0;
            Filtros_OpcionPadre_Modelo = null;
        }

        public INTERNO_ArbolSecundarioSeleccion_Modelo(string _str_id,
                                                    string _str_nombreRama,
                                                    bool _bol_clickable,
                                                    string _str_libreria,
                                                    string _str_procedimiento,
                                                    string _str_opcion,
                                                    string _str_idPadre,
                                                    int _int_orden,
                                                    int _int_Tipo,
                                                    List<INTERNO_ArbolSecundarioSeleccion_Filtros_Modelo> _lst_filtros)
        {
            id = _str_id;
            nombreRama = _str_nombreRama;
            clickable = _bol_clickable;
            libreria = _str_libreria;
            procedimiento = _str_procedimiento;
            opcion = _str_opcion;
            idPadre = _str_idPadre;
            orden = _int_orden;
            filtros = _lst_filtros;
            tipo = _int_Tipo;
            Filtros_OpcionPadre_Modelo = null;
        }
        public INTERNO_ArbolSecundarioSeleccion_Modelo(string _str_id,
                                                    string _str_nombreRama,
                                                    bool _bol_clickable,
                                                    string _str_libreria,
                                                    string _str_procedimiento,
                                                    string _str_opcion,
                                                    string _str_idPadre,
                                                    int _int_orden,
                                                    int _int_Tipo,
                                                    List<INTERNO_ArbolSecundarioSeleccion_Filtros_Modelo> _lst_filtros,
                                                    List<INTERNO_Filtro_OpcionPadre_Modelo> _mdl_INTERNO_Filtro_OpcionPadre_Modelo)
        {
            id = _str_id;
            nombreRama = _str_nombreRama;
            clickable = _bol_clickable;
            libreria = _str_libreria;
            procedimiento = _str_procedimiento;
            opcion = _str_opcion;
            idPadre = _str_idPadre;
            orden = _int_orden;
            filtros = _lst_filtros;
            tipo = _int_Tipo;
            Filtros_OpcionPadre_Modelo = _mdl_INTERNO_Filtro_OpcionPadre_Modelo;
        }
        #endregion


        public string id { get; set; }
        public string nombreRama { get; set; }
        public bool clickable { get; set; }
        public string libreria { get; set; }
        public string procedimiento { get; set; }
        public string opcion { get; set; }
        public string idPadre { get; set; }
        public int orden { get; set; }
        public int tipo { get; set; }
        public List<INTERNO_ArbolSecundarioSeleccion_Filtros_Modelo> filtros { get; set; }
        public List<INTERNO_Filtro_OpcionPadre_Modelo> Filtros_OpcionPadre_Modelo { get; set; }
    }
}
