using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Modelos_Informes;
using Exferia_KairosPro_Informes._0_Modelos;
using Exferia_KairosPro_Informes.KairosPro_Informes.Fichaje_Fechas_Dispositivos;
using Microsoft.Reporting.WinForms;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exferia_KairosPro_Informes.KairosPro_Informes.Detalle_Fichaje_Fechas_Disposivitos
{
    public class Rellenar_DataSet_Fichaje_Fechas_Dispositivos
    {
        public static void Rellenar_Detalle_Fichaje_PorFechas_TotalDispositivos(ReportDataSourceCollection _obj_ReportDataSourceCollection,
                                                                                List<INTERNO_KairosPRO_Fichaje_PorFechas_TotalDispositivos_Modelo> _lst_INTERNO_KairosPRO_Detalle_Fichaje_TotalDispositivos,
                                                                                DateTime _dtt_Fecha_Desde,
                                                                                DateTime _dtt_Fecha_Hasta,
                                                                                long _lng_CodigoCliente,
                                                                                string _str_Empresa_NombreComercial)
        {
            try
            {
                DataSet dts_Fichajes_TotalDispositivos = new DS_Fichaje_Fechas_Dispositivos();

                //Cabecera
                dts_Fichajes_TotalDispositivos.Tables["Fichaje_Fechas_Dispositivos_Cabecera"].Rows.Add(_dtt_Fecha_Desde, _dtt_Fecha_Hasta, _lng_CodigoCliente, _str_Empresa_NombreComercial);

                _obj_ReportDataSourceCollection.Add(new ReportDataSource("ds_Fichaje_Fechas_Dispositivos_Cabecera", dts_Fichajes_TotalDispositivos.Tables["Fichaje_Fechas_Dispositivos_Cabecera"]));

                //Lineas
                if(_lst_INTERNO_KairosPRO_Detalle_Fichaje_TotalDispositivos != null && _lst_INTERNO_KairosPRO_Detalle_Fichaje_TotalDispositivos.Count > 0)
                {
                    foreach (INTERNO_KairosPRO_Fichaje_PorFechas_TotalDispositivos_Modelo mdl_KairosPro_Fichaje_TotalDispositivos in _lst_INTERNO_KairosPRO_Detalle_Fichaje_TotalDispositivos)
                    {
                        dts_Fichajes_TotalDispositivos.Tables["Fichaje_Fechas_Dispositivos"].Rows.Add(mdl_KairosPro_Fichaje_TotalDispositivos.terminal_Empleado_Descripcion,
                                                                                                      mdl_KairosPro_Fichaje_TotalDispositivos.fabricante,
                                                                                                      mdl_KairosPro_Fichaje_TotalDispositivos.marca,
                                                                                                      mdl_KairosPro_Fichaje_TotalDispositivos.modelo,
                                                                                                      mdl_KairosPro_Fichaje_TotalDispositivos.mac,
                                                                                                      mdl_KairosPro_Fichaje_TotalDispositivos.total);
                    }
                }

                _obj_ReportDataSourceCollection.Add(new ReportDataSource("ds_Fichaje_Fechas_Dispositivos", dts_Fichajes_TotalDispositivos.Tables["Fichaje_Fechas_Dispositivos"]));
            }
            catch (Exception ex)
            {
                throw new Control_Errores("", ex, nameof(Rellenar_DataSet_Fichaje_Fechas_Dispositivos) + "/" + nameof(Rellenar_Detalle_Fichaje_PorFechas_TotalDispositivos),true);
            }
        }
    }
}
