Exemplo n.º 1
0
        public bool getClosingCash(DataTable dtItems, string date, long idFactura)
        {
            try
            {
                CreaTicket Ticket1 = new CreaTicket();

                //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.TextoIzquierda("CAJA DEL DIA:");
                Ticket1.TextoIzquierda("REALIZADA: " + date + " " + DateTime.Now.ToShortTimeString() + "   N.FRA " + idFactura + "\n");

                //Venta por agente
                //Ticket1.TextoIzquierda("VENTA POR AGENTE:");
                //Ticket1.EncabezadoVentaPorAgente();

                int    iUnidades = 0, iAux = 0;
                double dTotal = 0, dAux = 0, dTarjeta = 0, dEfectivo = 0, dDesc = 0;
                bool   bAux;
                for (int i = 0; i < dtItems.Rows.Count; i++)
                {
                    double.TryParse(dtItems.Rows[i][1].ToString(), out dAux);
                    int.TryParse(dtItems.Rows[i][2].ToString(), out iAux);
                    bool.TryParse(dtItems.Rows[i][3].ToString(), out bAux);
                    double.TryParse(dtItems.Rows[i][4].ToString(), out dDesc);

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

                    iUnidades += iAux;
                    dTotal    += dAux * iAux;

                    if (bAux)
                    {
                        dTarjeta += dAux * iAux;
                    }
                    else
                    {
                        dEfectivo += dAux * iAux;
                    }
                }
                //Ticket1.AgregaAgente(iUnidades, dTotal);
                //Ticket1.AgregaTotalesAgente("          TOTAL", iUnidades, dTotal);

                //Venta por familia
                Ticket1.TextoIzquierda("VENTA POR FAMILIA:");
                Ticket1.EncabezadoVentaPorFamilia();

                double dPerc = 0;
                for (int i = 0; i < dtItems.Rows.Count; i++)
                {
                    double.TryParse(dtItems.Rows[i][1].ToString(), out dAux);
                    int.TryParse(dtItems.Rows[i][2].ToString(), out iAux);
                    double.TryParse(dtItems.Rows[i][4].ToString(), out dDesc);

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

                    dPerc = (dAux * iAux) * 100 / dTotal;

                    Ticket1.AgregaFamilia(dtItems.Rows[i][0].ToString(), iAux, dAux, dAux * iAux, dPerc);
                }
                Ticket1.LineasGuion();
                Ticket1.AgregaTotalesFamilia("          TOTAL", iUnidades, dTotal, 100);


                Ticket1.TextoIzquierda("\n**La moneda activa es: Eur**\n");

                //Totales
                double dIVAPerc = 0, dSubTotal = 0, dRE = 0, dIVAAmount = 0;
                double.TryParse(ConfigurationManager.AppSettings["IVA"].ToString(), out dIVAPerc);

                dIVAAmount = dTotal * dIVAPerc / 100;
                dSubTotal  = dTotal - dIVAAmount;

                Ticket1.TextoIzquierda("TOTAL VENTAS: " + string.Format("{0:0.00}", dTotal).ToString());
                Ticket1.TextoIzquierda("EN EFECTIVO: " + string.Format("{0:0.00}", dEfectivo).ToString());
                Ticket1.TextoIzquierda("CON TARJETA: " + string.Format("{0:0.00}", dTarjeta).ToString());
                //Ticket1.TextoIzquierda("EFECTIVO EN CAJA: ");
                Ticket1.LineasGuion();
                Ticket1.EncabezadoCierreCaja();
                Ticket1.AgregaTotalesCierreCaja(string.Format("{0:0.00}", dIVAPerc).ToString(), dSubTotal, dRE, dIVAAmount, dTotal);


                //Pie
                Ticket1.TextoCentro("Factura simplificada\n");

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

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

            return(true);
        }