using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Exferia_EntityFramework;
using Exferia_Aplicacion.General;
using Exferia_Formularios;
using Exferia_Controles;
using Exferia_General.General;
using Exferia_Aplicacion.Visualizacion;
using Exferia_Aplicacion.Modelos_Generales;

namespace Exferia_General._3_Vistas.ControlesPersonalizados_DentroPaneles
{
    public partial class CTU_P_Impuesto_Lineas : UserControl
    {

        #region Propiedades Privadas
        private int g_intNumerObjeto;
        private GEN_ImpuestosLineas g_mdl_GEN_ImpuestosLineas;
        private List<INTERNO_ComboBox_Modelo> g_lst_ImpuestosTipos_INTERNO_ComboBox_Modelo = new List<INTERNO_ComboBox_Modelo>();
        private List<INTERNO_GEN_ImpuestosTipos_Listado_Modelo> g_lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo = null;
        #endregion

        #region Eventos Publicos
        public event EventHandler<INTERNO_EventArgs> Boton_P_Impuesto_LineaDelete_Click;
        public event EventHandler ComboBox_P_Impuesto_Lineas_ImpuestoTipo_SelectedIndexChanged;
        public event KeyPressEventHandler TextBox_P_Impuesto_Impuesto_KeyPress;
        public event KeyPressEventHandler TextBox_P_Impuesto_Recargo_KeyPress;
        public event EventHandler TextBox_P_Impuesto_Lineas_TextChanged;

        public event EventHandler CTU_P_Impuestos_Lineas_Changed;

        #endregion

        #region Propiedades Publicas

        public Exferia_F3 Exferia_F3_Mayor_Compras_BaseImponible { get { return usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible; } }
        public Exferia_F3 Exferia_F3_Mayor_Compras_Impuestos { get { return usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos; } }
        public Exferia_F3 Exferia_F3_Mayor_Compras_Recargos { get { return usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos; } }

        public Exferia_F3 Exferia_F3_Mayor_Ventas_BaseImponible { get { return usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible; } }
        public Exferia_F3 Exferia_F3_Mayor_Ventas_Impuestos { get { return usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos; } }
        public Exferia_F3 Exferia_F3_Mayor_Ventas_Recargos { get { return usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos; } }

        public Exferia_FechaSeleccion Exferia_FechaSeleccion_FechaDesde { get { return usc_CTU_P_Impuestos_Lineas_FechaDesde; } }
        public Exferia_FechaSeleccion Exferia_FechaSeleccion_FechaHasta { get { return usc_CTU_P_Impuestos_Lineas_FechaHasta; } }

        public Exferia_TextBox Exferia_TextBox_Impuesto { get { return ex_txt_CTU_P_Impuesto_Lineas_Impuesto; } }
        public Exferia_TextBox Exferia_TextBox_Recargo { get { return ex_txt_CTU_P_Impuesto_Lineas_Recargo; } }
        
        public Exferia_ComboBox Exferia_ComboBox_TipoImpuesto { get { return ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto; } }

        public List<string> lst_Nombre_Objetos_Pantalla = new List<string>();

        public long CTU_P_Impuesto_Lineas_id
        {
            get
            {
                long lng_id = -1;
                if(g_mdl_GEN_ImpuestosLineas != null)
                {
                    lng_id = g_mdl_GEN_ImpuestosLineas.id;
                }
                return lng_id;
            }
        }

        public string CTU_P_Impuesto_Lineas_TipoImpuesto_TITULO
        {
            get
            {
                return ex_lbl_CTU_P_Impuesto_Lineas_TipoImpuesto.Text;
            }
        }
        public long CTU_P_Impuesto_Lineas_TipoImpuesto
        {
            get
            {
                long lng_ValorDevuelto = -1;
                if(ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.Items.Count > 0 && ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.SelectedItem != null && long.Parse(((INTERNO_ComboBox_Modelo)ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.SelectedItem).Identificador) != 0)
                {
                    lng_ValorDevuelto = long.Parse(((INTERNO_ComboBox_Modelo)ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.SelectedItem).Identificador);
                }
                return lng_ValorDevuelto;
            }
        }

