public String Pagare()
        {
            Respuesta Obj_Resp = new Respuesta();
            String    Str_Respuesta;
            JsonSerializerSettings Configuracion_Json = new JsonSerializerSettings();

            Configuracion_Json.NullValueHandling = NullValueHandling.Ignore;
            Cls_Ctrl_Operaciones Obj_Negocio   = new Cls_Ctrl_Operaciones();
            DataTable            Dt_Parametros = new DataTable();

            Dt_Parametros = Obj_Negocio.Consultar_Datos_Fiscales();

            try
            {
                CrearTicket ticket = new CrearTicket();
                ticket.lineasIgual();
                ticket.TextoCentro("'Rio Grande'");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("Por este pagare yo");
                ticket.TextoIzquierda("___________________________________ me ");
                ticket.TextoIzquierda("comprometo a pagar incondicionalmente a");
                ticket.TextoIzquierda("la orden de Juan Manuel Hernandez ");
                ticket.TextoIzquierda("la cantidad de ________________________");
                ticket.TextoIzquierda("y me obligo a pagar en su totalidad. En");
                ticket.TextoIzquierda("la ciudad de Irapuato o en cualquier ");
                ticket.TextoIzquierda("lugar que se  me requiera.");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoCentro("_____________________________________");
                ticket.TextoIzquierda(" ");
                ticket.TextoCentro("FIRMA");
                ticket.lineasIgual();
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.CortaTicket();

                ticket.ImprimirTicket("" + Dt_Parametros.Rows[0]["Impresora"]);
                Obj_Resp.Estatus = true;
            }
            catch (Exception ex)
            {
                //throw new Exception(ex.Message);
            }
            finally
            {
                Str_Respuesta = JsonConvert.SerializeObject(Obj_Resp, Formatting.Indented, Configuracion_Json);
            }
            return(Str_Respuesta);
        }
        ////*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN:
        ///DESCRIPCIÓN:
        ///PARAMETROS:
        ///CREO:       MARIA CHANTAL ORIGEL SEGURA
        ///FECHA_CREO:
        ///MODIFICO:
        ///FECHA_MODIFICO:
        ///CAUSA_MODIFICACIÓN:
        ///*******************************************************************************
        private void Imprimir_Ticket(Cls_Mdl_Ventas Reporte_Datos, List <Cls_Mdl_Ventas> Detalles, DataTable Parametros)
        {
            try
            {
                CrearTicket ticket = new CrearTicket();
                //ticket.Imprimir_Logo();
                ticket.TextoIzquierda(" ");
                ticket.TextoCentro("CAFETERIA");
                //ticket.TextoCentro("'NEUROLOGOS'");
                if (Parametros.Rows.Count > 0)
                {
                    //ticket.TextoCentro("" + Parametros.Rows[0]["Domicilio"]);
                    //ticket.TextoCentro("" + Parametros.Rows[0]["RFC"]);
                    //ticket.TextoCentro("TEL." + Parametros.Rows[0]["Telefono"]);
                }
                ticket.TextoIzquierda(" ");
                ticket.TextoDerecha("Folio: " + Reporte_Datos.Folio);
                ticket.TextoIzquierda(" ");
                ticket.TextoIzquierda("Fecha:" + Reporte_Datos.Fecha + "     " + Reporte_Datos.Dia);
                ticket.TextoIzquierda("");
                //ticket.TextoIzquierda("Cliente:" + Reporte_Datos.Cliente);
                //ticket.TextoIzquierda("");
                ticket.EncabezadoVenta();
                ticket.lineasGuio();
                var Cont = Detalles.Count();

                for (var i = 0; i < Cont; i++)
                {
                    ticket.AgregaArticulo(System.Convert.ToDecimal(Detalles[i].Cantidad.ToString()), Detalles[i].Descripcion.ToString(), System.Convert.ToDecimal(Detalles[i].Precio.ToString()), System.Convert.ToDecimal(Detalles[i].Importe.ToString()));
                }

                ticket.lineasIgual();
                ticket.AgregarTotales("          Subtotal : $ ", System.Convert.ToDecimal(Reporte_Datos.Subtotal));
                ticket.AgregarTotales("          IVA  : $ ", System.Convert.ToDecimal(Reporte_Datos.IVA));
                ticket.TextoIzquierda(" ");
                ticket.AgregarTotales("          TOTAL       : $ ", System.Convert.ToDecimal(Reporte_Datos.Total));
                ticket.TextoIzquierda(" ");
                ticket.TextoIzquierda("Este ticket forma parte de la factura");
                ticket.TextoIzquierda("global del dia ");
                ticket.TextoIzquierda(" ");
                ticket.TextoCentro("GRACIAS POR SU COMPRA");
                ticket.TextoCentro("VUELVA PRONTO");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.CortaTicket();
                ticket.ImprimirTicket("" + Parametros.Rows[0]["Impresora"]);
            }
            catch (Exception ex)
            {
                //throw new Exception(ex.Message);
            }
        }
