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_Formularios;
using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Visualizacion;
using Exferia_Controles;
using Exferia_KairosPRO_EF;

namespace Exferia_KairosPRO._4_Vistas.ControlesPersonalizados_DentroPaneles
{
    public partial class CTU_P_Terminales_Codigos_Pausas : UserControl
    {
        #region Variables privadas
        private int g_int_NumerObjeto;
        private List<INTERNO_ComboBox_Modelo> g_lst_TipoPausas_INTERNO_ComboBox_Modelo;
        private KRS_Terminales_CodigosDispositivosBiometricos g_mdl_KRS_Terminales_CodigosDispositivosBiometricos = null;
        #endregion

        #region Eventos publicos
        public event EventHandler<INTERNO_EventArgs> Boton_CTU_P_Terminales_Codigos_Pausas_Delete_Click;
        #endregion

        #region Popiedades Publicas
        public long CTU_P_Terminales_Codigos_Pausas_ID
        {
            get
            {
                return g_mdl_KRS_Terminales_CodigosDispositivosBiometricos!=null ? g_mdl_KRS_Terminales_CodigosDispositivosBiometricos.id : -1;
            }
        }


        public Exferia_ComboBox CTU_P_Terminales_Codigos_Pausas_PAUSA_COMBOBOX
        {
            get
            {
                return ex_cbo_Pausa;
            }
        }
        public Exferia_Label CTU_P_Terminales_Codigos_Pausas_PAUSA_LABEL
        {
            get
            {
                return ex_lbl_Pausa;
            }
        }
        public string CTU_P_Terminales_Codigos_Pausas_PAUSA_VALOR
        {
            get
            {
                string str_Valor_Devuelto = "";

                if (ex_cbo_Pausa.Items!=null && ex_cbo_Pausa.Items.Count>0)
                {
                    str_Valor_Devuelto = ((INTERNO_ComboBox_Modelo)ex_cbo_Pausa.SelectedItem).Identificador;
                }

                return str_Valor_Devuelto;
            }
        }

        public Exferia_TextBox CTU_P_Terminales_Codigos_Pausas_FIN_TEXTBOX
        {
            get
            {
                return ex_txt_Codigos_Fin;
            }
        }
        public Exferia_Label CTU_P_Terminales_Codigos_Pausas_FIN_LABEL
        {
            get
            {
                return ex_lbl_Codigos_Fin;
            }
        }
        public string CTU_P_Terminales_Codigos_Pausas_FIN_VALOR
        {
            get
            {
                return ex_txt_Codigos_Fin.Text;
            }
        }


        public Exferia_TextBox CTU_P_Terminales_Codigos_Pausas_INICIO_TEXTBOX
        {
            get
            {
                return ex_txt_Codigos_Inicio;
            }
        }
        public Exferia_Label CTU_P_Terminales_Codigos_Pausas_INICIO_LABEL
        {
            get
            {
                return ex_lbl_Codigos_Inicio;
            }
        }
        public string CTU_P_Terminales_Codigos_Pausas_INICIO_VALOR
        {
            get
            {
                return ex_txt_Codigos_Inicio.Text;
            }
        }

        #endregion

        #region Constructor
        public CTU_P_Terminales_Codigos_Pausas(P_Base _frm_Pantalla_DeDondeHereda,
                                                int _int_NumerObjeto,
                                                List<INTERNO_ComboBox_Modelo> _lst_TipoPausas_INTERNO_ComboBox_Modelo,
                                                KRS_Terminales_CodigosDispositivosBiometricos _mdl_KRS_Terminales_CodigosDispositivosBiometricos)
        {
            InitializeComponent();

            Repintar.Empezar(this);

            g_int_NumerObjeto = _int_NumerObjeto;
            g_lst_TipoPausas_INTERNO_ComboBox_Modelo = _lst_TipoPausas_INTERNO_ComboBox_Modelo;
            g_mdl_KRS_Terminales_CodigosDispositivosBiometricos = _mdl_KRS_Terminales_CodigosDispositivosBiometricos;

            //Rellenar Combo
            if (g_lst_TipoPausas_INTERNO_ComboBox_Modelo != null && g_lst_TipoPausas_INTERNO_ComboBox_Modelo.Count > 0)
            {
                ex_cbo_Pausa.Items.Clear();
                ex_cbo_Pausa.DataSource = g_lst_TipoPausas_INTERNO_ComboBox_Modelo;
                ex_cbo_Pausa.SelectedIndex = 0;
            }

            Cargar_Datos();
        }
        #endregion

        private void Cargar_Datos()
        {
            try
            {
                if (g_mdl_KRS_Terminales_CodigosDispositivosBiometricos!=null)
                {

                    //Tipo
                    if (g_lst_TipoPausas_INTERNO_ComboBox_Modelo != null && g_lst_TipoPausas_INTERNO_ComboBox_Modelo.Count > 0)
                    {
                        ex_cbo_Pausa.SelectedItem = g_lst_TipoPausas_INTERNO_ComboBox_Modelo.Where(m => m.Identificador.Equals(g_mdl_KRS_Terminales_CodigosDispositivosBiometricos.idPausaTipo.ToString())).FirstOrDefault();
                    }

                    //codigoSalida
                    ex_txt_Codigos_Inicio.Text = g_mdl_KRS_Terminales_CodigosDispositivosBiometricos.codigoSalida;

                    //codigoEntrada
                    ex_txt_Codigos_Fin.Text = g_mdl_KRS_Terminales_CodigosDispositivosBiometricos.codigoEntrada;
                }
            }
            catch(Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(CTU_P_Terminales_Codigos_Pausas) + "/" + nameof(Cargar_Datos));
            }
        }


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