public void generarRemito(Entrega instaciaEntrega, List <DetalleLogistica> instanciaListaDetalle)
        {
            modelo = Properties.Resources.ModeloRemito;
            //Modelo factura a dibujar
            Image    remitoActual = modelo;
            Graphics g            = Graphics.FromImage(remitoActual);

            //Fuente y alineacion de escritura
            StringFormat formatter = new StringFormat();

            formatter.LineAlignment = StringAlignment.Near;
            formatter.Alignment     = StringAlignment.Near;
            Font       font            = new Font("Microsoft Sans Serif", 13, FontStyle.Bold);
            Font       fontTitulo      = new Font("Microsoft Sans Serif", 18, FontStyle.Bold);
            Font       fontTituloMenor = new Font("Microsoft Sans Serif", 15, FontStyle.Bold);
            SolidBrush brush           = new SolidBrush(Color.Black);

            //Verificamos la cantidad de filas que tiene el dataGridView
            int cantidadFilas = instanciaListaDetalle.Count;//dgv_productos.Rows.Count;
            //Cordenada de la primera fila
            int primerY = 426;
            //Para verificar si se dibujo la primera fila
            int bandera = 0;
            //Luego dibujamos las subsiguientes filas con la nueva cordenada Y
            int y = 42;

            //Cordenadas X de la descripcion
            int[] x = { 34, 110 };

            //Aca dibujamos la fecha
            string dia = instaciaEntrega.FechaEntrega.Day.ToString();
            string mes = instaciaEntrega.FechaEntrega.Month.ToString();
            string ano = instaciaEntrega.FechaEntrega.Year.ToString();

            g.DrawString(dia, font, brush, new Point(630, (primerY - 320)), formatter);
            g.DrawString(mes, font, brush, new Point(705, (primerY - 320)), formatter);
            g.DrawString(ano, font, brush, new Point(760, (primerY - 320)), formatter);

            //Dibujamos los datos del cliente

            g.DrawString(instaciaEntrega.NombreCliente, font, brush, new Point(120, primerY - 195), formatter);
            string direccion = instaciaEntrega.NombreCalle + " " + instaciaEntrega.NumeroCalle + ", " + instaciaEntrega.NombreBarrio + " " + instaciaEntrega.NombreLocalidad;

            g.DrawString(direccion, font, brush, new Point(120, (primerY - 195) + y), formatter);

            //Dibujamos nuestros datos

            g.DrawString("FERRETERIA La Obra", fontTituloMenor, brush, new Point(30, primerY - 415), formatter);
            g.DrawString("De Mario Labarre", fontTituloMenor, brush, new Point(30, primerY - 390), formatter);
            g.DrawString("Confeccionó:", font, brush, new Point(30, primerY - 345), formatter);
            string nombreCompleto = instaciaEntrega.conocerEncargado(instaciaEntrega.CodigoEncargado).Nombre + " " + instaciaEntrega.conocerEncargado(instaciaEntrega.CodigoEncargado).Apellido;

            g.DrawString(nombreCompleto, font, brush, new Point(30, primerY - 325), formatter);
            g.DrawString("Legajo:", font, brush, new Point(30, primerY - 305), formatter);
            g.DrawString(instaciaEntrega.conocerEncargado(instaciaEntrega.CodigoEncargado).Legajo.ToString(), font, brush, new Point(100, primerY - 305), formatter);

            //Aca van los items
            Articulo _articulo = new Articulo();

            if (cantidadFilas <= 11)
            {
                for (int i = 0; i < cantidadFilas; i++)
                {
                    if (bandera == 0)
                    {
                        g.DrawString(instanciaListaDetalle[i].CodigoArticulo.ToString(), font, brush, new Point(x[0], primerY), formatter);
                        g.DrawString(_articulo.mostrarNombre(instanciaListaDetalle[i].CodigoArticulo), font, brush, new Point(x[1], primerY), formatter);
                        bandera = 1;
                    }
                    else
                    {
                        g.DrawString(instanciaListaDetalle[i].CodigoArticulo.ToString(), font, brush, new Point(x[0], (primerY + y)), formatter);
                        g.DrawString(_articulo.mostrarNombre(instanciaListaDetalle[i].CodigoArticulo), font, brush, new Point(x[1], (primerY + y)), formatter);
                        y += 42 - 2;
                    }
                }
                lbl_titulo.Text      = titulo;
                pb_vistaPrevia.Image = remitoActual;
            }
            else
            {
                MessageBox.Show("Supero la cantidad de productos por factura");
            }
        }
        public void generarPedidoPorProveedor(Compra instanciaCompra, List <DetalleCompra> instanciaListaDetalleCompra, Proveedor instanciaProveedor)
        {
            modelo = Properties.Resources.ModeloPedido;
            //Modelo factura a dibujar
            Image    pedidoActual = modelo;
            Graphics g            = Graphics.FromImage(pedidoActual);

            //Fuente y alineacion de escritura
            StringFormat formatter = new StringFormat();

            formatter.LineAlignment = StringAlignment.Near;
            formatter.Alignment     = StringAlignment.Near;
            Font       font            = new Font("Microsoft Sans Serif", 13, FontStyle.Bold);
            Font       fontTitulo      = new Font("Microsoft Sans Serif", 18, FontStyle.Bold);
            Font       fontTituloMenor = new Font("Microsoft Sans Serif", 15, FontStyle.Bold);
            SolidBrush brush           = new SolidBrush(Color.Black);

            //Verificamos la cantidad de filas que tiene el dataGridView
            int cantidadFilas = instanciaListaDetalleCompra.Count;//dgv_productos.Rows.Count;
            //Cordenada de la primera fila
            int primerY = 240;
            //Para verificar si se dibujo la primera fila
            int bandera = 0;
            //Luego dibujamos las subsiguientes filas con la nueva cordenada Y
            int y = 25;

            //Cordenadas X de la descripcion
            int[] x = { 15, 53, 300, 425 };

            //Aca dibujamos la fecha
            string dia = instanciaCompra.FechaHora.Day.ToString();
            string mes = instanciaCompra.FechaHora.Month.ToString();
            string ano = instanciaCompra.FechaHora.Year.ToString();

            g.DrawString(dia, font, brush, new Point(300, (primerY - 104)), formatter);
            g.DrawString(mes, font, brush, new Point(370, (primerY - 104)), formatter);
            g.DrawString(ano, font, brush, new Point(450, (primerY - 104)), formatter);

            //dibujamos el numero de orden
            g.DrawString(instanciaCompra.CodigoCompra.ToString("N° 0000"), fontTitulo, brush, new Point(340, primerY - 150), formatter);

            //Dibujamos nuestros datos
            g.DrawString("FERRETERIA La Obra", fontTituloMenor, brush, new Point(20, primerY - 215), formatter);
            g.DrawString("De Mario Labarre", fontTituloMenor, brush, new Point(20, primerY - 190), formatter);
            g.DrawString("Confeccionó:", font, brush, new Point(20, primerY - 145), formatter);
            string nombreCompleto = instanciaCompra.conocerEncargado(instanciaCompra.CodigoEncargadoCompra).Nombre + " " + instanciaCompra.conocerEncargado(instanciaCompra.CodigoEncargadoCompra).Apellido;

            g.DrawString(nombreCompleto, font, brush, new Point(20, primerY - 125), formatter);
            g.DrawString("Legajo:", font, brush, new Point(20, primerY - 105), formatter);
            g.DrawString(instanciaCompra.conocerEncargado(instanciaCompra.CodigoEncargadoCompra).Legajo.ToString(), font, brush, new Point(90, primerY - 105), formatter);


            //dibujamos los datos del proveedor
            g.DrawString(instanciaProveedor.RazonSocial, font, brush, new Point(100, primerY - 75), formatter);
            g.DrawString(instanciaProveedor.Calle + "" + instanciaProveedor.NumeroCasa + " " + instanciaProveedor.Localidad.Departamento.Provincia + " " + instanciaProveedor.Localidad.Departamento, font, brush, new Point(100, primerY - 50), formatter);

            //Aca van los items
            Articulo _articulo = new Articulo();

            if (cantidadFilas <= 15)
            {
                for (int i = 0; i < cantidadFilas; i++)
                {
                    if (bandera == 0)
                    {
                        g.DrawString(instanciaListaDetalleCompra[i].Cantidad.ToString(), font, brush, new Point(x[0], primerY), formatter);
                        g.DrawString(_articulo.mostrarNombre(instanciaListaDetalleCompra[i].CodigoArticulo), font, brush, new Point(x[1], primerY), formatter);
                        g.DrawString(instanciaListaDetalleCompra[i].PrecioCoste.ToString("$ 0.00"), font, brush, new Point(x[2], primerY), formatter);
                        g.DrawString((instanciaListaDetalleCompra[i].PrecioCoste * instanciaListaDetalleCompra[i].Cantidad).ToString("$ 0.00"), font, brush, new Point(x[3], primerY), formatter);
                        bandera = 1;
                    }
                    else
                    {
                        g.DrawString(instanciaListaDetalleCompra[i].Cantidad.ToString(), font, brush, new Point(x[0], (primerY + y)), formatter);
                        g.DrawString(_articulo.mostrarNombre(instanciaListaDetalleCompra[i].CodigoArticulo), font, brush, new Point(x[1], (primerY + y)), formatter);
                        g.DrawString(instanciaListaDetalleCompra[i].PrecioCoste.ToString("$ 0.00"), font, brush, new Point(x[2], primerY + y), formatter);
                        g.DrawString((instanciaListaDetalleCompra[i].PrecioCoste * instanciaListaDetalleCompra[i].Cantidad).ToString("$ 0.00"), font, brush, new Point(x[3], primerY + y), formatter);
                        y += 27 - 2;
                    }
                }
                float total = 0f;
                foreach (var item in instanciaListaDetalleCompra)
                {
                    total += item.PrecioCoste * item.Cantidad;
                }
                g.DrawString(total.ToString("$ 0.00"), font, brush, new Point(x[3], primerY + 370), formatter);
                lbl_titulo.Text      = titulo;
                pb_vistaPrevia.Image = pedidoActual;
            }
            else
            {
                MessageBox.Show("Supero la cantidad de productos por factura");
            }
        }