using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Modelos_Informes;
using Exferia_KairosPro_Informes.KairosPro_Informes.Detalle_Fichaje_Fechas_Disposivitos;
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_Fechas_Dispositivos : Form
    {
        #region Variables privadas
        private List<INTERNO_KairosPRO_Fichaje_PorFechas_TotalDispositivos_Modelo> g_lst_INTERNO_KairosPRO_Fichaje_PorFechas_TotalDispositivos_Modelo = null;
        private DateTime g_dtt_FechaDesde;
        private DateTime g_dtt_FechaHasta;
        private long g_lng_CodigoCliente = -1;
        private string g_str_Empresa_NombreComercial = "";
        #endregion

        public PI_Fichaje_Fechas_Dispositivos(List<INTERNO_KairosPRO_Fichaje_PorFechas_TotalDispositivos_Modelo> _lst_INTERNO_KairosPRO_Fichaje_PorFechas_TotalDispositivos_Modelo,
                                              DateTime _dtt_FechaDesde,
                                              DateTime _dtt_FechaHasta,
                                              long _lng_CodigoCliente,
                                              string _str_Empresa_NombreComercial)
        {
            InitializeComponent();

            //Variables Recibidas
            g_lst_INTERNO_KairosPRO_Fichaje_PorFechas_TotalDispositivos_Modelo = _lst_INTERNO_KairosPRO_Fichaje_PorFechas_TotalDispositivos_Modelo;
            g_dtt_FechaDesde = _dtt_FechaDesde;
            g_dtt_FechaHasta = _dtt_FechaHasta;
            g_lng_CodigoCliente = _lng_CodigoCliente;
            g_str_Empresa_NombreComercial = _str_Empresa_NombreComercial;
        }

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

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

                Rellenar_DataSet_Fichaje_Fechas_Dispositivos.Rellenar_Detalle_Fichaje_PorFechas_TotalDispositivos(reportViewer1.LocalReport.DataSources, 
                                                                                                                  g_lst_INTERNO_KairosPRO_Fichaje_PorFechas_TotalDispositivos_Modelo,
                                                                                                                  g_dtt_FechaDesde,
                                                                                                                  g_dtt_FechaHasta,
                                                                                                                  g_lng_CodigoCliente,
                                                                                                                  g_str_Empresa_NombreComercial);

                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_Fechas_Dispositivos) + "/" + nameof(Imprimir_Informe));

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