        public decimal CTU_P_Impuesto_Lineas_Impuesto
        {
            get
            {
                decimal dcm_Impuesto = 0;
                if (ex_txt_CTU_P_Impuesto_Lineas_Impuesto.Text.Trim().Length > 0 && Funciones.IsNumeric(ex_txt_CTU_P_Impuesto_Lineas_Impuesto.Text.Trim()))
                {
                    dcm_Impuesto = decimal.Parse(ex_txt_CTU_P_Impuesto_Lineas_Impuesto.Text.Trim().Replace(".", ","));
                }
                return dcm_Impuesto;
            }
        }

        public decimal CTU_P_Impuesto_Lineas_Recargo
        {
            get
            {
                decimal dcm_Recargo = 0;
                if (ex_txt_CTU_P_Impuesto_Lineas_Recargo.Text.Trim().Length > 0 && Funciones.IsNumeric(ex_txt_CTU_P_Impuesto_Lineas_Recargo.Text.Trim()))
                {
                    dcm_Recargo = decimal.Parse(ex_txt_CTU_P_Impuesto_Lineas_Recargo.Text.Trim().Replace(".", ","));
                }
                return dcm_Recargo;
            }
        }

        public string CTU_P_Impuesto_Lineas_FechaDesde_TITULO
        {
            get
            {
                return usc_CTU_P_Impuestos_Lineas_FechaDesde.Exferia_FechaSeleccion_Descripcion;
            }
        }
        public string CTU_P_Impuesto_Lineas_FechaDesde
        {
            get
            {
                return usc_CTU_P_Impuestos_Lineas_FechaDesde.Exferia_FechaSeleccion_Fecha;
            }
        }

        public string CTU_P_Impuesto_Lineas_FechaHasta_TITULO
        {
            get
            {
                return usc_CTU_P_Impuestos_Lineas_FechaHasta.Exferia_FechaSeleccion_Descripcion;
            }
        }
        public string CTU_P_Impuesto_Lineas_FechaHasta
        {
            get
            {
                return usc_CTU_P_Impuestos_Lineas_FechaHasta.Exferia_FechaSeleccion_Fecha;
            }
        }
        

        public long CTU_P_ComboBox_Impuesto_Lineas_TipoImpuesto
        {
            get
            {
                long lng_ValorDevuelto = -1;
                if(ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.Items.Count == 0 || ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.SelectedItem == null || long.Parse(((INTERNO_ComboBox_Modelo)ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.SelectedItem).Identificador) != 0)
                {
                    lng_ValorDevuelto = long.Parse(((INTERNO_ComboBox_Modelo)ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.SelectedItem).Identificador);
                }

                return lng_ValorDevuelto;
            }
        }

        private bool g_bol_EsControlDinamico = false;

        public bool Interna_EsControlDinamico
        {
            get
            {
                return g_bol_EsControlDinamico;
            }
            set
            {
                g_bol_EsControlDinamico = value;
                Invalidate();
            }
        }

        #endregion

        #region Constructor
        public CTU_P_Impuesto_Lineas()
        {
            InitializeComponent();

            lst_Nombre_Objetos_Pantalla.Add(ex_txt_CTU_P_Impuesto_Lineas_Impuesto.Name);
            lst_Nombre_Objetos_Pantalla.Add(ex_txt_CTU_P_Impuesto_Lineas_Recargo.Name);
            lst_Nombre_Objetos_Pantalla.Add(usc_CTU_P_Impuestos_Lineas_FechaHasta.Name);
            lst_Nombre_Objetos_Pantalla.Add(usc_CTU_P_Impuestos_Lineas_FechaDesde.Name);
            lst_Nombre_Objetos_Pantalla.Add(ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.Name);
            lst_Nombre_Objetos_Pantalla.Add(usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Name);
            lst_Nombre_Objetos_Pantalla.Add(usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Name);
            lst_Nombre_Objetos_Pantalla.Add(usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Name);
            lst_Nombre_Objetos_Pantalla.Add(usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Name);
            lst_Nombre_Objetos_Pantalla.Add(usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Name);
            lst_Nombre_Objetos_Pantalla.Add(usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Name);
           
        }

