using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Modelos_Informes;
using Exferia_KairosPro_Informes._0_Modelos;
using Exferia_KairosPro_Informes.General;
using Exferia_KairosPro_Informes.KairosPro_Informes.Fichajes;
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_Detalle_Fichaje_PorFechas : Form
    {
        #region Variables privadas
        private List<INTERNO_KairosPRO_Detalle_Fichaje_Modelo> g_lst_INTERNO_KairosPRO_Detalle_Fichaje_Modelo = null;
        private DateTime g_dtt_Fecha_Desde;
        private DateTime g_dtt_Fecha_Hasta;
        #endregion

        public PI_Detalle_Fichaje_PorFechas(List<INTERNO_KairosPRO_Detalle_Fichaje_Modelo> _lst_INTERNO_KairosPRO_Detalle_Fichaje_Modelo,
                                            DateTime _dtt_Fecha_Desde,
                                            DateTime _dtt_Fecha_Hasta)
        {
            InitializeComponent();

            g_lst_INTERNO_KairosPRO_Detalle_Fichaje_Modelo = _lst_INTERNO_KairosPRO_Detalle_Fichaje_Modelo;
            g_dtt_Fecha_Desde = _dtt_Fecha_Desde;
            g_dtt_Fecha_Hasta = _dtt_Fecha_Hasta;
        }

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

        private void Imprimir_Informe()
        {
            try
            {

                reportViewer1.LocalReport.ReportEmbeddedResource = "Exferia_KairosPro_Informes.KairosPro_Informes.Detalle_Fichaje_PorFechas.krs_Detalle_Fichaje_PorFechas.rdlc";

                Rellenar_DataSet_Detalle_Fichaje_PorFechas.Rellenar_Detalle_Fichaje_PorFechas(  reportViewer1.LocalReport.DataSources,
                                                                                                g_lst_INTERNO_KairosPRO_Detalle_Fichaje_Modelo,
                                                                                                g_dtt_Fecha_Desde,
                                                                                                g_dtt_Fecha_Hasta);

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

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