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

namespace Exferia_Controles
{
    public partial class Exferia_FicheroSeleccion : UserControl
    {
        #region Propiedades
        public string Exferia_FicheroSeleccion_Descripcion
        {
            get
            {
                return ex_lbl_Descripcion.Text;
            }
            set
            {
                ex_lbl_Descripcion.Text = value;
            }
        }

        internal bool g_bol_Obligatorio = false;
        public bool Exferia_FicheroSeleccion_Obligatorio
        {
            set
            {
                g_bol_Obligatorio = value;
                if (g_bol_Obligatorio)
                {
                    ex_txt_Ruta.Exferia_TextBox_Fondo = Colores.G_COLOR_FONDO_OBLIGATORIO;
                }
                else
                {
                    ex_txt_Ruta.Exferia_TextBox_Fondo = Color.White;
                }
            }
            get
            {
                return g_bol_Obligatorio;
            }
        }
        public string Exferia_FicheroSeleccion_NombreFichero
        {
            get
            {
                return ex_txt_Ruta.Text;
            }
            set
            {
                ex_txt_Ruta.Text = value;
            }
        }

        public bool Exferia_FicheroSeleccion_ReadOnlyRuta
        {
            get
            {
                return ex_txt_Ruta.Exferia_TextBox_ReadOnly;
            }
            set
            {
                ex_txt_Ruta.Exferia_TextBox_ReadOnly = value;
            }
        }
        #endregion

        #region Eventos publicos
        public event EventHandler Exferia_FicheroSeleccion_Evento_TextChanged;
        #endregion

        public Exferia_FicheroSeleccion()
        {
            InitializeComponent();
        }

        private void ex_btn_FicheroSeleccion_Click(object sender, EventArgs e)
        {
            try
            {
                FolderBrowserDialog obj_FolderBrowserDialog = new FolderBrowserDialog();

                if (obj_FolderBrowserDialog.ShowDialog() == DialogResult.OK)
                {
                    ex_txt_Ruta.Text = obj_FolderBrowserDialog.SelectedPath;
                }
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("",ex,nameof(Exferia_FicheroSeleccion) + "/" + nameof(ex_btn_FicheroSeleccion_Click));
            }
        }

        private void ex_txt_Ruta_Exferia_TextBox_Evento_TextChanged(object sender, EventArgs e)
        {
            //Salta el Evento de TextChange
            Exferia_FicheroSeleccion_Evento_TextChanged?.Invoke(this, e);
        }
    }
}
