private void llamarSegundaPantalla(List<Detalle> detalles) { txbFactura.Document.Blocks.Clear(); DataClasses1DataContext dc = new DataClasses1DataContext(); int factura = dc.SIGEEA_FacAsociados.First(c => c.PK_Id_FacAsociado == (dc.SIGEEA_DetFacAsociados.First(d => d.PK_Id_DetFacAsociado == detalles.First().getLlave()).FK_Id_FacAsociado)).PK_Id_FacAsociado; SIGEEA_spGenerarFacturaEntregaResult encabezado = dc.SIGEEA_spGenerarFacturaEntrega(factura).First(); List<SIGEEA_spObtenerDetallesFacturaCompletaAsocResult> listaDetalles = dc.SIGEEA_spObtenerDetallesFacturaCompletaAsoc(factura).ToList(); Run run; Paragraph parrafoEncabezado = new Paragraph(); parrafoEncabezado.TextAlignment = TextAlignment.Center; parrafoEncabezado.FontFamily = new FontFamily("Agency FB"); parrafoEncabezado.FontSize = 18; parrafoEncabezado.Inlines.Add(new Run(encabezado.Nombre_Empresa)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.CedJuridica)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.Direccion_Empresa)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.Telefono)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.Correo)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.Fecha)); parrafoEncabezado.Inlines.Add(new Run(" " + encabezado.Hora)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.NumFactura)); txbFactura.Document.Blocks.Add(parrafoEncabezado);//FINAL Paragraph parrafoAsociado = new Paragraph(); parrafoAsociado.TextAlignment = TextAlignment.Left; parrafoAsociado.FontFamily = new FontFamily("Agency FB"); parrafoAsociado.FontSize = 16; parrafoAsociado.Inlines.Add(new Run(encabezado.NombreAsociado)); parrafoAsociado.Inlines.Add(new Run(Environment.NewLine)); parrafoAsociado.Inlines.Add(new Run(encabezado.CedPersona)); parrafoAsociado.Inlines.Add(new Run(Environment.NewLine)); parrafoAsociado.Inlines.Add(new Run(encabezado.CodigoAsociado)); txbFactura.Document.Blocks.Add(parrafoAsociado); /*Paragraph parrafoFactura = new Paragraph(); parrafoFactura.TextAlignment = TextAlignment.Left; parrafoFactura.FontFamily = new FontFamily("Agency FB"); parrafoFactura.FontSize = 16; parrafoFactura.Inlines.Add(new Run("______________________________________________________________________________________________")); parrafoFactura.Inlines.Add(new Run(Environment.NewLine)); parrafoFactura.Inlines.Add(new Run("Cantidad total entregada: " + infoFactura.CantidadTotal)); parrafoFactura.Inlines.Add(new Run(Environment.NewLine)); parrafoFactura.Inlines.Add(new Run("Cantidad neta: " + infoFactura.CantidadNeta)); parrafoFactura.Inlines.Add(new Run(Environment.NewLine)); parrafoFactura.Inlines.Add(new Run("Merma: " + infoFactura.MERMA)); parrafoFactura.Inlines.Add(new Run(Environment.NewLine)); parrafoFactura.Inlines.Add(new Run("______________________________________________________________________________________________")); parrafoFactura.Inlines.Add(new Run(Environment.NewLine)); txbFactura.Document.Blocks.Add(parrafoFactura);*/ Paragraph parrafoProductos = new Paragraph(); parrafoProductos.TextAlignment = TextAlignment.Left; parrafoProductos.FontFamily = new FontFamily("Agency FB"); parrafoProductos.FontSize = 16; run = new Run(); run.FontWeight = FontWeights.Bold; run.FontSize = 16; run.Text = "Producto Cantidad total Cantidad neta A pagar Merma Precio"; parrafoProductos.Inlines.Add(run); parrafoProductos.Inlines.Add(new Run(Environment.NewLine)); parrafoProductos.Inlines.Add(new Run(Environment.NewLine)); double total = 0; foreach (Detalle i in detalles) { foreach (SIGEEA_spObtenerDetallesFacturaCompletaAsocResult d in listaDetalles) { if (d.PK_Id_DetFacAsociado == i.getLlave()) { parrafoProductos.Inlines.Add(new Run(d.Nombre_TipProducto + " ")); parrafoProductos.Inlines.Add(new Run(d.CantidadTotalString + " ")); parrafoProductos.Inlines.Add(new Run(d.CantidadNetaString + " ")); parrafoProductos.Inlines.Add(new Run((((double)d.CanNeta_DetFacAsociado * i.getMonto()) / ((double)d.CanNeta_DetFacAsociado * Convert.ToDouble(d.Precio.Substring(1)))).ToString("0.00") + " ")); parrafoProductos.Inlines.Add(new Run(d.MERMA + " ")); parrafoProductos.Inlines.Add(new Run(d.Precio.ToString())); moneda = d.Precio[0].ToString(); double totalDetalle = Convert.ToDouble(d.Precio.ToString().Remove(0, 1)) * (double)d.CanNeta_DetFacAsociado; total += i.getMonto() == totalDetalle ? totalDetalle : i.getMonto(); parrafoProductos.Inlines.Add(new Run(Environment.NewLine)); } } } parrafoProductos.Inlines.Add(new Run(Environment.NewLine)); run = new Run(); run.FontWeight = FontWeights.Bold; run.FontSize = 20; run.Text = "Total " + moneda + total.ToString() + " "; parrafoProductos.Inlines.Add(run); parrafoProductos.Inlines.Add(new Run(Environment.NewLine)); parrafoProductos.Inlines.Add(new Run(Environment.NewLine)); parrafoProductos.Inlines.Add(new Run("Este recibo es un comprobante legal en el que se respalda que el asociado realizó la entrega de producto. Recomendamos conservarlo.")); txbFactura.Document.Blocks.Add(parrafoProductos); }
private void GeneraFactura(int factura) { DataClasses1DataContext dc = new DataClasses1DataContext(); SIGEEA_spGenerarFacturaEntregaResult encabezado = dc.SIGEEA_spGenerarFacturaEntrega(factura).First(); List<SIGEEA_spObtenerDetallesEntregaResult> detalles = dc.SIGEEA_spObtenerDetallesEntrega(factura).ToList(); Paragraph parrafoEncabezado = new Paragraph(); parrafoEncabezado.TextAlignment = TextAlignment.Center; parrafoEncabezado.FontFamily = new FontFamily("Agency FB"); parrafoEncabezado.FontSize = 18; parrafoEncabezado.Inlines.Add(new Run(encabezado.Nombre_Empresa)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.CedJuridica)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.Direccion_Empresa)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.Telefono)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.Correo)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.Fecha)); parrafoEncabezado.Inlines.Add(new Run(" " + encabezado.Hora)); parrafoEncabezado.Inlines.Add(new Run(Environment.NewLine)); parrafoEncabezado.Inlines.Add(new Run(encabezado.NumFactura)); txbFactura.Document.Blocks.Add(parrafoEncabezado);//FINAL Paragraph parrafoAsociado = new Paragraph(); parrafoAsociado.TextAlignment = TextAlignment.Left; parrafoAsociado.FontFamily = new FontFamily("Agency FB"); parrafoAsociado.FontSize = 16; parrafoAsociado.Inlines.Add(new Run(encabezado.NombreAsociado)); parrafoAsociado.Inlines.Add(new Run(Environment.NewLine)); parrafoAsociado.Inlines.Add(new Run(encabezado.CedPersona)); parrafoAsociado.Inlines.Add(new Run(Environment.NewLine)); parrafoAsociado.Inlines.Add(new Run(encabezado.CodigoAsociado)); txbFactura.Document.Blocks.Add(parrafoAsociado); Paragraph parrafoProductos = new Paragraph(); parrafoProductos.TextAlignment = TextAlignment.Left; parrafoProductos.FontFamily = new FontFamily("Agency FB"); parrafoProductos.FontSize = 16; parrafoProductos.Inlines.Add(new Run("Producto Cantidad Precio")); parrafoProductos.Inlines.Add(new Run(Environment.NewLine)); foreach (SIGEEA_spObtenerDetallesEntregaResult d in detalles) { parrafoProductos.Inlines.Add(new Run(d.Nombre_TipProducto + " ")); parrafoProductos.Inlines.Add(new Run(d.CanTotal_DetFacAsociado + " ")); parrafoProductos.Inlines.Add(new Run(d.Precio)); parrafoProductos.Inlines.Add(new Run(Environment.NewLine)); } parrafoProductos.Inlines.Add(new Run(Environment.NewLine)); parrafoProductos.Inlines.Add(new Run("Este recibo es un comprobante legal en el que se respalda que el asociado realizó la entrega de producto. Recomendamos conservarlo.")); txbFactura.Document.Blocks.Add(parrafoProductos); }