Beispiel #3
0
        //Creacion de ticket venta de vitrina
        public void creacionTicketVitrina()
        {
            double impuesto = Convert.ToDouble(txtCostoV.Text) * 0.16;
            double total    = Convert.ToDouble(txtCostoV.Text) + impuesto;

            ticket.abreCajon();

            //******************Creacion de ticket********************

            //cabecera
            ticket.textoCentro("Pasteleria Cruzita");
            ticket.textoIzquierdo("MA DE LA CRUZ ROBLES VILLARREAL");
            ticket.textoIzquierdo("LEON 250B COL. CENTRO, CP 63000");
            ticket.textoIzquierdo("TEPIC, NAYARIT, MEXICO");
            ticket.textoCentro(DateTime.Now.ToShortDateString() + " - " + DateTime.Now.ToShortTimeString());
            ticket.lineasAsterisco();

            //articulos a vender
            ticket.encabezadoVenta();
            ticket.lineasAsterisco();

            //ejemplo
            ticket.agregarArticulos(txtTipoV.Text, 1, Convert.ToDouble(txtCostoV.Text), Convert.ToDouble(txtCostoV.Text));
            //ticket.agregarArticulos("Articulo B", 1, 10, 10);
            //ticket.agregarArticulos("Este es un nombre largo del articulo, para mostrar como se bajan las lineas", 1, 30, 30);
            ticket.lineasIgual();

            //resumen de la venta
            ticket.agregarTotales("         IMPUESTOS....$ ", impuesto);
            ticket.agregarTotales("         TOTAL........$ ", total);
            ticket.textoIzquierdo("");
            ticket.agregarTotales("         EFECTIVO.....$ ", Convert.ToDouble(txtEfectivoV.Text));
            ticket.agregarTotales("         CAMBIO.......$ ", Convert.ToDouble(txtEfectivoV.Text) - total);
            ticket.lineasIgual();

            //texto final del ticket
            ticket.textoIzquierdo("");
            ticket.textoIzquierdo("ARTICULOS VENDIDOS: 1");
            ticket.textoIzquierdo("");
            ticket.textoIzquierdo("GRACIAS POR SU COMPRA!");
            ticket.cortaTicket();
            ticket.imprimirTicket("EC-PM-58110x");
        }
 ////*******************************************************************************
 ///NOMBRE DE LA FUNCIÓN:
 ///DESCRIPCIÓN:
 ///PARAMETROS:
 ///CREO:       MARIA CHANTAL ORIGEL SEGURA
 ///FECHA_CREO:
 ///MODIFICO:
 ///FECHA_MODIFICO:
 ///CAUSA_MODIFICACIÓN:
 ///*******************************************************************************
 private void Imprimir_Ticket(Cls_Mdl_A_Pagar Reporte_Datos, DataTable Parametros)
 {
     try
     {
         CrearTicket ticket = new CrearTicket();
         //ticket.Imprimir_Logo();
         ticket.TextoIzquierda(" ");
         ticket.TextoCentro("JITOMATES");
         ticket.TextoCentro("'RIO GRANDE'");
         if (Parametros.Rows.Count > 0)
         {
             //ticket.TextoCentro("" + Parametros.Rows[0]["Domicilio"]);
             //ticket.TextoCentro("" + Parametros.Rows[0]["RFC"]);
             //ticket.TextoCentro("TEL." + Parametros.Rows[0]["Telefono"]);
         }
         ticket.TextoIzquierda(" ");
         ticket.TextoDerecha("Folio: " + Reporte_Datos.Folio);
         ticket.TextoIzquierda(" ");
         ticket.TextoIzquierda("Fecha:" + DateTime.Today);
         ticket.TextoIzquierda("");
         ticket.TextoIzquierda("Cliente:" + Reporte_Datos.Cliente);
         ticket.TextoIzquierda("");
         ticket.lineasGuio();
         if (Reporte_Datos.Estatus == "Abonar")
         {
             ticket.TextoIzquierda("ABONO: " + Reporte_Datos.Abonado);
         }
         if (Reporte_Datos.Estatus == "Pagado")
         {
             ticket.TextoIzquierda("PAGO: " + Reporte_Datos.Pagado);
         }
         ticket.lineasIgual();
         ticket.TextoIzquierda(" ");
         if (Reporte_Datos.Estatus == "Abonar")
         {
             ticket.AgregarTotales("          Le restan: $ ", System.Convert.ToDecimal(Reporte_Datos.Pagado) - System.Convert.ToDecimal(Reporte_Datos.Abonado));
         }
         ticket.TextoIzquierda(" ");
         ticket.TextoCentro("GRACIAS POR SU COMPRA");
         ticket.TextoCentro("VUELVA PRONTO");
         ticket.TextoIzquierda("");
         ticket.TextoIzquierda("");
         ticket.TextoIzquierda("");
         ticket.TextoIzquierda("");
         ticket.CortaTicket();
         ticket.ImprimirTicket("" + Parametros.Rows[0]["Impresora"]);
     }
     catch (Exception ex)
     {
         //throw new Exception(ex.Message);
     }
 }
 ////*******************************************************************************
 ///NOMBRE DE LA FUNCIÓN:
 ///DESCRIPCIÓN:
 ///PARAMETROS:
 ///CREO:       MARIA CHANTAL ORIGEL SEGURA
 ///FECHA_CREO:
 ///MODIFICO:
 ///FECHA_MODIFICO:
 ///CAUSA_MODIFICACIÓN:
 ///*******************************************************************************
 private void Imprimir_Recepcion_Caja(Cls_Mdl_A_Pagar Reporte_Datos, DataTable Parametros, DataTable Cajas_Pendientes)
 {
     try
     {
         CrearTicket ticket = new CrearTicket();
         //ticket.Imprimir_Logo();
         //ticket.HeaderImage = picturebox.image;
         ticket.TextoIzquierda(" ");
         ticket.TextoCentro("JITOMATES");
         ticket.TextoCentro("'RIO GRANDE'");
         if (Parametros.Rows.Count > 0)
         {
             //ticket.TextoCentro("" + Parametros.Rows[0]["Domicilio"]);
             //ticket.TextoCentro("" + Parametros.Rows[0]["RFC"]);
             //ticket.TextoCentro("TEL." + Parametros.Rows[0]["Telefono"]);
         }
         ticket.TextoIzquierda(" ");
         //ticket.TextoDerecha("Folio: " + Reporte_Datos.Folio);
         ticket.TextoIzquierda(" ");
         ticket.TextoIzquierda("Fecha:" + DateTime.Today);
         ticket.TextoIzquierda("");
         ticket.TextoIzquierda("Cliente:" + Reporte_Datos.Cliente);
         ticket.TextoIzquierda("");
         ticket.lineasGuio();
         ticket.TextoIzquierda("ENTREGO : " + Reporte_Datos.Cantidad + " CAJAS");
         ticket.TextoIzquierda("SE ENTREGÓ A CLIENTE :$" + Reporte_Datos.Importe + " DEL DEPOSITO");
         ticket.TextoIzquierda(" ");
         ticket.TextoIzquierda("CAJAS PENDIENTES : ");
         if (Cajas_Pendientes.Rows.Count > 0)
         {
             for (var j = 0; j < Cajas_Pendientes.Rows.Count; j++)
             {
                 ticket.TextoDerecha("" + Cajas_Pendientes.Rows[j]["Tipo_Caja"] + "    " + Cajas_Pendientes.Rows[j]["Cantidad"]);
             }
         }
         ticket.lineasIgual();
         ticket.TextoIzquierda(" ");
         ticket.TextoCentro("GRACIAS POR SU COMPRA");
         ticket.TextoCentro("VUELVA PRONTO");
         ticket.TextoIzquierda("");
         ticket.TextoIzquierda("");
         ticket.TextoIzquierda("");
         ticket.CortaTicket();
         ticket.ImprimirTicket("" + Parametros.Rows[0]["Impresora"]);
     }
     catch (Exception ex)
     {
         //throw new Exception(ex.Message);
     }
 }
        ////*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN:
        ///DESCRIPCIÓN:
        ///PARAMETROS:
        ///CREO:       MARIA CHANTAL ORIGEL SEGURA
        ///FECHA_CREO:
        ///MODIFICO:
        ///FECHA_MODIFICO:
        ///CAUSA_MODIFICACIÓN:
        ///*******************************************************************************
        private void Imprimir_Ticket(Cls_Mdl_Ventas Reporte_Datos, List <Cls_Mdl_Ventas> Detalles, List <Cls_Mdl_Ventas> Cajas, DataTable Parametros)
        {
            try
            {
                for (int j = 0; j < 2; j++)
                {
                    CrearTicket ticket = new CrearTicket();
                    //ticket.Imprimir_Logo();
                    ticket.TextoIzquierda(" ");
                    ticket.TextoCentro("JITOMATES");
                    ticket.TextoCentro("'RIO GRANDE'");
                    if (Parametros.Rows.Count > 0)
                    {
                        //ticket.TextoCentro("" + Parametros.Rows[0]["Domicilio"]);
                        //ticket.TextoCentro("" + Parametros.Rows[0]["RFC"]);
                        //ticket.TextoCentro("TEL." + Parametros.Rows[0]["Telefono"]);
                    }
                    ticket.TextoIzquierda(" ");
                    ticket.TextoDerecha("Folio: " + Reporte_Datos.Folio);
                    ticket.TextoIzquierda(" ");
                    ticket.TextoIzquierda("Fecha:" + Reporte_Datos.Fecha + "     " + Reporte_Datos.Dia);
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("Cliente:" + Reporte_Datos.Cliente);
                    ticket.TextoIzquierda("");
                    ticket.EncabezadoVenta();
                    ticket.lineasGuio();
                    var Cont = Detalles.Count();

                    for (var i = 0; i < Cont; i++)
                    {
                        ticket.AgregaArticulo(System.Convert.ToDecimal(Detalles[i].Cantidad.ToString()), Detalles[i].Descripcion.ToString(), System.Convert.ToDecimal(Detalles[i].Costo_Unitario.ToString()), System.Convert.ToDecimal(Detalles[i].Importe.ToString()));
                    }

                    ticket.lineasIgual();
                    //ticket.AgregarTotales("          Subtotal : $ ", System.Convert.ToDecimal(Reporte_Datos.Subtotal));
                    //ticket.AgregarTotales("          IVA  : $ ", System.Convert.ToDecimal(Reporte_Datos.Precio_IVA));
                    ticket.TextoIzquierda(" ");
                    ticket.AgregarTotales("          TOTAL       : $ ", System.Convert.ToDecimal(Reporte_Datos.Total_Vendido));
                    ticket.TextoIzquierda(" ");
                    ticket.TextoIzquierda("Este ticket forma parte de la factura");
                    ticket.TextoIzquierda("global del dia ");
                    ticket.TextoIzquierda(" ");
                    ticket.TextoCentro("GRACIAS POR SU COMPRA");
                    ticket.TextoCentro("VUELVA PRONTO");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.CortaTicket();
                    ticket.ImprimirTicket("" + Parametros.Rows[0]["Impresora"]);

                    if (Cajas.Count > 0)
                    {
                        CrearTicket ticket_caja = new CrearTicket();
                        //ticket.Imprimir_Logo();
                        ticket_caja.TextoIzquierda(" ");
                        ticket_caja.TextoCentro("JITOMATES");
                        ticket_caja.TextoCentro("'RIO GRANDE'");
                        if (Parametros.Rows.Count > 0)
                        {
                            //ticket_caja.TextoCentro("" + Parametros.Rows[0]["Domicilio"]);
                            //ticket_caja.TextoCentro("" + Parametros.Rows[0]["RFC"]);
                            //ticket_caja.TextoCentro("TEL." + Parametros.Rows[0]["Telefono"]);
                        }
                        ticket_caja.TextoIzquierda(" ");
                        ticket_caja.TextoDerecha("Folio: " + Reporte_Datos.Folio);
                        ticket_caja.TextoIzquierda(" ");
                        ticket_caja.TextoIzquierda("Fecha:" + Reporte_Datos.Fecha + "     " + Reporte_Datos.Dia);
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.TextoIzquierda("Cliente:" + Reporte_Datos.Cliente);
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.EncabezadoVenta_cajas();
                        ticket_caja.lineasGuio();
                        var Con = Cajas.Count();

                        for (var i = 0; i < Con; i++)
                        {
                            ticket_caja.AgregaArticulo_Caja(System.Convert.ToDecimal(Cajas[i].Cajas_Cantidad.ToString()), Cajas[i].Cajas_Descripcion.ToString());
                        }

                        ticket_caja.lineasIgual();
                        //ticket_caja.AgregarTotales("          Subtotal : $ ", System.Convert.ToDecimal(Reporte_Datos.Subtotal));
                        //ticket_caja.AgregarTotales("          IVA  : $ ", System.Convert.ToDecimal(Reporte_Datos.Precio_IVA));
                        ticket_caja.TextoIzquierda(" ");
                        ticket_caja.AgregarTotales("          IMPORTE QUE DEJA       : $ ", System.Convert.ToDecimal(Reporte_Datos.Importe_Cajas));
                        ticket_caja.TextoIzquierda(" ");
                        ticket_caja.TextoCentro("VUELVA PRONTO");
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.CortaTicket();
                        ticket_caja.ImprimirTicket("" + Parametros.Rows[0]["Impresora"]);
                    }
                }
            }
            catch (Exception ex)
            {
                //throw new Exception(ex.Message);
            }
        }
        private async void MethodGuardarVenta()
        {
            await Task.Factory.StartNew(() =>
            {
                try
                {
                    ESGR_Venta.CuentasXML = MethodCuentasXML();
                    ESGR_Venta.DetalleXML = MethodDetalleXML();
                    new BSGR_Venta().TransVenta(ESGR_Venta);

                    if (OpcionGuardado == "VR")
                    {
                        var CollectionMSGR_PedidoDetalle = new BSGR_PedidoDetalle().GetCollectionPedidoDetalle(ESGR_Venta.ESGR_Pedido);
                        #region REALIZA IMPRESION

                        CrearTicket ticket = new CrearTicket();
                        ticket.TextoCentro(SGRVariables.ESGR_Usuario.ESGR_Empresa.RazonSocial);
                        ticket.TextoIzquierda("RUC:   " + SGRVariables.ESGR_Usuario.ESGR_Empresa.Ruc);
                        ticket.TextoIzquierda("DIREC: " + SGRVariables.ESGR_Usuario.ESGR_Empresa.DireccionFiscal);
                        ticket.TextoIzquierda("TELEF: " + SGRVariables.ESGR_Usuario.ESGR_Empresa.Telefono);
                        ticket.TextoIzquierda("");
                        ticket.lineasIgual();
                        ticket.TextoIzquierda("");
                        ticket.TextoDerecha("Ticket #001-" + ESGR_Venta.ESGR_Pedido.IdPedido.ToString("00000#"));
                        ticket.TextoIzquierda(SGRVariables.ESGR_Usuario.ESGR_Perfil.NombrePerfil + ": " + SGRVariables.ESGR_Usuario.IdUsuario + " " + SGRVariables.ESGR_Usuario.Nombres);
                        ticket.TextoExtremos("Fecha: " + DateTime.Now.ToShortDateString(), "Hora: " + DateTime.Now.ToShortTimeString());
                        ticket.TextoExtremos("Mesa: " + ESGR_Venta.ESGR_Pedido.Identificador, "Personas: " + ESGR_Venta.ESGR_Pedido.Cubierto);
                        ticket.TextoIzquierda("");
                        ticket.lineasIgual();
                        ticket.TextoIzquierda("");
                        //Articulos a vender.
                        ticket.EncabezadoVenta();//NOMBRE DEL ARTICULO, CANT, PRECIO, IMPORTE
                        ticket.lineasGuion();
                        foreach (var item in CollectionMSGR_PedidoDetalle)
                        {
                            ticket.AgregaArticulo(item.ESGR_Producto.Producto, (int)item.Cantidad, (decimal)item.ESGR_Producto.Precio, ((int)item.Cantidad * (decimal)item.ESGR_Producto.Precio));
                        }
                        ticket.lineasGuion();
                        decimal Total = CollectionMSGR_PedidoDetalle.Sum(x => ((int)x.Cantidad * (decimal)x.ESGR_Producto.Precio));
                        ticket.AgregarTotales("         TOTAL S/", Total);
                        ticket.TextoIzquierda("");
                        ticket.TextoIzquierda("Razon Social:");
                        ticket.lineasSubGuion();
                        ticket.lineasSubGuion();
                        ticket.TextoIzquierda("RUC:");
                        ticket.lineasSubGuion();
                        ticket.TextoIzquierda("Direccion:");
                        ticket.lineasSubGuion();
                        ticket.lineasSubGuion();
                        ticket.TextoIzquierda("");
                        ticket.TextoCentro("¡ GRACIAS POR SU PREFERENCIA !");
                        ticket.TextoIzquierda("ESTE NO ES UN COMPROBANTE FISCAL CANJEAR POR BOLETA O FACTURA");

                        if (SGRVariables.NotificacionPreCuenta != null && SGRVariables.NotificacionPreCuenta.Trim().Length != 0)
                        {
                            ticket.TextoIzquierda("");
                            ticket.lineasAsteriscos();
                            ticket.TextoIzquierda("");
                            ticket.TextoIzquierda(SGRVariables.NotificacionPreCuenta);
                            ticket.TextoIzquierda("");
                        }

                        ticket.ImprimirTicket(SGRVariables.ImpresoraCaja);

                        #endregion
                    }

                    CmpMessageBox.Show(SGRMessage.AdministratorVenta, SGRMessageContent.ContentSaveOK, CmpButton.Aceptar, () => Volver(null));
                }
                catch (Exception ex)
                {
                    CmpMessageBox.Show(SGRMessage.AdministratorVenta, ex.Message, CmpButton.Aceptar);
                }
            });
        }
