/// <summary> /// Imprime el ticket /// </summary> /// <param name="printTicketCabecerasResponse"></param> /// <param name="detalle"></param> /// <param name="folio"></param> private void InternalPrint(PrintTicketCabecerasResponse printTicketCabecerasResponse, PrintTicketItem[] detalle, string folio) { string body = GenerateBody(detalle); PrintTicketSaveRequest printTicketSaveRequest = new PrintTicketSaveRequest(); printTicketSaveRequest.FolioOperacion = folio; printTicketSaveRequest.CodigoTienda = detalle.First().CodigoTienda; printTicketSaveRequest.CodigoCaja = detalle.First().CodigoCaja; printTicketSaveRequest.TipoTicket = 1; printTicketSaveRequest.Cuerpo = body; // OperationResponse saveResponse = repository.SaveTicket(printTicketSaveRequest); Printer.PrintBitmap(PrinterStation.Receipt, @"C:\Users\darth\Downloads\Logo_808042.jpg", PosPrinter.PrinterBitmapAsIs, PosPrinter.PrinterBitmapCenter); Printer.PrintNormal(PrinterStation.Receipt, "\x1B|cA" + printTicketCabecerasResponse.Cabecera.Replace("\\n", "\n")); Printer.PrintNormal(PrinterStation.Receipt, "__________________________________________\x1B|3lF"); Printer.PrintNormal(PrinterStation.Receipt, body); Printer.PrintNormal(PrinterStation.Receipt, "\x1B|3lF__________________________________________"); Printer.PrintNormal(PrinterStation.Receipt, "\x1B|cA" + printTicketCabecerasResponse.Footer.Replace("\\n", "\n")); PrintBarCode(printTicketCabecerasResponse.FolioVenta); Printer.PrintNormal(PrinterStation.Receipt, "\x1B|5lF"); Close(); }
/// <summary> /// Trae las cabeceras del ticket /// </summary> /// <param name="folioVenta">Folio de la venta a imprimir</param> /// <returns></returns> public PrintTicketCabecerasResponse GetHeaders(string folioVenta) { PrintTicketCabecerasResponse printTicketCabecerasResponse = new PrintTicketCabecerasResponse(); var parameters = new Dictionary <string, object>(); parameters.Add("@FolioOperacion", folioVenta); foreach (var c in data.GetDataReader("dbo.sp_vanti_GetHeadersTicket", parameters)) { printTicketCabecerasResponse.FolioVenta = c.GetValue(0).ToString(); printTicketCabecerasResponse.Cabecera = c.GetValue(1).ToString(); printTicketCabecerasResponse.Footer = c.GetValue(2).ToString(); printTicketCabecerasResponse.Tipo = c.GetValue(3).ToString(); printTicketCabecerasResponse.NombreImpresora = c.GetValue(4).ToString(); } return(printTicketCabecerasResponse); }
/// <summary> /// Manda a imprimer el ticket /// </summary> /// <param name="folio">Cadena del ticket que va a recibir</param> public void Print(string folio) { // PrintTicketResponse printTicketResponse = repository.getTicket(folio); PrintTicketCabecerasResponse printTicketCabecerasResponse = repository.GetHeaders(folio); PrintTicketItem[] detalle = repository.GetDetalleVenta(folio); if (printTicketCabecerasResponse.Cabecera != null && printTicketCabecerasResponse.Footer != null && printTicketCabecerasResponse.NombreImpresora != null) { this.PrinterName = printTicketCabecerasResponse.NombreImpresora; Printer.AsyncMode = false; InternalPrint(printTicketCabecerasResponse, detalle, folio); } else { Close(); return; } }