using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Modelos_Informes;
using Exferia_KairosPRO_EF;
using Exferia_KairosPro_Informes._0_Modelos;
using Exferia_KairosPro_Informes.KairosPro_Informes.Jornada_Aviso;
using Microsoft.Reporting.WinForms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Exferia_KairosPro_Informes._3_Vistas
{
    public partial class PI_Fichaje_Incidencias : Form
    {
        #region Variables privadas
        private INTERNO_KairosPRO_FichajeIncidencias_Modelo g_mdl_INTERNO_KairosPRO_FichajeIncidencias_Modelo=null;
        private List<INTERNO_KairosPRO_FichajeIncidencias_Jornada_Modelo> g_lst_INTERNO_KairosPRO_FichajeIncidencias_Jornada_Modelo = null;
        #endregion

        public PI_Fichaje_Incidencias(INTERNO_KairosPRO_FichajeIncidencias_Modelo _mdl_INTERNO_KairosPRO_FichajeIncidencias_Modelo,List<INTERNO_KairosPRO_FichajeIncidencias_Jornada_Modelo> _lst_INTERNO_KairosPRO_FichajeIncidencias_Jornada_Modelo)
        {
            InitializeComponent();

            //Variables Recibidas
            g_mdl_INTERNO_KairosPRO_FichajeIncidencias_Modelo = _mdl_INTERNO_KairosPRO_FichajeIncidencias_Modelo;
            g_lst_INTERNO_KairosPRO_FichajeIncidencias_Jornada_Modelo = _lst_INTERNO_KairosPRO_FichajeIncidencias_Jornada_Modelo;
        }

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

        private void Imprimir_Informe()
        {
            try
            {
                reportViewer1.LocalReport.ReportEmbeddedResource = "Exferia_KairosPro_Informes.KairosPro_Informes.Fichaje_Incidencias.krs_Fichaje_Incidencias.rdlc";

                Rellenar_DataSet_Fichaje_Incidencias.Rellenar_Fichaje_Incidencias(reportViewer1.LocalReport.DataSources, g_mdl_INTERNO_KairosPRO_FichajeIncidencias_Modelo, g_lst_INTERNO_KairosPRO_FichajeIncidencias_Jornada_Modelo);

                this.reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);//Para que aparezca ya seleccioinada la vista 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_Fichaje_Incidencias) + "/" + nameof(Imprimir_Informe));

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