Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
    public void obtienePagoServicios()
    {
        RegPagosServ registroPagos = new RegPagosServ();

        switch (_peticion)
        {
        case 1:
            // getListaProducto
            obtieneParametros();
            if (servidor == "" || distribuidor == "" || dispositivo == "" || password == "")
            {
                _retorno[0] = false; _retorno[1] = _retorno[1]; _codigo = "0";
            }
            else
            {
                obtieneListaProductos();
                conexion();
                if (valorXML != null || valorXML != "")
                {
                    lecturaXmlsProductos(valorXML);
                }
            }

            break;

        case 2:
            // abonar
            obtieneParametros();
            if (servidor == "" || distribuidor == "" || dispositivo == "" || password == "")
            {
                _retorno[0] = false; _retorno[1] = _retorno[1]; _codigo = "0";
            }
            else
            {
                gerneraAbono();
                registroPagos.añop          = fechas.obtieneFechaLocal().Year;
                registroPagos.punto         = _punto;
                registroPagos.caja          = _caja;
                registroPagos.usuario       = _usuario;
                registroPagos.telefono      = telefono;
                registroPagos.referencia_in = referencia_in;
                registroPagos.catServicio   = catServicio;
                registroPagos.tipoFont      = tipoFont;
                registroPagos.idServicio    = idServicio;
                registroPagos.idProducto    = idProducto;
                registroPagos.montoPagar    = montoPagar;
                if (esRecarga)
                {
                    registroPagos.esRecarga = 1;
                }
                else
                {
                    registroPagos.esRecarga = 0;
                }
                registroPagos.generaOperacion();
                object[] idOperacion = registroPagos.retorno;
                try
                {
                    if (Convert.ToBoolean(idOperacion[0]))
                    {
                        operacion = Convert.ToInt32(idOperacion[1]);
                    }
                    else
                    {
                        operacion = 0;
                    }
                }
                catch (Exception) { operacion = 0; }

                conexion();
                if (valorXML != null || valorXML != "")
                {
                    lecturaXmlAbono(valorXML);
                }
            }
            break;

        case 3:
            //confirmaTransaccion
            obtieneParametros();
            if (servidor == "" || distribuidor == "" || dispositivo == "" || password == "")
            {
                _retorno[0] = false; _retorno[1] = _retorno[1]; _codigo = "0";
            }
            else
            {
                confirmaTransaccion();
                registroPagos.añop          = fechas.obtieneFechaLocal().Year;
                registroPagos.punto         = _punto;
                registroPagos.caja          = _caja;
                registroPagos.usuario       = _usuario;
                registroPagos.telefono      = telefono;
                registroPagos.referencia_in = referencia_in;
                registroPagos.catServicio   = catServicio;
                registroPagos.tipoFont      = tipoFont;
                registroPagos.idServicio    = idServicio;
                registroPagos.idProducto    = idProducto;
                registroPagos.montoPagar    = montoPagar;
                if (esRecarga)
                {
                    registroPagos.esRecarga = 1;
                }
                else
                {
                    registroPagos.esRecarga = 0;
                }
                registroPagos.generaOperacion();
                object[] idOperacion = registroPagos.retorno;
                try
                {
                    if (Convert.ToBoolean(idOperacion[0]))
                    {
                        operacion = Convert.ToInt32(idOperacion[1]);
                    }
                    else
                    {
                        operacion = 0;
                    }
                }
                catch (Exception) { operacion = 0; }
                conexion();
                if (valorXML != null || valorXML != "")
                {
                    lecturaXmlConfirmacion(valorXML);
                }
            }
            break;

        case 4:
            //identifyMe
            break;

        case 0:
            //Sin peticion
            break;

        default:
            break;
        }
    }