} //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