using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Modelos_Informes;
using Exferia_Informes.Informes.Mandatos;
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_Informes._3_Vistas.PorClientes
{
    public partial class PI_Informe_Pedido : Form
    {
        #region Variables
        private INTERNO_Informes_Ventas_Pedido g_mdl_INTERNO_Informes_Ventas_Pedido = null;
        private long g_lng_CodigoCliente = -1;
        #endregion


        #region Constructor
        public PI_Informe_Pedido(INTERNO_Informes_Ventas_Pedido _mdl_INTERNO_Informes_Ventas_Pedido, long _lng_CodigoCliente)
        {
            InitializeComponent();

            g_mdl_INTERNO_Informes_Ventas_Pedido = _mdl_INTERNO_Informes_Ventas_Pedido;
            g_lng_CodigoCliente = _lng_CodigoCliente;
        }
        #endregion


        private void PI_Informe_Pedido_Load(object sender, EventArgs e)
        {

            Imprimir_Informe();
        }

        private void Imprimir_Informe()
        {
            try
            {

                //Marcos Mobiliario
                if (g_lng_CodigoCliente == 102)
                {
                    //asignar el report al control
                    reportViewer1.LocalReport.ReportEmbeddedResource = "Exferia_Informes.Informes.PorClientes.MarcosMobiliario.inf_MarcosMobiliario_Pedido.rdlc";

                    //Se llama a la funcion que rellena el imforme
                    Rellenar_DataSet_MarcosMobiliario.Rellenar_Pedido(reportViewer1.LocalReport.DataSources, g_mdl_INTERNO_Informes_Ventas_Pedido);
                }
                //Vergaz Rodriguez
                else if (g_lng_CodigoCliente == 103)
                {
                    //asignar el report al control
                    reportViewer1.LocalReport.ReportEmbeddedResource = "Exferia_Informes.Informes.PorClientes.VergazRodriguez.inf_VergazRodriguez_Pedido.rdlc";

                    //Se llama a la funcion que rellena el imforme
                    Rellenar_DataSet_VergazRodriguez.Rellenar_Pedido(reportViewer1.LocalReport.DataSources, g_mdl_INTERNO_Informes_Ventas_Pedido);
                }
                //Por defecto
                else
                {
                    //asignar el report al control
                    reportViewer1.LocalReport.ReportEmbeddedResource = "Exferia_Informes.Informes.PorClientes.PorDefecto.inf_PorDefecto_Pedido.rdlc";

                    //Se llama a la funcion que rellena el imforme
                    Rellenar_DataSet_PorDefecto.Rellenar_Pedido(reportViewer1.LocalReport.DataSources, g_mdl_INTERNO_Informes_Ventas_Pedido);
                }

                this.reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);//Para que aparezca ya seleccionado la vista de impresión
                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_Informe_Pedido) + "/" + nameof(Imprimir_Informe));

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