public void ImprimirBoFa(int nTicketId)
        {
            Process p;

            NotaEntregaLN oNotaEntregaLN = new NotaEntregaLN();
            Ticket oTicket = new Ticket();
            oTicket = oNotaEntregaLN.ObtenerDatosTicket(nTicketId);


            using (StreamWriter writer = new StreamWriter("C:\\ticket.txt", false, System.Text.Encoding.GetEncoding(850)))
            {

                CabeceraTicket(writer);



                writer.WriteLine("Fecha: " + ((DateTime)oTicket.oNotaEntrega.dFechaEntrega).ToString("dd/MM/yyyy").PadRight(19) + "Hora: " + ((DateTime)oTicket.oNotaEntrega.dFechaEntrega).ToString("HH:mm:ss"));
                writer.WriteLine("Equipo: PC-CAJA-01     Serie: " + oTicket.oImp.nImpSerie);
                writer.WriteLine("Usuario: " + ((Usuario)Session["Datos"]).cUsuNombre.PadRight(12) + "Ticket: " + oTicket.nTicketSerie.ToString().PadLeft(3, '0') + "-" + oTicket.nTicketCorrelativo.ToString().PadLeft(7, '0'));
                writer.WriteLine("");
                if (oTicket.oTicketTipo.cConstanteID == "1"){ writer.WriteLine("**************** BOLETA ****************");} else { writer.WriteLine("*************** FACTURA ****************"); }
                writer.WriteLine("");
                writer.WriteLine("Cantidad    Servicio    Precio   Importe");
                writer.WriteLine("".PadRight(40, '-'));

                foreach (var prod in oTicket.oNotaEntrega.ListaNotaEntProd)
                {
                    writer.WriteLine("- " + prod.oProd.cProdDesc);
                    writer.WriteLine(Cantidad(prod.nDetCantidad, prod.oProd.oProdMedida.cNombre, 7) + Servicios(prod.oProd.bProdSerLavado, prod.oProd.bProdSerSecado, prod.oProd.bProdSerPlanchado, 17) +
                                     prod.nProdPrecioUnit.ToString("#,##0.00").PadLeft(5) + prod.nDetImporte.ToString("#,##0.00").PadLeft(11));

                }

                writer.WriteLine("".PadRight(40, '-'));
                writer.WriteLine("SUB-TOTAL S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaSubTotal.ToString("#,##0.00").PadLeft(16));

                if (oTicket.oNotaEntrega.nNotaDescuento > 0)
                {
                    writer.WriteLine("DESCUENTO S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaDescuento.ToString("#,##0.00").PadLeft(16));
                }

                if (oTicket.oNotaEntrega.nNotaAnticipo > 0)
                {
                    writer.WriteLine("ANTICIPO S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaAnticipo.ToString("#,##0.00").PadLeft(16));
                }

                writer.WriteLine("TOTAL VENTA S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaMontoTotal.ToString("#,##0.00").PadLeft(16));
                writer.WriteLine("".PadRight(40, '-'));

                if (oTicket.oNotaEntrega.nNotaEfectivo > 0)
                {
                    writer.WriteLine("EFECTIVO S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaEfectivo.ToString("#,##0.00").PadLeft(16));
                    writer.WriteLine("VUELTO S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaCambio.ToString("#,##0.00").PadLeft(16));
                    writer.WriteLine("".PadRight(40, '-'));
                }

                writer.WriteLine("Nº Mov.   : " + oTicket.oMov.nMovNro.ToString().PadLeft(7, '0'));
                writer.WriteLine("");
                writer.WriteLine("Cliente   : " + oTicket.oNotaEntrega.oPers.cPersDesc.PadRight(18));

                if (oTicket.oNotaEntrega.oPers.cPersTipo == "N")
                {
                    writer.WriteLine("DNI       : " + oTicket.oNotaEntrega.oPers.cPersDOI.PadRight(18));
                }
                else
                {
                    writer.WriteLine("RUC       : " + oTicket.oNotaEntrega.oPers.cPersDOI.PadRight(18));
                }

                writer.WriteLine("Direccion : " + oTicket.oNotaEntrega.oPers.cPersDireccion.PadRight(18));
                writer.WriteLine("");
                writer.WriteLine("".PadRight(40, '-'));
                writer.WriteLine("    Muchas gracias por su preferencia   ");
                writer.WriteLine("         Lo esperamos nuevamente        ");
                writer.WriteLine("----------------------------------------");
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");

                writer.WriteLine(char.ConvertFromUtf32(27) + "i");
                writer.Close();

                using (StreamWriter writerBat = new StreamWriter("C:\\TicketBatch\\impresion.bat", false))
                {
                    writerBat.WriteLine("type C:\\ticket.txt > " + "LPT1");

                    writerBat.Close();
                }

                p = new Process();
                p.StartInfo.FileName = "C:\\TicketBatch\\impresion.bat";

                p.Start();
                p.Close();
                p.Dispose();


            }
        }
示例#2
0
        public Ticket ObtenerDatosTicket(int nTicketId)
        {
            try
            {
                Ticket oTicket = new Ticket();

                DbCommand oDbCommand = oDatabase.GetStoredProcCommand(Procedimiento.stp_sel_ObtenerDatosTicket);
                oDatabase.AddInParameter(oDbCommand, "@nTicketId", DbType.Int32, (object)nTicketId ?? DBNull.Value);

                using (IDataReader oIDataReader = oDatabase.ExecuteReader(oDbCommand))
                {
                    int inTicketSerie = oIDataReader.GetOrdinal("nTicketSerie");
                    int inTicketCorrelativo = oIDataReader.GetOrdinal("nTicketCorrelativo");
                    int inTicketTipo = oIDataReader.GetOrdinal("nTicketTipo");
                    int inMovNro = oIDataReader.GetOrdinal("nMovNro");
                    int idMovFecha = oIDataReader.GetOrdinal("dMovFecha");
                    int icMovUsuario = oIDataReader.GetOrdinal("cMovUsuario");
                    int inPersId = oIDataReader.GetOrdinal("nPersId");
                    int icPersTipo = oIDataReader.GetOrdinal("cPersTipo");
                    int icPersDesc = oIDataReader.GetOrdinal("cPersDesc");
                    int icPersDireccion = oIDataReader.GetOrdinal("cPersDireccion");
                    int icDOI = oIDataReader.GetOrdinal("cDOI");

                    int inNotaEntId = oIDataReader.GetOrdinal("nNotaEntId");
                    int idFechaEntrega = oIDataReader.GetOrdinal("dFechaEntrega");

                    int inNotaSubTotal = oIDataReader.GetOrdinal("nNotaSubTotal");
                    int inNotaAnticipo = oIDataReader.GetOrdinal("nNotaAnticipo");
                    int inNotaDescuento = oIDataReader.GetOrdinal("nNotaDescuento");
                    int inNotaEfectivo = oIDataReader.GetOrdinal("nNotaEfectivo");
                    int inNotaCambio = oIDataReader.GetOrdinal("nNotaCambio");
                    int inNotaMontoTotal = oIDataReader.GetOrdinal("nNotaMontoTotal");
                    int inNotaEstado = oIDataReader.GetOrdinal("nNotaEstado");
                    int icImpSerie = oIDataReader.GetOrdinal("cImpSerie");

                    while (oIDataReader.Read())
                    {
                        oTicket.nTicketSerie = DataUtil.DbValueToDefault<Int32>(oIDataReader[inTicketSerie]);
                        oTicket.nTicketCorrelativo = DataUtil.DbValueToDefault<Int32>(oIDataReader[inTicketCorrelativo]);
                        oTicket.oTicketTipo.cConstanteID = DataUtil.DbValueToDefault<String>(oIDataReader[inTicketTipo].ToString());
                        oTicket.oMov.nMovNro = DataUtil.DbValueToDefault<Int32>(oIDataReader[inMovNro]);
                        oTicket.oMov.dMovFecha = DataUtil.DbValueToDefault<DateTime>(oIDataReader[idMovFecha]);
                        oTicket.oMov.cUsuario = DataUtil.DbValueToDefault<String>(oIDataReader[icMovUsuario]);

                        oTicket.oNotaEntrega.oPers.nPersId = DataUtil.DbValueToDefault<Int32>(oIDataReader[inPersId]);
                        oTicket.oNotaEntrega.oPers.cPersTipo = DataUtil.DbValueToDefault<String>(oIDataReader[icPersTipo]);
                        oTicket.oNotaEntrega.oPers.cPersDesc = DataUtil.DbValueToDefault<String>(oIDataReader[icPersDesc]);
                        oTicket.oNotaEntrega.oPers.cPersDireccion = DataUtil.DbValueToDefault<String>(oIDataReader[icPersDireccion]);
                        oTicket.oNotaEntrega.oPers.cPersDOI = DataUtil.DbValueToDefault<String>(oIDataReader[icDOI]);

                        oTicket.oNotaEntrega.nNotaEntId = DataUtil.DbValueToDefault<Int32>(oIDataReader[inNotaEntId]);
                        oTicket.oNotaEntrega.dFechaEntrega = DataUtil.DbValueToDefault<DateTime>(oIDataReader[idFechaEntrega]);

                        oTicket.oNotaEntrega.nNotaSubTotal = DataUtil.DbValueToDefault<decimal>(oIDataReader[inNotaSubTotal]);
                        oTicket.oNotaEntrega.nNotaAnticipo = DataUtil.DbValueToDefault<decimal>(oIDataReader[inNotaAnticipo]);
                        oTicket.oNotaEntrega.nNotaDescuento = DataUtil.DbValueToDefault<decimal>(oIDataReader[inNotaDescuento]);
                        oTicket.oNotaEntrega.nNotaEfectivo = DataUtil.DbValueToDefault<decimal>(oIDataReader[inNotaEfectivo]);
                        oTicket.oNotaEntrega.nNotaCambio = DataUtil.DbValueToDefault<decimal>(oIDataReader[inNotaCambio]);

                        oTicket.oNotaEntrega.nNotaMontoTotal = DataUtil.DbValueToDefault<decimal>(oIDataReader[inNotaMontoTotal]);
                        oTicket.oNotaEntrega.oNotaEstado.cConstanteID = DataUtil.DbValueToDefault<String>(oIDataReader[inNotaEstado].ToString());
                        oTicket.oImp.nImpSerie = DataUtil.DbValueToDefault<String>(oIDataReader[icImpSerie]);

                        oTicket.oNotaEntrega.ListaNotaEntProd = ListaNotaEntProductos(oTicket.oNotaEntrega.nNotaEntId);
                    }
                }

                return oTicket;
            }
            catch (Exception)
            {

                throw;
            }
        }
        public void ImprimirNotaEntrega(int nNotaId)
        {
            Process p;

            NotaEntregaLN oNotaEntregaLN = new NotaEntregaLN();
            Ticket oTicket = new Ticket();
            oTicket = oNotaEntregaLN.ObtenerDatosNotaEntImp(nNotaId);


            using (StreamWriter writer = new StreamWriter("C:\\ticket.txt", false, System.Text.Encoding.GetEncoding(850)))
            {

                //writer.WriteLine("          LAVANDERIA CHUYACHUYA         ");
                //writer.WriteLine("           RUC: 2056727288057           ");
                //writer.WriteLine("  JR. MORONA Nº 441 - IQUITOS - MAYNAS  ");
                //writer.WriteLine("          Telefono: (065)242847         ");
                //writer.WriteLine("");
                CabeceraTicket(writer);

                writer.WriteLine("Fecha: " + ((DateTime)oTicket.oNotaEntrega.dFechaEntrega).ToString("dd/MM/yyyy").PadRight(19) + "Hora: " + ((DateTime)oTicket.oNotaEntrega.dFechaEntrega).ToString("HH:mm:ss"));
                writer.WriteLine("Equipo: PC-CAJA-01     Serie: " + "FFGF252758");
                writer.WriteLine("Usuario: " + ((Usuario)Session["Datos"]).cUsuNombre.PadRight(15) + "Nota Id: " + oTicket.oNotaEntrega.nNotaEntId.ToString().PadLeft(7));
                writer.WriteLine("");
                writer.WriteLine("*********** NOTA DE ENTREGA ************");
                writer.WriteLine("");
                writer.WriteLine("Cantidad    Servicio    Precio   Importe");
                writer.WriteLine("".PadRight(40, '-'));

                foreach (var prod in oTicket.oNotaEntrega.ListaNotaEntProd)
                {
                    writer.WriteLine("- " + prod.oProd.cProdDesc);
                    writer.WriteLine(Cantidad(prod.nDetCantidad,prod.oProd.oProdMedida.cNombre,7) + Servicios(prod.oProd.bProdSerLavado, prod.oProd.bProdSerSecado, prod.oProd.bProdSerPlanchado, 17) +
                                     prod.nProdPrecioUnit.ToString("#,##0.00").PadLeft(5) + prod.nDetImporte.ToString("#,##0.00").PadLeft(11));

                }

                writer.WriteLine("".PadRight(40, '-'));
                writer.WriteLine("SUB-TOTAL S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaSubTotal.ToString("#,##0.00").PadLeft(16));

                if (oTicket.oNotaEntrega.nNotaDescuento > 0)
                {
                    writer.WriteLine("DESCUENTO S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaDescuento.ToString("#,##0.00").PadLeft(16));
                }

                if (oTicket.oNotaEntrega.nNotaAnticipo > 0)
                {
                    writer.WriteLine("ANTICIPO S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaAnticipo.ToString("#,##0.00").PadLeft(16));
                }

                writer.WriteLine("TOTAL VENTA S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaMontoTotal.ToString("#,##0.00").PadLeft(16));
                writer.WriteLine("".PadRight(40, '-'));

                if (oTicket.oNotaEntrega.nNotaEfectivo > 0)
                {
                    writer.WriteLine("EFECTIVO S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaEfectivo.ToString("#,##0.00").PadLeft(16));
                    writer.WriteLine("VUELTO S/.".PadLeft(24) + oTicket.oNotaEntrega.nNotaCambio.ToString("#,##0.00").PadLeft(16));
                    writer.WriteLine("".PadRight(40, '-'));
                }

                writer.WriteLine("Nº Mov.   : " + oTicket.oMov.nMovNro.ToString().PadLeft(7,'0'));
                writer.WriteLine("");
                writer.WriteLine("Cliente   : " + oTicket.oNotaEntrega.oPers.cPersDesc.PadRight(18));

                if (oTicket.oNotaEntrega.oPers.cPersTipo == "N")
                {
                    writer.WriteLine("DNI       : " + oTicket.oNotaEntrega.oPers.cPersDOI.PadRight(18));
                }
                else
                {
                    writer.WriteLine("RUC       : " + oTicket.oNotaEntrega.oPers.cPersDOI.PadRight(18));
                }

                writer.WriteLine("Direccion : " + oTicket.oNotaEntrega.oPers.cPersDireccion.PadRight(18));
                writer.WriteLine("");
                writer.WriteLine("Fecha Entrega: " + Dia((DateTime)oTicket.oNotaEntrega.dFechaEntrega) + " " + ((DateTime)oTicket.oNotaEntrega.dFechaEntrega).ToString("dd/MM/yyyy hh:mm"));
                writer.WriteLine("".PadRight(40, '-'));
                writer.WriteLine("    Muchas gracias por su preferencia   ");
                writer.WriteLine("         Lo esperamos nuevamente        ");
                writer.WriteLine("".PadRight(40, '-'));
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");
                writer.WriteLine("");

                writer.WriteLine(char.ConvertFromUtf32(27) + "i");
                writer.Close();

                //using (StreamWriter writerBat = new StreamWriter("C:\\TicketBatch\\impresion.bat", false))
                //{
                //    writerBat.WriteLine("type C:\\ticket.txt > " + "LPT1");

                //    writerBat.Close();
                //}

                //p = new Process();
                //p.StartInfo.FileName = "C:\\TicketBatch\\impresion.bat";

                //p.Start();
                //p.Close();
                //p.Dispose();


            }
        }