Beispiel #8
0
        private void CrearTicket()
        {
            //Creamos una instancia d ela clase CrearTicket
            CrearTicket ticket;

            //NECESITO UN METODO QUE ME RECUPERE FILA Y COLUMA SEGUN EL ID DEL ASIENTO, TIPO DE BOLETO ETC..
            for (int i = 0; i < total_asientos; i++)
            {
                ticket = new CrearTicket();
                decimal precio_bol = 0;
                string  tipo_bol   = "";
                string  fila       = "";
                string  columna    = "";
                asientos.RecupDatos(com, i);
                int id = asientos.id_boleto[i];
                foreach (var x in det.getDetalles_Compra(id, com))
                {
                    tipo_bol = x.tipo_bol_nom;
                    fila     = x.fila;
                    columna  = x.columna;

                    if (tipo_bol == "Niño" || tipo_bol == "Adulto (Mayor 60)")
                    {
                        precio_bol = 30M + asientos.prec_sala;
                    }
                    else if (tipo_bol == "Adulto")
                    {
                        precio_bol = 40M + asientos.prec_sala;
                    }


                    #region BoletosImprimir
                    //Ya podemos usar todos sus metodos
                    ticket.AbreCajon();//Para abrir el cajon de dinero.

                    //De aqui en adelante pueden formar su ticket a su gusto... Les muestro un ejemplo

                    //Datos de la cabecera del Ticket.
                    ticket.TextoCentro("CINEXCESO");
                    ticket.TextoIzquierda("EXPEDIDO EN: LOCAL PRINCIPAL");
                    ticket.TextoIzquierda("DIREC: DIRECCION DE LA EMPRESA");
                    ticket.TextoIzquierda("TELEF: 4530000");
                    ticket.TextoIzquierda("R.F.C: XXXXXXXXX-XX");
                    ticket.TextoIzquierda("EMAIL: [email protected]");//Es el mio por si me quieren contactar ...
                    ticket.TextoIzquierda("");
                    ticket.TextoExtremos("Caja # 1", "Ticket # 002-00000" + i + "" + "0" + "0");
                    ticket.lineasAsteriscos();

                    //Sub cabecera.
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("ATENDIÓ: ALAN JOSÉ COLLI TUN");
                    ticket.TextoIzquierda("CLIENTE: PUBLICO EN GENERAL");
                    ticket.TextoIzquierda("");
                    ticket.TextoExtremos("FECHA: " + DateTime.Now.ToShortDateString(), "HORA: " + DateTime.Now.ToShortTimeString());
                    ticket.lineasAsteriscos();

                    //Articulos a vender.
                    ticket.EncabezadoVenta();//NOMBRE DEL ARTICULO, CANT, PRECIO, IMPORTE

                    ticket.AgregaArticulo(fun.nombre_peli, fun.NUM_SALA.ToString(), fun.Hora_ini, precio_bol);
                    ticket.TextoIzquierda("Asiento: " + fila + "" + columna);
                    ticket.TextoIzquierda("Sala: " + "" + fun.NUM_SALA + "");
                    ticket.TextoIzquierda(tipo_bol);
                    ticket.lineasIgual();

                    //Resumen de la venta. Sólo son ejemplos
                    ticket.AgregarTotales("         SUBTOTAL......$", precio_bol);
                    ticket.AgregarTotales("         TOTAL NETO....$", TOT);//La M indica que es un decimal en C#
                    ticket.TextoIzquierda("");
                    ticket.AgregarTotales("         EFECTIVO......$", pago_cli);
                    ticket.AgregarTotales("         CAMBIO........$", CAMBIO);
                    //Texto final del Ticket.
                    ticket.TextoIzquierda("");
                    ticket.TextoCentro("¡DISFRUTE LA FUNCIÓN!");
                    ticket.CortaTicket();
                    ticket.GuardarTicket(i);
                    //ticket.ImprimirTicket("Microsoft XPS Document Writer");//Nombre de la impresora ticketera
                    #endregion
                }
            }
        }
