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_Aplicacion.General;
using Exferia_EntityFramework;
using Exferia_Aplicacion.Visualizacion;

namespace Exferia_CRM._3_Vistas.ControlesPersonalizados_DentroPaneles
{
    public partial class CTU_P_Encuestas_Respuestas : UserControl
    {
        #region Eventos publicos
        public event EventHandler<INTERNO_EventArgs> Boton_P_Encuestas_RespuestaDelete_Click;
        public event KeyPressEventHandler TextBox_Encuesta_Respuestas_Orden_KeyPress;
        public event KeyPressEventHandler TextBox_Encuesta_Respuestas_Descripcion_KeyPress;
        #endregion

        #region Propiedades Publicas
        public long id
        {
            get
            {
                long lng_id = -1;
                if(g_mdl_CRM_EncuestasRespuestas != null)
                {
                    lng_id = g_mdl_CRM_EncuestasRespuestas.id;
                }
                return lng_id;
            }
        }
        public string TextBox_Encuestas_Respuesta_Descripcion { get { return ex_txt_CTU_P_Encuestas_Respuestas_Descripcion.Text; } }
        public int TextBox_Encuestas_Respuesta_Orden
        {
            get
            {
                int int_Orden = 0;
                if(ex_txt_CTU_P_Encuestas_Respuestas_Orden.Text.Trim().Length > 0)
                {
                    int_Orden = int.Parse(ex_txt_CTU_P_Encuestas_Respuestas_Orden.Text.Trim());
                }

                return int_Orden;
            }
        }
        #endregion

        //Otras propiedades
        private CRM_EncuestasRespuestas g_mdl_CRM_EncuestasRespuestas;
        private int g_intNumerObjeto;

        //Permisos
        private long g_lng_Permisos_DeleteRespuesta = 1;

        public CTU_P_Encuestas_Respuestas()
        {
            InitializeComponent();
        }

        public CTU_P_Encuestas_Respuestas(int _intNumerObjeto, CRM_EncuestasRespuestas _mdl_CRM_EncuestasRespuestas)
        {
            InitializeComponent();

            Repintar.Empezar(this);

            g_mdl_CRM_EncuestasRespuestas = _mdl_CRM_EncuestasRespuestas;
            g_intNumerObjeto = _intNumerObjeto;
            //g_lng_Permisos_DeleteRespuesta = _lng_Permisos_DeleteRespuesta;

            //Datos Respuestas
            if(g_mdl_CRM_EncuestasRespuestas != null)
            {
                ex_txt_CTU_P_Encuestas_Respuestas_Descripcion.Text = g_mdl_CRM_EncuestasRespuestas.texto;
                ex_txt_CTU_P_Encuestas_Respuestas_Orden.Text = g_mdl_CRM_EncuestasRespuestas.orden.ToString();
            }

            //Color de Seleccion de Objetos ...............................
        }

        private void ex_btn_P_Encuestas_Respuestas_Delete_Click(object sender, EventArgs e)
        {
            //Para que salte el evento en el otro lado
            EventHandler<INTERNO_EventArgs> temp = Boton_P_Encuestas_RespuestaDelete_Click;
            if (temp != null)
                temp(sender, new INTERNO_EventArgs(g_intNumerObjeto));
        }

        private void txt_Encuestas_Respuestas_Orden_KeyPress(object sender, KeyPressEventArgs e)
        {
            KeyPressEventHandler temp = TextBox_Encuesta_Respuestas_Orden_KeyPress;
            if (temp != null)
                temp(sender, e);
   
        }

        private void txt_Encuestas_Respuestas_Descripcion_KeyPress(object sender, KeyPressEventArgs e)
        {
            KeyPressEventHandler temp = TextBox_Encuesta_Respuestas_Descripcion_KeyPress;
            if (temp != null)
                temp(sender, e);
        }

        public INTERNO_ValorDevuelto_Modelo ValidarDatos()
        {
            INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
            mdl_ValorDevuelto_Modelo.TodoCorrecto = true;

            //La descripcion no puede estar vacio
            if(mdl_ValorDevuelto_Modelo.TodoCorrecto && ex_txt_CTU_P_Encuestas_Respuestas_Descripcion.Text.Trim().Length == 0)
            {
                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_GENERAL_VALIDACIONES_NOSELECCIONADO(ex_lbl_CTU_P_Encuestas_Respuestas_Descripcion.Text);
                mdl_ValorDevuelto_Modelo.Objeto = ex_txt_CTU_P_Encuestas_Respuestas_Descripcion;
            }

            //El orden no pued eestar vacio
            if(mdl_ValorDevuelto_Modelo.TodoCorrecto && ex_txt_CTU_P_Encuestas_Respuestas_Orden.Text.Trim().Length == 0)
            {
                mdl_ValorDevuelto_Modelo.TodoCorrecto = false;
                mdl_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_GENERAL_VALIDACIONES_NOSELECCIONADO(ex_lbl_CTU_P_Encuestas_Respuestas_Orden.Text);
                mdl_ValorDevuelto_Modelo.Objeto = ex_txt_CTU_P_Encuestas_Respuestas_Orden;
            }

            return mdl_ValorDevuelto_Modelo;
        }
    }
}
