Beispiel #1
0
        public bool getTicket(string[,] aItems, bool bEfectivo, double dEfectivo, bool bTicketRegalo, long idTicket)
        {
            try
            {
                double dTotal     = 0;
                double dSubtotal  = 0;
                double dImpuestos = 0;
                double dCambio    = 0;
                double dIVA       = 0;

                CreaTicket Ticket1 = new CreaTicket();

                if (bEfectivo)
                {
                    Ticket1.AbreCajon();  //abre el cajon
                }

                //Cabecera
                Ticket1.TextoCentro("CRINS CB"); // imprime en el centro "Venta mostrador"
                Ticket1.TextoCentro("C/ Collado 17 Local-puerta 4");
                Ticket1.TextoCentro("42002 Soria");
                Ticket1.TextoCentro("Cif. E42213124");
                Ticket1.TextoCentro("Telf. 975 030627");
                Ticket1.LineasGuion();
                Ticket1.EncabezadoVenta();
                Ticket1.LineasGuion();



                double dAuxCost, dAuxCostDesc, dDesc = 0;
                int    iAuxCant = 0;

                //Articulos
                for (int i = 0; i < aItems.GetLength(0); i++)
                {
                    double.TryParse(aItems[i, 3], out dAuxCost);
                    int.TryParse(aItems[i, 4], out iAuxCant);
                    double.TryParse(aItems[i, 5], out dDesc);

                    dAuxCostDesc = dAuxCost - (dAuxCost * (dDesc / 100));

                    if (dDesc > 0)
                    {
                        dAuxCostDesc = redondea(dAuxCostDesc);
                    }

                    dTotal += (dAuxCostDesc * iAuxCant);

                    if (!bTicketRegalo)
                    {
                        Ticket1.AgregaArticulo(aItems[i, 1], aItems[i, 2], iAuxCant, dAuxCost, dAuxCostDesc * iAuxCant, dDesc);
                    }
                    else
                    {
                        Ticket1.AgregaArticulo(aItems[i, 1], aItems[i, 2], iAuxCant, 0, 0, dDesc);
                    }
                }

                if (!bTicketRegalo)
                {
                    //Calculos
                    double.TryParse(ConfigurationManager.AppSettings["IVA"].ToString(), out dIVA);

                    dImpuestos = dTotal * dIVA / 100;
                    dSubtotal  = dTotal - dImpuestos;

                    //Totales
                    Ticket1.LineasTotales();                        // imprime linea
                    Ticket1.AgregaTotales("Subtotal", dSubtotal);   // imprime linea con total
                    Ticket1.AgregaTotales("Impuestos", dImpuestos); // imprime linea con total
                    Ticket1.LineasGuion();
                    Ticket1.AgregaTotales("TOTAL", dTotal);
                    Ticket1.LineasGuion();

                    //Pago
                    if (bEfectivo)
                    {
                        dCambio = dEfectivo - dTotal;

                        Ticket1.TextoIzquierda("Efectivo " + string.Format("{0:0.00}", dEfectivo));
                        Ticket1.TextoIzquierda("Cambio " + string.Format("{0:0.00}", dCambio));
                    }
                    else
                    {
                        Ticket1.TextoIzquierda("Tarjeta " + string.Format("{0:0.00}", dTotal));
                    }
                }
                else
                {
                    //Ticket regalo
                    Ticket1.TextoCentro("TICKET REGALO");
                }

                //Pie
                Ticket1.TextoCentro("Factura simplificada\n");
                if (idTicket == 0)
                {
                    Ticket1.TextoIzquierda(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "\n");
                }
                else
                {
                    Ticket1.TextoIzquierda("TK: " + idTicket + " - " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "\n");
                }

                Ticket1.TextoCentro("Gracias por su visita");

                //Corta el ticket
                Ticket1.CortaTicket();
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(true);
        }