using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Visualizacion;
using Exferia_Controles;
using Exferia_CRM._3_Vistas.Controladoras;
using Exferia_EntityFramework;
using Exferia_Formularios;
using System;
using System.Windows.Forms.DataVisualization.Charting;

namespace Exferia_CRM._3_Vistas
{
    public partial class P_Informes_AltasConversiones : P_Base_Mantenimientos
    {

        #region Variables General

        public P_Informes_AltasConversiones_Controladora g_obj_Controladora;

        #endregion Variables General

        #region Objetos en Pantalla
        //Exferia_FechaSeleccion
        internal Exferia_FechaSeleccion Exferia_FechaSeleccion_Desde { get { return ex_usc_P_Informes_AltasConversiones_FechaDesde; } }
        internal Exferia_FechaSeleccion Exferia_FechaSeleccion_Hasta{ get { return ex_usc_P_Informes_AltasConversiones_Fechahasta; } }

        //Exferia_Label
        internal Exferia_Label Exferia_Label_Tasa{ get { return ex_lbl_P_Informes_AltasConversiones_Tasa_Num; } }

        //Chart
        internal Chart Chart_Informe { get { return chart_P_Informes_AltasConversiones_Informe; } }
        
        #endregion Objetos en Pantalla

        #region Constructor
        public P_Informes_AltasConversiones(INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo, DateTime _dtt_FechaTrabajo, PRV_OpcionesDetalle _mdl_PRV_OpcionesDetalle)
        {
            InitializeComponent();

            try
            {
                Repintar.Empezar(this);

                CheckForIllegalCrossThreadCalls = false;

                //Empresa seleccionada y fecha de trabajo ....................................................
                P_Base_ValoresGenerales = _mdl_INTERNO_ValoresGenerales_Modelo;
                P_Base_FechaTrabajo = _dtt_FechaTrabajo;

                //Titulo de la Pantalla .............................................................................
                P_Base_TituloPantalla = _mdl_PRV_OpcionesDetalle.descripcion_TituloMantenimiento;

                // Label con Empresa Seleccionada 
                if (P_Base_ValoresGenerales != null)
                {
                    try
                    {
                        P_Base_Mantenimientos_InformacionEmpresaSeleccionada = P_Base_ValoresGenerales.str_Empresa_Descripcion + " - " +
                                                                "(" + P_Base_FechaTrabajo.ToString("dd/MM/yyyy") + ")";
                    }
                    catch (Exception ex)
                    {
                        //No se muestra mensaje pero se guarda en el log
                        Control_Errores.Errores_Log(ex.Message, ex, nameof(P_Informes_AltasConversiones) + "/" + nameof(P_Informes_AltasConversiones));
                    }
                }

                //Bloquear pantalla hasta que termine la carga por defecto .....
                Enabled = false;
                //.............................................................

                g_obj_Controladora = new P_Informes_AltasConversiones_Controladora(this);
                ex_usc_P_Informes_AltasConversiones_FechaDesde.Exferia_FechaSeleccion_Fecha = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).ToString("dd/MM/yyyy");
                ex_usc_P_Informes_AltasConversiones_Fechahasta.Exferia_FechaSeleccion_Fecha = DateTime.Now.ToString("dd/MM/yyyy");
            }
            catch (Control_Errores)
            { }
            catch (Exception ex)
            {
                //No se muestra mensaje pero se guarda en el log
                Control_Errores.Errores_Log(ex.Message, ex, nameof(P_Informes_AltasConversiones) + "/" + nameof(P_Informes_AltasConversiones));
            }
            finally
            {
                //Bloquear pantalla hasta que termine la carga por defecto .....
                Enabled = true;
                //.............................................................
            }
        }
        #endregion

        #region Botones

        private void ex_btn_P_Informes_AltasConversiones_Ver_Click(object sender, EventArgs e)
        {
            g_obj_Controladora.BuscarInformeEntreFechas();
        }
        #endregion Botones
    }
}
