using BarcodeLib;
using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Modelos_Informes;
using Exferia_EntityFramework;
using Exferia_General;
using Exferia_Informes._1_Datos;
using Exferia_Informes.General;
using Exferia_Informes.Informes.Mandatos;
using Exferia_Informes.Informes.ZEC.Cartas;
using Exferia_Informes.Informes.ZEC.Vencimiento;
using Microsoft.Reporting.WinForms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Exferia_Informes._3_Vistas
{
    public partial class PI_Vencimientos_ZEC : Form
    {
        #region Variables privadas
        private INF_ConfiguracionVencimientos_Socios_Datos g_obj_INF_ConfiguracionVencimientos_Datos = new INF_ConfiguracionVencimientos_Socios_Datos();

        private INTERNO_Informes_Vencimiento_Modelo g_mdl_INTERNO_Informes_Vencimiento_Modelo = null;
        private INTERNO_Informes_Acreedor_Modelo g_mdl_INTERNO_Informes_Acreedor_Modelo = null;
        private INF_ConfiguracionVencimientos_Socios g_mdl_INF_ConfiguracionVencimientos_Socios;
        #endregion

        #region Constructores
        public PI_Vencimientos_ZEC(INTERNO_Informes_Vencimiento_Modelo _mdl_INTERNO_Informes_Vencimiento_Modelo,INTERNO_Informes_Acreedor_Modelo _mdl_INTERNO_Informes_Acreedor_Modelo)
        {
            InitializeComponent();

            //Variables Recibidas
            g_mdl_INTERNO_Informes_Vencimiento_Modelo = _mdl_INTERNO_Informes_Vencimiento_Modelo;
            g_mdl_INTERNO_Informes_Acreedor_Modelo = _mdl_INTERNO_Informes_Acreedor_Modelo;
        }
        #endregion

        private void PI_Vencimientos_ZEC_Load(object sender, EventArgs e)
        {
            Imprimir_Informe();
        }

        private void Imprimir_Informe()
        {
            try
            {
                //Buscar INF_ConfiguracionVencimientos_Socios
                g_mdl_INF_ConfiguracionVencimientos_Socios = g_obj_INF_ConfiguracionVencimientos_Datos.Obtener_Modelo_Por_IdEjercicio(g_mdl_INTERNO_Informes_Vencimiento_Modelo.Ejercicio_id);

                reportViewer1.LocalReport.ReportEmbeddedResource = "Exferia_Informes.Informes.ZEC.Vencimiento.inf_Vencimientos_ZEC.rdlc";

                Rellenar_DataSet_Vencimientos.Rellenar_Vencimiento(reportViewer1.LocalReport.DataSources, g_mdl_INF_ConfiguracionVencimientos_Socios, g_mdl_INTERNO_Informes_Vencimiento_Modelo, g_mdl_INTERNO_Informes_Acreedor_Modelo);

                this.reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);//para que apareza ya seleccionado la viste de impresion
                this.reportViewer1.RefreshReport();
                
            }
            catch (Control_Errores)
            {
                Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSLISTADO());
            }
            catch (Exception ex)
            {
                Control_Errores.Errores_Log("", ex, nameof(PI_Vencimientos_ZEC) + "/" + nameof(Imprimir_Informe));

                Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSLISTADO());
            }
        }
    }
}
