protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { PlantillaFormat plantilla = new PlantillaFormat(); plantilla.Plantilla = 1; plantilla.obtieneDatos(); txtEncabezado.Text = plantilla.Encabezado; txtNotas.Text = plantilla.Notas; } }
public string GenerarTicket() { iTextSharp.text.Font fuenteT = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 8, iTextSharp.text.Font.BOLD, BaseColor.BLACK); iTextSharp.text.Font fuenteB = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 6, iTextSharp.text.Font.BOLD, BaseColor.BLACK); iTextSharp.text.Font fuente = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 6, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); iTextSharp.text.Font fuenteS = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 5, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); // Crear documento Document documento = new Document(iTextSharp.text.PageSize.B6); documento.AddTitle("Ticket de Compra Pago Servicios"); documento.AddCreator("E-PuntoVenta"); string ruta = HttpContext.Current.Server.MapPath("~/Tickets"); string archivo = ruta + "\\PagoServicio_" + _pv.ToString() + "_" + _ticket.ToString() + ".pdf"; //si no existe la carpeta temporal la creamos if (!(Directory.Exists(ruta))) { Directory.CreateDirectory(ruta); } if (archivo.Trim() != "") { FileStream file = new FileStream(archivo, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite); PdfWriter.GetInstance(documento, file); // Abrir documento. documento.Open(); //Insertar logo o imagen string rutaLogo = HttpContext.Current.Server.MapPath("~/img/logo.png"); iTextSharp.text.Image logo = iTextSharp.text.Image.GetInstance(rutaLogo); logo.ScaleToFit(100, 50); logo.Alignment = iTextSharp.text.Image.ALIGN_CENTER; documento.Add(logo); documento.Add(new Paragraph(" ")); PlantillaFormat plantilla = new PlantillaFormat(); plantilla.Plantilla = 1; plantilla.obtieneDatos(); _encabezado = plantilla.Encabezado; _notas = plantilla.Notas; RegPagosServ pagosServ = new RegPagosServ(); pagosServ.punto = _pv; pagosServ.caja = _caja; pagosServ.operacion = _ticket; pagosServ.añop = fechas.obtieneFechaLocal().Year; pagosServ.obtieneInformacion(); decimal comision = 0; decimal monto = 0; object[] datosTicket = pagosServ.retorno; if (Convert.ToBoolean(datosTicket[0])) { DataSet valores = (DataSet)datosTicket[1]; DateTime fecha; iTextSharp.text.Font _standardFont = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 13, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); foreach (DataRow fila in valores.Tables[0].Rows) { try { fecha = Convert.ToDateTime(fila[15].ToString()); _fecha = fecha.ToString("yyyy-MM-dd"); _hora = fecha.ToString("HH:mm:ss"); } catch (Exception) { fecha = fechas.obtieneFechaLocal(); _fecha = fecha.ToString("yyyy-MM-dd"); _hora = fecha.ToString("HH:mm:ss"); } _usuario = fila[18].ToString(); _tot = Convert.ToDecimal(fila[16].ToString()); monto = Convert.ToDecimal(fila[28].ToString()); comision = Convert.ToDecimal(fila[29].ToString()); Encabezado(documento); Paragraph aten = new Paragraph("Atendio: " + _usuario.ToString(), fuente); aten.Alignment = Element.ALIGN_CENTER; documento.Add(aten); documento.Add(new Paragraph(" ")); Paragraph serv = new Paragraph(Convert.ToString(fila[26]) + " " + fila[27].ToString(), fuenteB); serv.Alignment = Element.ALIGN_CENTER; documento.Add(serv); documento.Add(new Paragraph(" ")); string dato = ""; if (fila[19].ToString().Trim() == "1111111111") { dato = "Referencia: " + fila[20].ToString().Trim(); } else if (fila[20].ToString().Trim() == "") { dato = "Teléfono: " + fila[19].ToString().Trim(); } else { dato = "Teléfono: " + fila[19].ToString() + " Ref: " + fila[20].ToString().Trim(); } Paragraph tel = new Paragraph(dato, fuenteT); tel.Alignment = Element.ALIGN_CENTER; documento.Add(tel); documento.Add(new Paragraph(" ")); Paragraph aut = new Paragraph("Autorización: " + fila[10].ToString().Trim(), fuenteT); aut.Alignment = Element.ALIGN_CENTER; documento.Add(aut); documento.Add(new Paragraph(" ")); } documento.AddCreationDate(); documento.Add(new Paragraph(" ")); /* * Paragraph lin = new Paragraph("--------------------------------------------------------", fuente); * lin.Alignment = Element.ALIGN_CENTER; */ if (comision != 0) { Paragraph com = new Paragraph("Comision: " + comision.ToString("C2"), fuenteT); com.Alignment = Element.ALIGN_CENTER; documento.Add(com); } Paragraph ltotal = new Paragraph("Total: " + _tot.ToString("C2"), fuenteT); ltotal.Alignment = Element.ALIGN_CENTER; documento.Add(ltotal); Pagos pagosTicket = new Pagos(); pagosTicket.ticket = _ticket; pagosTicket.caja = _caja; pagosTicket.punto = _pv; pagosTicket.obtienePagos(); object[] datosTpagos = pagosTicket.retorno; if (Convert.ToBoolean(datosTpagos[0])) { DataSet infoPago = (DataSet)datosTpagos[1]; foreach (DataRow fila1 in infoPago.Tables[0].Rows) { Paragraph pagf = new Paragraph("Forma Pago: " + fila1[1].ToString(), fuente); pagf.Alignment = Element.ALIGN_CENTER; documento.Add(pagf); if (fila1[0].ToString() != "E" && fila1[0].ToString() != "") { Paragraph refef = new Paragraph("T.: " + fila1[5] + " Referencia Pago: " + fila1[7].ToString(), fuente); refef.Alignment = Element.ALIGN_CENTER; documento.Add(refef); } Paragraph lpago = new Paragraph("Pago: " + Convert.ToDecimal(fila1[2]).ToString("C2"), fuenteB); lpago.Alignment = Element.ALIGN_CENTER; documento.Add(lpago); Paragraph lcambio = new Paragraph("Cambio: " + Convert.ToDecimal(fila1[3]).ToString("C2"), fuente); lcambio.Alignment = Element.ALIGN_CENTER; documento.Add(lcambio); } } documento.Add(new Paragraph(" ")); //importe con letra ConvertirNumerosLetras conversion = new ConvertirNumerosLetras(); conversion.IMporte = _tot.ToString(); string textoLetras = conversion.enletras(); Paragraph importeLetra = new Paragraph(textoLetras, fuente); importeLetra.Alignment = Element.ALIGN_CENTER; documento.Add(importeLetra); documento.Add(new Paragraph(" ")); documento.Add(new Paragraph(" ")); Paragraph not = new Paragraph(_notas, fuenteS); not.Alignment = Element.ALIGN_CENTER; documento.Add(not); } documento.Close(); } return(archivo); }