        public CTU_P_Impuesto_Lineas(P_Base _frm_Pantalla_DeDondeHereda,
                                     int _int_NumerObjeto, 
                                     GEN_ImpuestosLineas _mdl_GEN_ImpuestosLineas,
                                     List<INTERNO_GEN_ImpuestosTipos_Listado_Modelo> _lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo,
                                     DateTime _dtt_FechaFiltro)
        {
            InitializeComponent();

            Repintar.Empezar(this);

            try
            {

                g_mdl_GEN_ImpuestosLineas = _mdl_GEN_ImpuestosLineas;
                g_intNumerObjeto = _int_NumerObjeto;

                #region Rellenar Listado de Combo
                g_lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo = _lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo;

                g_lst_ImpuestosTipos_INTERNO_ComboBox_Modelo.Add(new INTERNO_ComboBox_Modelo("-1", "", null));

                if (g_lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo != null && g_lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo.Count > 0)
                {
                    //Filtrar fecha borrado
                    List<INTERNO_GEN_ImpuestosTipos_Listado_Modelo> lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo_ARECORRER = g_lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo.Where(m => m.fechaBorrado == null || (m.fechaBorrado != null && m.fechaBorrado >= _dtt_FechaFiltro)).ToList();

                    if (lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo_ARECORRER != null && lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo_ARECORRER.Count > 0)
                    {
                        foreach (INTERNO_GEN_ImpuestosTipos_Listado_Modelo mdl_INTERNO_GEN_ImpuestosTipos_Listado_Modelo in lst_INTERNO_GEN_ImpuestosTipos_Listado_Modelo_ARECORRER)
                        {
                            g_lst_ImpuestosTipos_INTERNO_ComboBox_Modelo.Add(new INTERNO_ComboBox_Modelo(mdl_INTERNO_GEN_ImpuestosTipos_Listado_Modelo.id.ToString(), mdl_INTERNO_GEN_ImpuestosTipos_Listado_Modelo.descripcion, mdl_INTERNO_GEN_ImpuestosTipos_Listado_Modelo.fechaBorrado));
                        }
                    }
                }
                #endregion


                //TipoImpuesto
                if (g_lst_ImpuestosTipos_INTERNO_ComboBox_Modelo != null && g_lst_ImpuestosTipos_INTERNO_ComboBox_Modelo.Count > 0)
                {
                    ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.Items.Clear();
                    ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.DataSource = g_lst_ImpuestosTipos_INTERNO_ComboBox_Modelo;
                    ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.SelectedIndex = 0;

                }

                //Configurar F3
                usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_PantallaContenedora = _frm_Pantalla_DeDondeHereda;
                usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_PRINCIPAL_Opcion_BuscarDatos = Variables.G_STR_OPCION_CTA_MAYOR;
                usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_PRINCIPAL_BUSCARTITULO = false;
                usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_PRINCIPAL_AutoCompletado_Mayor = true;

                usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_PantallaContenedora = _frm_Pantalla_DeDondeHereda;
                usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_PRINCIPAL_Opcion_BuscarDatos = Variables.G_STR_OPCION_CTA_MAYOR;
                usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_PRINCIPAL_BUSCARTITULO = false;
                usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_PRINCIPAL_AutoCompletado_Mayor = true;

                usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_PantallaContenedora = _frm_Pantalla_DeDondeHereda;
                usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_PRINCIPAL_Opcion_BuscarDatos = Variables.G_STR_OPCION_CTA_MAYOR;
                usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_PRINCIPAL_BUSCARTITULO = false;
                usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_PRINCIPAL_AutoCompletado_Mayor = true;

                usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_PantallaContenedora = _frm_Pantalla_DeDondeHereda;
                usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_PRINCIPAL_Opcion_BuscarDatos = Variables.G_STR_OPCION_CTA_MAYOR;
                usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_PRINCIPAL_BUSCARTITULO = false;
                usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_PRINCIPAL_AutoCompletado_Mayor = true;

                usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_PantallaContenedora = _frm_Pantalla_DeDondeHereda;
                usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_PRINCIPAL_Opcion_BuscarDatos = Variables.G_STR_OPCION_CTA_MAYOR;
                usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_PRINCIPAL_BUSCARTITULO = false;
                usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_PRINCIPAL_AutoCompletado_Mayor = true;

                usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_PantallaContenedora = _frm_Pantalla_DeDondeHereda;
                usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_PRINCIPAL_Opcion_BuscarDatos = Variables.G_STR_OPCION_CTA_MAYOR;
                usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_PRINCIPAL_BUSCARTITULO = false;
                usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_PRINCIPAL_AutoCompletado_Mayor = true;

                //CargarDatos si los tuviera
                if (g_mdl_GEN_ImpuestosLineas != null)
                {
                    //idImpuestoTipo
                    ex_cbo_CTU_P_Impuesto_Lineas_TipoImpuesto.SelectedItem = g_lst_ImpuestosTipos_INTERNO_ComboBox_Modelo.Where(m => m.Identificador.Equals(g_mdl_GEN_ImpuestosLineas.idImpuestoTipo.ToString())).FirstOrDefault();

                    //impuesto
                    ex_txt_CTU_P_Impuesto_Lineas_Impuesto.Text = g_mdl_GEN_ImpuestosLineas.impuesto != null ? g_mdl_GEN_ImpuestosLineas.impuesto.Value.ToString() : "0";

                    //recargo
                    ex_txt_CTU_P_Impuesto_Lineas_Recargo.Text = g_mdl_GEN_ImpuestosLineas.recargo != null ? g_mdl_GEN_ImpuestosLineas.recargo.Value.ToString() : "0";

                    //fechaDesde
                    usc_CTU_P_Impuestos_Lineas_FechaDesde.Exferia_FechaSeleccion_Fecha = g_mdl_GEN_ImpuestosLineas.fechaDesde.ToString("dd/MM/yyyy");

                    //fechaHasta
                    usc_CTU_P_Impuestos_Lineas_FechaHasta.Exferia_FechaSeleccion_Fecha = g_mdl_GEN_ImpuestosLineas.fechaHasta != null ? g_mdl_GEN_ImpuestosLineas.fechaHasta.Value.ToString("dd/MM/yyyy") : "";

                    //ImpuestosCompras
                    if (g_mdl_GEN_ImpuestosLineas.CTA_Mayor != null)
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_Id = g_mdl_GEN_ImpuestosLineas.CTA_Mayor.id;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_Codigo = g_mdl_GEN_ImpuestosLineas.CTA_Mayor.codigo;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_Descripcion = g_mdl_GEN_ImpuestosLineas.CTA_Mayor.descripcion;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_FechaBorrado = g_mdl_GEN_ImpuestosLineas.CTA_Mayor.fechaBorrado;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_IdEjercicio_Baja = g_mdl_GEN_ImpuestosLineas.CTA_Mayor.idEjercicio_Baja;
                    }
                    else
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_Id = -1;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_Codigo = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_Descripcion = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_FechaBorrado = null;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Impuestos.Exferia_F3_IdEjercicio_Baja = null;
                    }

                    //ImpuestosVentas
                    if (g_mdl_GEN_ImpuestosLineas.CTA_Mayor1 != null)
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_Id = g_mdl_GEN_ImpuestosLineas.CTA_Mayor1.id;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_Codigo = g_mdl_GEN_ImpuestosLineas.CTA_Mayor1.codigo;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_Descripcion = g_mdl_GEN_ImpuestosLineas.CTA_Mayor1.descripcion;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_FechaBorrado = g_mdl_GEN_ImpuestosLineas.CTA_Mayor1.fechaBorrado;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_IdEjercicio_Baja = g_mdl_GEN_ImpuestosLineas.CTA_Mayor1.idEjercicio_Baja;
                    }
                    else
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_Id = -1;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_Codigo = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_Descripcion = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_FechaBorrado = null;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Impuestos.Exferia_F3_IdEjercicio_Baja = null;
                    }

