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"); } }