Example #1
0
        } //Cierra la mesa liberando el estado y llama a imprimirTicket

        private void imprimirTicket(Mesa pMesaSeleccioanda, double pagaCon)
        {
            //Controla dgv y totales
            double subtotal = 0;

            foreach (Plato p in pMesaSeleccioanda.pedidoMesa.listaPlatos)
            {
                subtotal += p.precio;
            }
            double iva   = subtotal * 0.22;
            double total = subtotal + iva;
            double resto = pagaCon - total;

            MessageBox.Show("El cambio para el cliente es: $" + resto.ToString(), "Imprimiendo Ticket...", MessageBoxButtons.OK, MessageBoxIcon.Information);
            CrearTicket ticket = new CrearTicket();

            //Crear cuerpo del ticket
            CrearTicket nuvoTicket = new CrearTicket();

            nuvoTicket.AbrirCajon();

            //Datos de  la Empresa
            nuvoTicket.TextoCentro("ALGRANATI GROUP LTDA.");
            nuvoTicket.TextoCentro("Rut: 123456879012");
            nuvoTicket.TextoCentro("Direccion: Roque Graseras 694.");
            nuvoTicket.TextoCentro("Ubicacion: Montevideo, Uruguay.");
            nuvoTicket.TextoCentro("Telefono: 2710 2269.");
            nuvoTicket.LineasAsteriscos();

            //Datos del ticket
            nuvoTicket.TextoIzquierda("Fecha: " + lblFecha.Text);
            nuvoTicket.TextoIzquierda("Numero de ticket: " + Persistencia.numeroTicket.ToString());
            nuvoTicket.TextoIzquierda("Nombre cliente: " + pMesaSeleccioanda.cliente);
            if (txtRut.Text != "")
            {
                nuvoTicket.TextoIzquierda("Rut cliente: " + txtRut.Text);
            }

            nuvoTicket.TextoIzquierda("Atendido por: " + pMesaSeleccioanda.mesero);

            //Datos de los platos
            nuvoTicket.LineasGuion();
            nuvoTicket.EcabezadoPlatos();
            nuvoTicket.LineasGuion();

            foreach (Plato p in pMesaSeleccioanda.pedidoMesa.listaPlatos)
            {
                nuvoTicket.AgregarPlato(p.nombre, 1, p.precio, 0);
            }
            nuvoTicket.LineasIgual();

            //Resumen de la venta
            nuvoTicket.ColocarTotales("SUB-TOTAL: ", subtotal);
            nuvoTicket.ColocarTotales("IVA: ", subtotal * 22 / 100);
            nuvoTicket.ColocarTotales("TOTAL: ", total);
            nuvoTicket.ColocarTotales("PAGA CON: ", double.Parse(txtPaga.Text));
            if (double.Parse(txtPaga.Text) < total)
            {
                MessageBox.Show("Se debe pagar con un monto mayor al total!", "ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                throw new Exception("Se debe pagar con un monto mayor al total!");
            }
            nuvoTicket.ColocarTotales("CAMBIO: ", double.Parse(txtPaga.Text) - total);

            //Texto final de ticket
            nuvoTicket.LineasAsteriscos();
            nuvoTicket.TextoCentro("GRACIAS POR SU PREFERENCIA!");
            nuvoTicket.LineasAsteriscos();
            nuvoTicket.CortarTicket();
            nuvoTicket.ImprimirTicket("Microsoft XPS Document Writer");
            Persistencia.numeroTicket++;
        } //Genera el ticket y lo manda a la impresora