                    //RecargoVentas
                    if (g_mdl_GEN_ImpuestosLineas.CTA_Mayor2 != null)
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_Id = g_mdl_GEN_ImpuestosLineas.CTA_Mayor2.id;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_Codigo = g_mdl_GEN_ImpuestosLineas.CTA_Mayor2.codigo;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_Descripcion = g_mdl_GEN_ImpuestosLineas.CTA_Mayor2.descripcion;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_FechaBorrado = g_mdl_GEN_ImpuestosLineas.CTA_Mayor2.fechaBorrado;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_IdEjercicio_Baja = g_mdl_GEN_ImpuestosLineas.CTA_Mayor2.idEjercicio_Baja;
                    }
                    else
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_Id = -1;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_Codigo = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_Descripcion = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_FechaBorrado = null;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_Recargos.Exferia_F3_IdEjercicio_Baja = null;
                    }

                    //BaseImponibleVentas
                    if (g_mdl_GEN_ImpuestosLineas.CTA_Mayor3 != null)
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_Id = g_mdl_GEN_ImpuestosLineas.CTA_Mayor3.id;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_Codigo = g_mdl_GEN_ImpuestosLineas.CTA_Mayor3.codigo;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_Descripcion = g_mdl_GEN_ImpuestosLineas.CTA_Mayor3.descripcion;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_FechaBorrado = g_mdl_GEN_ImpuestosLineas.CTA_Mayor3.fechaBorrado;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_IdEjercicio_Baja = g_mdl_GEN_ImpuestosLineas.CTA_Mayor3.idEjercicio_Baja;
                    }
                    else
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_Id = -1;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_Codigo = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_Descripcion = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_FechaBorrado = null;
                        usc_F3_CTU_P_Impuestos_Lineas_Ventas_BaseImponible.Exferia_F3_IdEjercicio_Baja = null;
                    }

                    //BaseImponibleCompras
                    if (g_mdl_GEN_ImpuestosLineas.CTA_Mayor4 != null)
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_Id = g_mdl_GEN_ImpuestosLineas.CTA_Mayor4.id;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_Codigo = g_mdl_GEN_ImpuestosLineas.CTA_Mayor4.codigo;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_Descripcion = g_mdl_GEN_ImpuestosLineas.CTA_Mayor4.descripcion;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_FechaBorrado = g_mdl_GEN_ImpuestosLineas.CTA_Mayor4.fechaBorrado;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_IdEjercicio_Baja = g_mdl_GEN_ImpuestosLineas.CTA_Mayor4.idEjercicio_Baja;
                    }
                    else
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_Id = -1;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_Codigo = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_Descripcion = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_FechaBorrado = null;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_BaseImponible.Exferia_F3_IdEjercicio_Baja = null; ;
                    }

                    //RecargoCompras
                    if (g_mdl_GEN_ImpuestosLineas.CTA_Mayor5 != null)
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_Id = g_mdl_GEN_ImpuestosLineas.CTA_Mayor5.id;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_Codigo = g_mdl_GEN_ImpuestosLineas.CTA_Mayor5.codigo;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_Descripcion = g_mdl_GEN_ImpuestosLineas.CTA_Mayor5.descripcion;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_FechaBorrado = g_mdl_GEN_ImpuestosLineas.CTA_Mayor5.fechaBorrado;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_IdEjercicio_Baja = g_mdl_GEN_ImpuestosLineas.CTA_Mayor5.idEjercicio_Baja;
                    }
                    else
                    {
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_Id = -1;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_Codigo = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_Descripcion = "";
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_FechaBorrado = null;
                        usc_F3_CTU_P_Impuestos_Lineas_Compras_Recargos.Exferia_F3_IdEjercicio_Baja = null; ;
                    }
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(CTU_P_Impuesto_Lineas) + "/" + nameof(CTU_P_Impuesto_Lineas));
            }
        }
        #endregion

        private void ex_btn_CTU_P_Impuestos_Lineas_Borrar_Click(object sender, EventArgs e)
        {
            //Para que salte el evento en el otro lado
            Boton_P_Impuesto_LineaDelete_Click?.Invoke(sender, new INTERNO_EventArgs(g_intNumerObjeto));
        }

        private void ex_cbo_CTU_P_Impuestos_Lineas_ImpuestosTipos_SelectedIndexChanged(object sender, EventArgs e)
        {
            //Para que salte el evento en el otro lado
            ComboBox_P_Impuesto_Lineas_ImpuestoTipo_SelectedIndexChanged?.Invoke(sender, e);

            CTU_P_Impuestos_Lineas_Changed?.Invoke(sender, e);
        }

        private void ex_txt_CTU_P_Impuestos_Lineas_Impuesto_KeyPress(object sender, KeyPressEventArgs e)
        {
            //Para que salte el evento en el otro lado
            TextBox_P_Impuesto_Impuesto_KeyPress?.Invoke(sender, e);

        }

        private void ex_txt_CTU_P_Impuestos_Lineas_Recargo_KeyPress(object sender, KeyPressEventArgs e)
        {
            //Para que salte el evento en el otro lado
            TextBox_P_Impuesto_Recargo_KeyPress?.Invoke(sender, e);

        }

        private void ex_txt_CTU_P_Impuestos_Lineas_Text_Changed(object sender, EventArgs e)
        {
            TextBox_P_Impuesto_Lineas_TextChanged?.Invoke(sender, e);

            CTU_P_Impuestos_Lineas_Changed?.Invoke(sender, e);
        }
    }
}