Beispiel #9
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(txtTicket.Text))
            {
                CrearTicket ticket = new CrearTicket();

                ConexBD cn1 = new ConexBD();
                cn1.Conectar();

                ticket.TextoCentro("LAVANDERIA SAN ISIDRO S.A");
                ticket.TextoIzquierda("");
                MySqlCommand _comando1 = new MySqlCommand(String.Format(
                                                              "SELECT o.idOrden,c.dniCliente,c.nombreCliente,o.fechaCreado,o.fechaEntrega, o.totalOrden,o.descuento,(l.total-o.`totalOrden`) dscto ,o.aplicaDscto,l.cantidad,l.precio,l.descripcion,l.total,l.colorPrenda,l.marca,l.defecto,p.pago1,p.pago2,u.direccion,u.telefono,u.impresora,p.tipoPago1,o.express,o.delivery FROM Orden o INNER JOIN Cliente c ON o.idCliente=c.idCliente INNER JOIN Pago p ON o.idOrden=p.idOrden INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN usuario u ON u.id=o.idUsuario WHERE o.idOrden={0}", txtTicket.Text), cn1.ObtenerConexion());
                ConexBD cn2 = new ConexBD();
                cn2.Conectar();
                MySqlCommand _comando = new MySqlCommand(String.Format(
                                                             "SELECT o.idOrden,c.dniCliente,c.nombreCliente,o.fechaCreado,o.fechaEntrega, o.totalOrden,l.cantidad,l.precio,l.descuento,l.descripcion,l.total,l.colorPrenda,l.marca,l.defecto,p.pago1,p.pago2,u.direccion,u.telefono,u.impresora,p.tipoPago1,o.garantia,o.express,o.delivery FROM Orden o INNER JOIN Cliente c ON o.idCliente=c.idCliente INNER JOIN Pago p ON o.idOrden=p.idOrden INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN usuario u ON u.id=o.idUsuario WHERE o.idOrden={0}", txtTicket.Text), cn2.ObtenerConexion());
                MySqlDataReader _reader1 = _comando1.ExecuteReader();
                MySqlDataReader _reader  = _comando.ExecuteReader();
                _reader1.Read();
                ticket.TextoIzquierda("DIRECCION: " + _reader1.GetString(18).ToUpper());
                ticket.TextoIzquierda("HORARIO: LUNES A VIERNES DE 8:00AM");
                ticket.TextoIzquierda(" A 8:00PM Y SABADO DE 8:00AM A 7:00PM");
                ticket.TextoIzquierda("TELEF: " + _reader1.GetString(19));
                ticket.TextoIzquierda("WEB:LAVANDERIASANISIDRO.COM");
                ticket.lineasIgual();
                ticket.TextoIzquierda("CLIENTE: " + _reader1.GetString(2).ToUpper());
                if (!_reader1.GetString(1).Equals(""))
                {
                    ticket.TextoIzquierda("DNI: " + _reader1.GetString(1));
                }
                ticket.TextoIzquierda("FECHA DE ORDEN: " + _reader1.GetString(3));
                ticket.TextoIzquierda("FECHA DE ENTREGA: " + _reader1.GetString(4).Substring(0, 10));
                ticket.TextoExtremos("NRO DE ORDEN:", "Ticket # " + _reader1.GetString(0));

                ticket.lineasAsteriscos();
                ticket.EncabezadoVenta();
                ticket.lineasAsteriscos();
                decimal totalSinDescuento = 0;
                decimal cargoVisa         = 0;

                if (_reader1.GetDecimal(21) == 1)
                {
                    cargoVisa = 5;
                }
                while (_reader.Read())
                {
                    ticket.AgregaArticulo(_reader.GetString(9), _reader.GetDecimal(6), _reader.GetDecimal(7), _reader.GetDecimal(10));
                    if (!_reader.GetString(11).Equals("") || !_reader.GetString(12).Equals("") || !_reader.GetString(13).Equals(""))
                    {
                        ticket.TextoExtremos(_reader.GetString(11) + " " + _reader.GetString(12), _reader.GetString(13));
                    }
                    if (_reader1.GetDecimal(8) > 0 && _reader.GetDecimal(8) > 0)
                    {
                        ticket.TextoExtremos("PROM DSCTO -" + _reader1.GetDecimal(6) + "%  ", " - " + (Decimal.Round(Decimal.Round((Convert.ToDecimal(_reader.GetDecimal(10))), 2) * _reader1.GetDecimal(6) / 100, 2)));
                    }
                    totalSinDescuento += _reader.GetDecimal(10);
                    ticket.lineasGuio();
                }

                ticket.lineasAsteriscos();

                if (_reader1.GetDecimal(6) > 0)
                {
                    if (_reader1.GetDecimal(8) > 0)
                    {
                        ticket.AgregarTotales("            TOTAL..........S/.", _reader.GetDecimal(14));
                    }
                    else
                    {
                        ticket.AgregarTotales("            TOTAL..........S/.", totalSinDescuento);
                    }

                    //  ticket.AgregarTotales("            DESCUENTO.." + (_reader1.GetDecimal(6) - cargoVisa) + "%.", (totalSinDescuento - _reader1.GetDecimal(5)));
                }
                else
                {
                    if (_reader1.GetDecimal(23) > 0)
                    {
                        ticket.TextoDerecha("              SERVICIO DELIVERY");
                    }
                    if (_reader1.GetDecimal(22) > 0)
                    {
                        ticket.TextoDerecha("              SERVICIO EXPRESS 50% +");
                    }
                    ticket.AgregarTotales("            TOTAL..........S/.", _reader.GetDecimal(5));
                }



                ticket.AgregarTotales("            A CUENTA.......S/.", _reader.GetDecimal(14));//La M indica que es un decimal en C#
                ticket.AgregarTotales("            SALDO..........S/.", _reader.GetDecimal(15));
                ticket.TextoIzquierda("");
                if (_reader.GetInt32(19) == 1)
                {
                    ticket.TextoCentro("Prendas sin garantía");
                }
                ticket.TextoCentro("¡GRACIAS POR SU PREFERENCIA!");
                ticket.CortaTicket();
                ticket.ImprimirTicket(_reader1.GetString(20));

                _comando.Connection.Close();
                _comando1.Connection.Close();
                cn1.cerrarConexion();
                cn2.cerrarConexion();
            }
            else
            {
                MessageBox.Show("Debe ingresar un Numero de Orden", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #10
0
        public void ImprimirTicket(string nombreNegocio, string direccion, string telefono, ref int numeroTickt, ref int numeroDetalle, ref List <DetallePedido> lista, string atencion, string nombreCliente)
        {
            //Creamos una instancia d ela clase CrearTicket
            CrearTicket ticket = new CrearTicket();

            //Ya podemos usar todos sus metodos
            ticket.AbreCajon();//Para abrir el cajon de dinero.

            //De aqui en adelante pueden formar su ticket a su gusto... Les muestro un ejemplo

            //Datos de la cabecera del Ticket.
            ticket.TextoCentro(nombreNegocio);
            ticket.TextoIzquierda("EXPEDIDO EN: LOCAL PRINCIPAL");
            ticket.TextoIzquierda("DIREC: " + direccion);
            ticket.TextoIzquierda("TELEF: " + telefono);
            //ticket.TextoIzquierda("R.F.C: XXXXXXXXX-XX");
            //ticket.TextoIzquierda("EMAIL: [email protected]");//Es el mio por si me quieren contactar ...
            ticket.TextoIzquierda("");
            ticket.TextoExtremos("Caja # 1", "Ticket # " + numeroTickt.ToString("D3") + "-" + numeroDetalle.ToString("D7"));
            ticket.lineasAsteriscos();

            //Sub cabecera.
            ticket.TextoIzquierda("");
            ticket.TextoIzquierda("ATENDIÓ: " + atencion);      // + nombreEmpleado meter variable
            ticket.TextoIzquierda("CLIENTE: " + nombreCliente); // + nombreCliente meter variable
            ticket.TextoIzquierda("");
            ticket.TextoExtremos("FECHA: " + DateTime.Now.ToShortDateString(), "HORA: " + DateTime.Now.ToShortTimeString());
            ticket.lineasAsteriscos();

            //Articulos a vender.
            ticket.EncabezadoVenta();//NOMBRE DEL ARTICULO, CANT, PRECIO, IMPORTE
            ticket.lineasAsteriscos();
            //Si tiene una DataGridView donde estan sus articulos a vender pueden usar esta manera para agregarlos al ticket.
            //foreach (DataGridViewRow fila in dgvLista.Rows)//dgvLista es el nombre del datagridview
            //{
            //ticket.AgregaArticulo(fila.Cells[2].Value.ToString(), int.Parse(fila.Cells[5].Value.ToString()),
            //decimal.Parse(fila.Cells[4].Value.ToString()), decimal.Parse(fila.Cells[6].Value.ToString()));
            //}
            foreach (DetallePedido item in lista)
            {
                ticket.AgregaArticulo(item.variedad, item.cantidad, item.precio, item.precio / item.cantidad);
            }
            //ticket.AgregaArticulo("Este es un nombre largo del articulo, para mostrar como se bajan las lineas", 1, 30, 30);
            ticket.lineasIgual();

            //Resumen de la venta. Sólo son ejemplos
            //ticket.AgregarTotales("         SUBTOTAL......$", 100);
            //ticket.AgregarTotales("         IVA...........$", 10.04M);//La M indica que es un decimal en C#
            ticket.AgregarTotales("         TOTAL.........$", lista.AsEnumerable().Sum(o => o.precio));
            ticket.TextoIzquierda("");
            // ticket.AgregarTotales("         EFECTIVO......$", 200);
            // ticket.AgregarTotales("         CAMBIO........$", 0);

            //Texto final del Ticket.
            //ticket.TextoIzquierda("");
            //ticket.TextoIzquierda("ARTÍCULOS VENDIDOS: 3");
            ticket.TextoIzquierda("");
            ticket.TextoCentro("¡GRACIAS POR SU COMPRA!");
            ticket.CortaTicket();
            ticket.ImprimirTicket("Microsoft XPS Document Writer");//Nombre de la impresora ticketera

            if (numeroDetalle <= 9999999)
            {
                numeroDetalle++;
            }
            else if (numeroTickt <= 999)
            {
                numeroTickt++;
                numeroDetalle = 1;
            }
            else
            {
                numeroTickt   = 1;
                numeroDetalle = 1;
            }
        }
 private void MethodImprimir(string Titulo)
 {
     try
     {
         var vrVentaMedioPago  = new BSGR_VentaCuenta().GetReportVentaMedioPago(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja);
         var vrVentaCategoria  = new BSGR_VentaDetalle().GetReportVentaCategoria(ESGR_AperturaCierreCaja.IdAperturaCierreCaja);
         var vrVentaPedidoTipo = new BSGR_VentaCuenta().GetReportVentaPedidoTipo(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja);
         var vrVentaFormaPago  = new BSGR_VentaCuenta().GetReportVentaFormaPago(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja);
         var vrMovimientoCaja  = new BSGR_MovimientoCaja().GetReportMovimientoCaja(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja);
         var vrTotalDescuentos = new BSGR_VentaCuenta().GetTotalAdicionalDescuentos(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja, "GetTotalDescuento");
         var vrTotalAdicional  = new BSGR_VentaCuenta().GetTotalAdicionalDescuentos(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja, "GetTotalAdicional");
         var vrTotalPorEstado  = new BSGR_Estado().GetReportCollectionEstado(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja);
         var vrTotalPorPedido  = new BSGR_Venta().GetTotalPorPedido(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja);
         Thread.Sleep(2000);
         CrearTicket ticket = new CrearTicket();
         ticket.TextoCentro(SGRVariables.ESGR_Usuario.ESGR_Empresa.RazonSocial);
         ticket.TextoIzquierda("RUC: " + SGRVariables.ESGR_Usuario.ESGR_Empresa.Ruc);
         ticket.TextoIzquierda(SGRVariables.ESGR_Usuario.ESGR_Empresa.DireccionFiscal);
         ticket.TextoIzquierda(string.Empty);
         ticket.TextoCentro(Titulo.ToUpper());
         ticket.TextoIzquierda("Corte de " + ESGR_AperturaCierreCaja.ESGR_Caja.Descripcion);
         ticket.TextoIzquierda("DEL " + ESGR_AperturaCierreCaja.FechaApertura.ToString().ToUpper());
         ticket.TextoIzquierda(" AL " + ESGR_AperturaCierreCaja.FechaCierre.ToString().ToUpper());
         ticket.lineasIgual();
         ticket.TextoIzquierda(string.Empty);
         ticket.TextoCentro(ESGR_AperturaCierreCaja.ESGR_Caja.Descripcion);
         decimal dmlSaldoFinal = 0;
         vrVentaMedioPago.ToList().ForEach(x =>
         {
             ticket.TextoTriple("+ " + x.ESGR_MedioPago.MedioPago, ": " + x.ESGR_Moneda.Simbolo, x.Total.ToString("N3"));
             dmlSaldoFinal += x.Total;
         });
         vrMovimientoCaja.ToList().ForEach(x =>
         {
             ticket.TextoTriple(((x.ESGR_Motivo.Campo.Trim() == "ING") ? "+ " : "- ") + x.ESGR_Motivo.Motivo, ": " + x.ESGR_Moneda.Simbolo, x.Total.ToString("N3"));
             dmlSaldoFinal += ((x.ESGR_Motivo.Campo.Trim() == "ING") ? x.Total : (-1) * x.Total);
         });
         ticket.TextoExtremosAlineados(string.Empty, "________________");
         ticket.TextoTriple("=  SALDO FINAL", ": " + vrMovimientoCaja.FirstOrDefault().ESGR_Moneda.Simbolo, dmlSaldoFinal.ToString("N3"));
         ticket.TextoTriple("EFECTIVO FINAL", ": " + ColletionMDSGR_AperturaCajaDetalle.FirstOrDefault().SelectedESGR_Moneda.Simbolo, ColletionMDSGR_AperturaCajaDetalle.Sum(x => x.Monto_Cierre).ToString("N3"));
         ticket.TextoIzquierda(string.Empty);
         ticket.TextoCentro("FORMA DE PAGO VENTA");
         vrVentaFormaPago.ToList().ForEach(x => ticket.TextoTriple(x.ESGR_MedioPago.ESGR_FormaPago.FormaPago, ": " + x.ESGR_Moneda.Simbolo, x.Total.ToString("N3")));
         ticket.TextoIzquierda(string.Empty);
         ticket.lineasIgual();
         ticket.TextoCentro("VENTAS (INCLUYE IMPUESTO)");
         ticket.TextoCentro("POR CATEGORIA");
         vrVentaCategoria.ToList().ForEach(x =>
         {
             ticket.TextoTriple(x.ESGR_Producto.ESGR_ProductoSubCategoria.ESGR_ProductoCategoria.Categoria, ": " + x.ESGR_VentaCuenta.ESGR_Moneda.Simbolo, x.Importe.ToString("N3"));
         });
         ticket.TextoIzquierda(string.Empty);
         ticket.TextoCentro("POR TIPO DE SERVICIO");
         decimal dmlSubTotal = 0;
         vrVentaPedidoTipo.ToList().ForEach(x =>
         {
             ticket.TextoTriple(x.ESGR_Venta.ESGR_Pedido.ESGR_PedidoTipo.PedidoTipo, ": " + x.ESGR_Moneda.Simbolo, x.Total.ToString("N3"));
             dmlSubTotal += x.Total;
         });
         ticket.TextoExtremosAlineados(string.Empty, "________________");
         string strSimbolo = vrVentaPedidoTipo.FirstOrDefault().ESGR_Moneda.Simbolo;
         ticket.TextoTriple(" SUBTOTAL", ": " + strSimbolo, dmlSubTotal.ToString("N3"));
         ticket.TextoTriple("+ADICIONAL", ": " + strSimbolo, vrTotalAdicional.ToString("N3"));
         ticket.TextoTriple("-DESCUENTOS", ": " + strSimbolo, vrTotalDescuentos.ToString("N3"));
         decimal dmlVentaNeta = (dmlSubTotal - vrTotalDescuentos + vrTotalAdicional);
         ticket.TextoTriple(" VENTA NETA", ": " + strSimbolo, dmlVentaNeta.ToString("N3"));
         ticket.TextoExtremosAlineados(string.Empty, "________________");
         dmlVentaNeta = dmlVentaNeta / ((SGRVariables.ESGR_Retencion.IGV / 100) + 1);
         ticket.TextoTriple("VENTA     (" + SGRVariables.ESGR_Retencion.IGV.ToString("N2") + "%)", ": " + strSimbolo, dmlVentaNeta.ToString("N3"));
         decimal dmlImpuesto = dmlVentaNeta * (SGRVariables.ESGR_Retencion.IGV / 100);
         ticket.TextoTriple("IMPUESTO  (" + SGRVariables.ESGR_Retencion.IGV.ToString("N2") + "%)", ": " + strSimbolo, dmlImpuesto.ToString("N3"));
         ticket.TextoIzquierda(string.Empty);
         ticket.TextoTriple("IMPUESTO TOTAL", ": " + strSimbolo, dmlImpuesto.ToString("N3"));
         ticket.TextoExtremosAlineados(string.Empty, "________________");
         ticket.TextoTriple("VENTA CON IMP.", ": " + strSimbolo, (dmlVentaNeta + dmlImpuesto).ToString("N3"));
         ticket.TextoExtremosAlineados(string.Empty, "================");
         ticket.TextoIzquierda(string.Empty);
         ticket.lineasIgual();
         #region OPCIONAL
         //ticket.TextoExtremosAliniados("CUENTAS NORMALES", ": 0");
         //ticket.TextoExtremosAliniados("CUENTAS CANCELADOS", ": 0");
         //ticket.TextoExtremosAliniados("CUENTAS CON DESCUENTO", ": 0");
         //ticket.TextoExtremosAliniados("CUENTAS CON CORTESIA", ": 0");
         //ticket.TextoExtremosAliniados("CUENTA PROMEDIO", ": S/. 0.000");
         //ticket.TextoExtremosAliniados("CONSUMO PROMEDIO", ": S/. 0.000");
         //ticket.TextoExtremosAliniados("COMENSALES", ": 0");
         //ticket.TextoExtremosAliniados("PROPINAS", ": S/. 0.000");
         //ticket.TextoExtremosAliniados("CARGOS", ": S/. 0.000");
         //ticket.TextoExtremosAliniados("DESCUENTO MONEDERO", ": S/. 0.000");
         //ticket.TextoExtremos("FOLIO INICIAL", "828");
         //ticket.TextoExtremos("FOLIO FINAL", "890");
         //ticket.TextoExtremosAliniados("CORTESIA ALIMENTOS", ": S/. 0.000");
         //ticket.TextoExtremosAliniados("CORTESIA BEBIDAS", ": S/. 0.000");
         //ticket.TextoExtremosAliniados("CORTESIA OTROS", ": S/. 0.000");
         //ticket.TextoExtremosAliniados(string.Empty, "________________");
         //ticket.TextoExtremosAliniados("TOTAL CORTESIAS", ": S/. 0.000");
         //ticket.TextoExtremosAliniados("DESCUENTO ALIMENTOS", ": S/. 0.000");
         //ticket.TextoExtremosAliniados("DESCUENTO BEBIDAS", ": S/. 0.000");
         //ticket.TextoExtremosAliniados("DESCUENTO OTROS", ": S/. 0.000");
         //ticket.TextoExtremosAliniados(string.Empty, "________________");
         //ticket.TextoExtremosAliniados("TOTAL DESCUENTOS", ": S/. 0.000");
         #endregion
         ticket.TextoCentro("REPORTE DE PEDIDOS");
         ticket.lineasAsteriscos();
         ticket.TextoTriple("FOLIO INICIAL", ": ", vrTotalPorPedido.FirstOrDefault().ESGR_Pedido.IdPedido.ToString("00000#"));
         ticket.TextoTriple("FOLIO FINAL", ": ", vrTotalPorPedido.LastOrDefault().ESGR_Pedido.IdPedido.ToString("00000#"));
         ticket.TextoTriple("COMENSALES APROX.", ": ", vrTotalPorPedido.Sum(x => x.ESGR_Pedido.Cubierto).ToString("00#"));
         vrTotalPorEstado.ToList().ForEach(x => ticket.TextoTriple(x.Estado, ": ", x.Total.ToString("00#")));
         ticket.TextoIzquierda(string.Empty);
         ticket.TextoCentro("DECLARACION DE CAJERO");
         decimal dmlTotalCajero = 0;
         ColletionMDSGR_AperturaCajaDetalle.FirstOrDefault().CollectionESGR_MedioPago.ToList().ForEach(x =>
         {
             var dml = ColletionMDSGR_AperturaCajaDetalle.FirstOrDefault(y => y.SelectedESGR_MedioPago.IdMedioPago == x.IdMedioPago);
             ticket.TextoTriple(x.MedioPago, ": " + strSimbolo, ((dml == null) ? "0.000" : dml.Monto_Cierre.ToString("N3")));
             dmlTotalCajero += (dml == null) ? 0 : dml.Monto_Cierre;
         });
         ticket.TextoExtremosAlineados(string.Empty, "________________");
         ticket.TextoTriple("TOTAL", ": " + strSimbolo, dmlTotalCajero.ToString("N3"));
         ticket.TextoIzquierda(string.Empty);
         ticket.TextoIzquierda("SOBRANTE(+) O FALTANTE(-): ");
         decimal dmlCierre = dmlTotalCajero - (dmlVentaNeta + dmlImpuesto);
         ticket.TextoDerecha(strSimbolo + " " + ((dmlCierre < 0) ? string.Empty : "+") + dmlCierre.ToString("N3"));
         ticket.TextoIzquierda(string.Empty);
         ticket.TextoIzquierda(string.Empty);
         ticket.TextoExtremosAlineados("_________________", "_________________");
         ticket.TextoExtremosAlineados("     GERENTE", "     CAJERO");
         ticket.TextoIzquierda(string.Empty);
         ticket.TextoIzquierda(string.Empty);
         ticket.TextoCentro(SGRMessage.TitleMessage.ToUpper());
         ticket.TextoIzquierda(string.Empty);
         //Application.Current.Dispatcher.Invoke(() =>
         //{
         ticket.ImprimirTicket(SGRVariables.ImpresoraCaja);
         //});
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #12
0
        public override void Save()
        {
            bs.EndEdit();
            bsDoc.EndEdit();
            try
            {
                decimal total = 0;
                for (int i = 0; i <= dtDoc_Inv.Rows.Count - 1; i++) //no se puede con foreach por que al remover algunas filas daña las colas.
                {
                    DataRow drDIN = dtDoc_Inv.Rows[i];
                    if (!drDIN.HasVersion(DataRowVersion.Original) && drDIN["idInv"].Equals(DBNull.Value))
                    {
                        dtDoc_Inv.Rows.Remove(drDIN);
                        continue;
                    }
                    int     idInv    = TryInt(drDIN["idInv"]);
                    DataRow drInv    = dtInv.Rows.Find(idInv);
                    decimal cantidad = TryDec(drDIN["Cantidad"]);

                    decimal ExistenciaOri = TryDec(ExecuteScalar("SELECT Existencia FROM Inv WHERE idInv = " + gsql(idInv)));
                    decimal existenciaFut = ExistenciaOri - (cantidad - (drDIN.HasVersion(DataRowVersion.Original) ? TryDec(drDIN["Cantidad", DataRowVersion.Original]) : 0));
                    if (existenciaFut < 0)
                    {
                        ShowMsg("Uno o varios productos alcanzará un saldo negativo... corrígelo.", "Existencia Negativa", "error");
                        return;
                    }
                    else
                    {
                        drInv["Existencia"] = existenciaFut;
                    }
                    total += TryDec(drDIN["CostoT"]);;
                }

                dtDoc.Rows[0]["Total"] = total;

                if (chkPS.Checked)
                {
                    DataRow drDNI = null;
                    if (dtDNI.Rows.Count == 0)
                    {
                        drDNI             = dtDNI.NewRow();
                        drDNI["Cantidad"] = total;
                        drDNI["Saldo"]    = total - TryDec(txtAbono.Text);
                        dtDNI.Rows.Add(drDNI);
                    }
                    else
                    {
                        drDNI             = dtDNI.Rows[0];
                        drDNI["Cantidad"] = total;
                        drDNI["Saldo"]    = TryDec(versionOriginal(drDNI, "Saldo")) - TryDec(txtAbono.Text);
                    }
                }

                Update(ds);
                MessageBox.Show("Grabación Exitosa", "Información", MessageBoxButtons.OK);



                CrearTicket impresion = new CrearTicket();
                impresion.TextoIzquierda(" ");
                impresion.TextoCentro("Factura de Venta");
                impresion.TextoIzquierda(" ");
                impresion.TextoExtremos("FECHA : " + dtpFechaDoc.Text, "HORA : " + DateTime.Now.Hour.ToString());
                impresion.TextoIzquierda(" ");
                impresion.EncabezadoVenta();
                impresion.lineasGuio();

                foreach (DataRow dr in dtDoc_Inv.Rows)
                {
                    string  articulo = TryStr(dtProducto.Select("idProducto = " + gsql(dr["_idProducto"]))[0]["nomProducto"]) + " " + TryStr(dtCualidad.Select("idCualidad = " + gsql(dr["_idCualidad"]))[0]["nomCualidad"]) + " " + TryStr(dtTalla.Select("idTalla = " + gsql(dr["_idTalla"]))[0]["nomTalla"]);
                    int     cantidad = TryInt(dr["Cantidad"]);
                    decimal precio = TryDec(dr["CostoT"]), importe = 0;
                    impresion.AgregaArticulo(articulo, cantidad, precio, importe);
                }

                impresion.lineasIgual();
                impresion.AgregarTotales("          TOTAL         : $ ", total);
                //impresion.CortaTicket();

                impresion.ImprimirTicket("Enviar a OneNote 16");
                //impresion.ImprimirTicket("Microsoft Print to PDF");
                ds.Clear();
                New();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }