//Este método já recebe o pedido com os itens filtrados somente para a porta desejada public ServiceResultViewModel ImprimeItensProducao(PedidoViewModel pedido) { //declaração da variável para retorno das funções int iRetorno = 0; List <PortaPedido> portasPedido = DividePorPorta(pedido); ServiceResultViewModel result = new ServiceResultViewModel { Succeeded = true, Errors = new List <string>(), data = null }; ImpressaoBematech4200 MP2032 = new ImpressaoBematech4200(); string comandoQuebraLinha = "\r\n"; //imprime os pedidos nas impressoras de produção try { //Função para configurar o modelo da impressora iRetorno = ImpressaoBematech4200.ConfiguraModeloImpressora((int)ImpressaoBematech4200.ModeloImpressora.MP4200TH); if (iRetorno != 1) { throw new Exception("Parâmetro de modelo de impressora inválido. "); } foreach (var portaPedido in portasPedido) { bool sucesso = false; int count = 0; //Abrindo a porta while (!sucesso && count < 3) { iRetorno = ImpressaoBematech4200.IniciaPorta(portaPedido.Porta); if (iRetorno != 1) { //se falhou, aguarda 3 segundos para tentar novamente System.Threading.Thread.Sleep(3000); } else { sucesso = true; } count++; } if (!sucesso) { throw new Exception("Falha ao abrir a porta de impressão de produção " + portaPedido.Porta + "."); } iRetorno = ImpressaoBematech4200.SelecionaQualidadeImpressao((int)ImpressaoBematech4200.QualidadeImpressao.Baixa); switch (iRetorno) { case 0: throw new Exception("Falha na comunicação com a impressora na porta " + portaPedido.Porta + " ao definir a qualidade da impressão."); break; case -4: throw new Exception("Parâmetro inválido com a impressora na porta " + portaPedido.Porta + " ao definir a qualidade da impressão."); break; case -5: throw new Exception("Modelo de impressora inválido na porta " + portaPedido.Porta + " ao definir a qualidade da impressão."); break; } //CABECALHO string texto = "================================================"; texto += comandoQuebraLinha; texto += " PEDIDO DELIVERY NR " + pedido.CodPedido; texto += comandoQuebraLinha; texto += "================================================"; texto += comandoQuebraLinha; texto += DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); texto += comandoQuebraLinha; texto += "------------------------------------------------"; texto += comandoQuebraLinha; texto += "Produto Qtd"; texto += comandoQuebraLinha; texto += "------------------------------------------------"; texto += comandoQuebraLinha; //ImpressaoBematech4200.FormataTX("================================================", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.FormataTX(" PEDIDO DELIVERY NR " + pedido.CodPedido, (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.FormataTX("================================================", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaPedido.Porta); ////iRetorno = ImpressaoBematech4200.FormataTX("Restaurante " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado); //ImpressaoBematech4200.FormataTX(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaPedido.Porta); ////iRetorno = ImpressaoBematech4200.FormataTX("Comanda: XXXX", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Ativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado); ////iRetorno = ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length); //ImpressaoBematech4200.FormataTX("------------------------------------------------", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.FormataTX("Produto Qtd", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.FormataTX("------------------------------------------------", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaPedido.Porta); int i = 0; //ITENS foreach (ItemPedidoViewModel item in portaPedido.Itens) { texto += item.DescricaoItem + RetornaEspacosCompletar(item.DescricaoItem, PedidoBusiness.QtdMaximaCaracteresLinha, 2) + item.Quantidade.ToString("00"); texto += comandoQuebraLinha; //ImpressaoBematech4200.FormataTX(item.DescricaoItem + RetornaEspacosCompletar(item.DescricaoItem) + item.Quantidade.ToString("00"), (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaPedido.Porta); if (item.Obs != null && item.Obs.Count > 0) { var obsString = RetornaStringDeObs(item.Obs); //ImpressaoBematech4200.FormataTX("OBSERVACAO: ", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.FormataTX(obsString, (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Ativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaPedido.Porta); texto += "OBSERVACAO: "; texto += obsString; texto += comandoQuebraLinha; } if (item.extras != null && item.extras.Count > 0) { var extrasString = RetornaStringDeExtras(item.extras, false); //ImpressaoBematech4200.FormataTX("EXTRAS: ", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.FormataTX(extrasString, (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Ativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaPedido.Porta); texto += "EXTRAS: "; texto += extrasString; texto += comandoQuebraLinha; } if (i < pedido.Itens.Count) { //ImpressaoBematech4200.FormataTX("------------------------------------------------", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaPedido.Porta); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaPedido.Porta); texto += "------------------------------------------------"; texto += comandoQuebraLinha; } i = i + 1; } ImpressaoBematech4200.BematechTX(texto).ValidaRetornoImpressora(portaPedido.Porta); //Aciona a guilhotina para cortar o papel iRetorno = ImpressaoBematech4200.AcionaGuilhotina(1); switch (iRetorno) { case 0: throw new Exception("Falha na comunicação com a impressora na porta " + portaPedido.Porta + " ao acionar a guilhotina."); break; case -2: throw new Exception("Parâmetro inválido com a impressora na porta " + portaPedido.Porta + " ao acionar a guilhotina."); break; } //Fechar a porta utilizada iRetorno = ImpressaoBematech4200.FechaPorta(); if (iRetorno != 1) { throw new Exception("Falha ao fechar a porta de impressão de produção " + portaPedido.Porta + "."); } } } catch (Exception ex) { result.Succeeded = false; result.Errors.Add(ex.Message); ImpressaoBematech4200.FechaPorta(); } return(result); }
//Este método recebe o pedido completo para impressão da comanda public ServiceResultViewModel ImprimeComandaPedido(PedidoViewModel pedido) { //declaração da variável para retorno das funções int iRetorno = 0; pedido.DescricaoFormaPagamento = BrasaoUtil.getDescricaoFormaPagamentoPedido(pedido.FormaPagamento); ServiceResultViewModel result = new ServiceResultViewModel { Succeeded = true, Errors = new List <string>(), data = null }; ImpressaoBematech4200 MP2032 = new ImpressaoBematech4200(); string comandoQuebraLinha = "\r\n"; //imprime os pedidos nas impressoras de produção try { //Função para configurar o modelo da impressora iRetorno = ImpressaoBematech4200.ConfiguraModeloImpressora((int)ImpressaoBematech4200.ModeloImpressora.MP4200TH); if (iRetorno != 1) { throw new Exception("Parâmetro de modelo de impressora inválido. "); } if (pedido.PortaImpressaoComandaEntrega != "") { var portaComanda = pedido.PortaImpressaoComandaEntrega; bool sucesso = false; int count = 0; //Abrindo a porta while (!sucesso && count < 3) { iRetorno = ImpressaoBematech4200.IniciaPorta(portaComanda); if (iRetorno != 1) { //se falhou, aguarda 3 segundos para tentar novamente System.Threading.Thread.Sleep(3000); } else { sucesso = true; } count++; } if (!sucesso) { throw new Exception("Falha ao abrir a porta de impressão de produção " + portaComanda + "."); } iRetorno = ImpressaoBematech4200.SelecionaQualidadeImpressao((int)ImpressaoBematech4200.QualidadeImpressao.Baixa); switch (iRetorno) { case 0: throw new Exception("Falha na comunicação com a impressora na porta " + portaComanda + " ao definir a qualidade da impressão."); break; case -4: throw new Exception("Parâmetro inválido com a impressora na porta " + portaComanda + " ao definir a qualidade da impressão."); break; case -5: throw new Exception("Modelo de impressora inválido na porta " + portaComanda + " ao definir a qualidade da impressão."); break; } ImpressaoBematech4200.FormataTX(" RELATORIO GERENCIAL", (int)ImpressaoBematech4200.TipoLetraImpressao.Elite, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Ativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaComanda); ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaComanda); ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaComanda); //CABECALHO string texto = "================================================"; texto += comandoQuebraLinha; texto += " PEDIDO DELIVERY NR " + pedido.CodPedido; texto += comandoQuebraLinha; texto += "================================================"; texto += comandoQuebraLinha; texto += DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); texto += comandoQuebraLinha; texto += "Cliente: " + pedido.DadosCliente.Nome; texto += comandoQuebraLinha; texto += " NÃO É DOCUMENTO FISCAL "; texto += comandoQuebraLinha; texto += "Endereco: " + pedido.DadosCliente.Logradouro + ", " + pedido.DadosCliente.Numero; texto += comandoQuebraLinha; if (!String.IsNullOrEmpty(pedido.DadosCliente.Complemento)) { texto += "Complemento: " + pedido.DadosCliente.Complemento; texto += comandoQuebraLinha; } texto += "Bairro: " + pedido.DadosCliente.Bairro; texto += comandoQuebraLinha; texto += "Telefone: " + pedido.DadosCliente.Telefone; texto += comandoQuebraLinha; if (!String.IsNullOrEmpty(pedido.DadosCliente.Referencia)) { texto += pedido.DadosCliente.Referencia; texto += comandoQuebraLinha; } texto += "------------------------------------------------"; texto += comandoQuebraLinha; texto += "QTD DESCRICAO P.UNIT TOTAL "; texto += comandoQuebraLinha; texto += "------------------------------------------------"; texto += comandoQuebraLinha; int i = 0; //ITENS foreach (ItemPedidoViewModel item in pedido.Itens) { texto += FormataComEspacos(item.Quantidade.ToString("00"), 5) + FormataComEspacos(item.DescricaoItem, 24) + FormataComEspacos(item.PrecoUnitario.ToString("C"), 10) + FormataComEspacos(item.ValorTotalItem.ToString("C"), 9); texto += comandoQuebraLinha; //ImpressaoBematech4200.FormataTX(item.DescricaoItem + RetornaEspacosCompletar(item.DescricaoItem) + item.Quantidade.ToString("00"), (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaComanda); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaComanda); if (item.Obs != null && item.Obs.Count > 0) { var obsString = RetornaStringDeObs(item.Obs); //ImpressaoBematech4200.FormataTX("OBSERVACAO: ", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaComanda); //ImpressaoBematech4200.FormataTX(obsString, (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Ativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaComanda); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaComanda); texto += " OBSERVACAO: "; texto += obsString; texto += comandoQuebraLinha; } if (item.extras != null && item.extras.Count > 0) { var extrasString = RetornaStringDeExtras(item.extras, true); //ImpressaoBematech4200.FormataTX("EXTRAS: ", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaComanda); //ImpressaoBematech4200.FormataTX(extrasString, (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Ativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaComanda); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaComanda); texto += " EXTRAS: "; texto += extrasString; texto += comandoQuebraLinha; } if (i < pedido.Itens.Count) { //ImpressaoBematech4200.FormataTX("------------------------------------------------", (int)ImpressaoBematech4200.TipoLetraImpressao.Normal, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Desativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaComanda); //ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaComanda); texto += "------------------------------------------------"; texto += comandoQuebraLinha; } i = i + 1; } if (pedido.TaxaEntrega > 0) { var qtdTx = 1; texto += FormataComEspacos(qtdTx.ToString("00"), 5) + FormataComEspacos("Taxa entrega", 24) + FormataComEspacos(pedido.TaxaEntrega.ToString("C"), 10) + FormataComEspacos(pedido.TaxaEntrega.ToString("C"), 9); texto += comandoQuebraLinha; texto += "------------------------------------------------"; texto += comandoQuebraLinha; } ImpressaoBematech4200.BematechTX(texto).ValidaRetornoImpressora(portaComanda); texto = ""; ImpressaoBematech4200.FormataTX(" TOTAL: " + pedido.ValorTotal.ToString("C"), (int)ImpressaoBematech4200.TipoLetraImpressao.Elite, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Ativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaComanda); ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaComanda); if (pedido.ValorDesconto != null && pedido.ValorDesconto > 0) { texto += "Desconto: " + pedido.ValorDesconto.Value.ToString("C"); texto += comandoQuebraLinha; var valorComDesconto = pedido.ValorTotal - pedido.ValorDesconto.Value; texto += "Total c/ desconto: " + valorComDesconto.ToString("C"); texto += comandoQuebraLinha; } texto += "================================================"; texto += comandoQuebraLinha; texto += " NÃO É DOCUMENTO FISCAL "; texto += comandoQuebraLinha; texto += "================================================"; texto += comandoQuebraLinha; texto += " FORMA DE PAGAMENTO "; texto += comandoQuebraLinha; texto += pedido.DescricaoFormaPagamento; if (!String.IsNullOrEmpty(pedido.BandeiraCartao)) { texto += " - " + pedido.BandeiraCartao; texto += comandoQuebraLinha; } if (pedido.FormaPagamento == "D" && pedido.Troco != null) { texto += " - Troco: " + pedido.Troco.Value.ToString("C"); texto += comandoQuebraLinha; } texto += "================================================"; texto += comandoQuebraLinha; ImpressaoBematech4200.BematechTX(texto).ValidaRetornoImpressora(portaComanda); ImpressaoBematech4200.FormataTX(" AGUADE A EMISSAO", (int)ImpressaoBematech4200.TipoLetraImpressao.Elite, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Ativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaComanda); ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaComanda); ImpressaoBematech4200.FormataTX(" DO CUPOM FISCAL", (int)ImpressaoBematech4200.TipoLetraImpressao.Elite, (int)ImpressaoBematech4200.ItalicoImpressao.Desativado, (int)ImpressaoBematech4200.SublinhadoImpressao.Desativado, (int)ImpressaoBematech4200.ExpandidoImpressao.Ativado, (int)ImpressaoBematech4200.NegritoImpressao.Desativado).ValidaRetornoImpressora(portaComanda); ImpressaoBematech4200.ComandoTX(comandoQuebraLinha, comandoQuebraLinha.Length).ValidaRetornoImpressora(portaComanda); //Aciona a guilhotina para cortar o papel iRetorno = ImpressaoBematech4200.AcionaGuilhotina(1); switch (iRetorno) { case 0: throw new Exception("Falha na comunicação com a impressora na porta " + portaComanda + " ao acionar a guilhotina."); break; case -2: throw new Exception("Parâmetro inválido com a impressora na porta " + portaComanda + " ao acionar a guilhotina."); break; } //Fechar a porta utilizada iRetorno = ImpressaoBematech4200.FechaPorta(); if (iRetorno != 1) { throw new Exception("Falha ao fechar a porta de impressão de produção " + portaComanda + "."); } } } catch (Exception ex) { result.Succeeded = false; result.Errors.Add(ex.Message); ImpressaoBematech4200.FechaPorta(); } return(result); }