public void imprimirComanda(int cod_impressora, VendaFull vend ) { try { impressora = new Banco().impressora(cod_impressora); Comanda cc = new Comanda(vend.cod_venda); // string pont = "|----------------------------------------------|"; string linha = "| ID da VENDA : " + vend.cod_venda; linha = linha.PadRight(47, ' '); linha += "|"; string[] VETOR1 = new string[vend.Completos.Length]; string[] VETOR2 = new string[vend.Completos.Length]; int ii = 0; int i = vend.Completos.Length; while (ii < i) { string ID = (ii + 1).ToString("000"); string CODPRODUTO = "" + vend.Completos[ii].produto[0].cod_produto.ToString("000"); // 3 string PRODUTO = new Banco().preencherNomeProdctAll(vend.Completos[ii].produto[0].cod_produto); // 3 if (vend.Completos[ii].produto.Length > 1) PRODUTO = "mista " + PRODUTO; //18 if(PRODUTO.Length > 18 ) PRODUTO = PRODUTO.Substring(0, 18); else PRODUTO = PRODUTO.PadRight(18,' '); string TAMANHO = new BancoInformacao().tamanhoDescricaoByCodigo(vend.Completos[ii].produto[0].cod_tamanho); // 9 if(TAMANHO.Length > 9 ) TAMANHO = TAMANHO.Substring(0, 9); else TAMANHO = TAMANHO.PadRight(9,' '); linha = "| "+ID+ " - "+ CODPRODUTO + " , "+ PRODUTO + " | " + TAMANHO + " |"; //48 VETOR1[ii] = linha; string QUANTIDADE = vend.Completos[ii].quantidade.ToString("0.000").PadRight(6, ' ');//6 string UNITARIO = (vend.Completos[ii].valorUnitario).ToString("0.00").PadRight(8, ' ');//8 string VALORSOMADO = ( vend.Completos[ii].quantidade * vend.Completos[ii].valorUnitario).ToString("0.00"); linha = ("| "+ QUANTIDADE + " X "+ UNITARIO+ " = "+ VALORSOMADO+"").PadRight(47,' ')+ "|";//48 VETOR2[ii] = linha; ii++; } string COMISSAO = ""; if (vend.valorComissao > 0) { COMISSAO = "COUVERT : " + String.Format("{0:C}", vend.valorComissao) + " |"; COMISSAO = "|" + COMISSAO.PadLeft(47, ' '); } string VALORCOMANDA; VALORCOMANDA = "VALOR TOTAL : " + String.Format("{0:C}", vend.valorSomado) + " |"; VALORCOMANDA = "|" + VALORCOMANDA.PadLeft(47, ' '); //rotina GARCON List<String> garcons = new List<string>(); for (int k = 0; k < vend.Completos.Length; k++) for (int l = 0; l < vend.Completos[k].garcons.Length; l++) { bool can = true; for (int m = 0; m < garcons.Count; m++) if (garcons[m] == vend.Completos[k].garcons[l].nome) can = false; if (can) garcons.Add(vend.Completos[k].garcons[l].nome); } int n = 0; string GARCON = "| GARCOM - "; while (n < garcons.Count) GARCON += garcons[n++] + " - "; if (GARCON.Length > 47) GARCON = GARCON.Substring(0, 47); GARCON = GARCON.PadRight(47, ' ') + "|"; string MESA = ""; for (int l = 0; l < vend.mesa.Length && l < 7; l++) MESA += "| " + vend.mesa[l] + " "; MESA = MESA.PadRight(47, ' ') + "|"; string CAIXA = "| CAIXA : " + new BancoVenda().nomeVendedor(vend.cod_caixa); CAIXA = CAIXA.PadRight(47, ' ') + "|"; string HORARIOVENDA = "| Abertura : " + vend.horario + " - Final : " + DateTime.Now.ToShortTimeString(); string LIMPO = "|"; LIMPO = LIMPO.PadRight(47, ' ') + "|"; HORARIOVENDA = HORARIOVENDA.PadRight(47, ' ') + "|"; string SUBLINADA = "|"; SUBLINADA = SUBLINADA.PadRight(47, '_') + "|"; //IMRESSAO MP2032.ConfiguraModeloImpressora(Convert.ToInt16(impressora.Rows[0].ItemArray.GetValue(2))); MP2032.IniciaPorta(impressora.Rows[0].ItemArray.GetValue(3).ToString());//se for internet a porta é o IP MP2032.AjustaLarguraPapel(48); MP2032.ImprimeBmpEspecial(Application.StartupPath + "logo.bmp", -1, -1, 0); inserirLinhaImpressao(pont, 0); inserirLinhaImpressao(cc.empresa, 0); inserirLinhaImpressao(cc.telefone, 0); inserirLinhaImpressao(pont, 0); inserirLinhaImpressao(cc.titulo, 0); inserirLinhaImpressao(pont, 0); inserirLinhaImpressao("| ID | CODIGO | DESCRICAO | CATEGORIA |", 0); inserirLinhaImpressao("| QTD Unid X VALOR Unit = SUB-TOTAL |", 0); inserirLinhaImpressao(pont, 0); for (int h = 0; h < VETOR1.Length; h++) { inserirLinhaImpressao(VETOR1[h], 0); inserirLinhaImpressao(VETOR2[h], 0); } inserirLinhaImpressao(pont, 0); if(vend.valorComissao >0) inserirLinhaImpressao(COMISSAO, 0); //IMPRESSAO DESDE VALOR ATE O FIM inserirLinhaImpressao(VALORCOMANDA, 1); inserirLinhaImpressao(pont, 0); inserirLinhaImpressao(GARCON, 0); inserirLinhaImpressao(MESA, 0); inserirLinhaImpressao(pont, 0); inserirLinhaImpressao(CAIXA, 0); inserirLinhaImpressao(pont, 0); inserirLinhaImpressao(HORARIOVENDA, 0); inserirLinhaImpressao(pont, 0); inserirLinhaImpressao(LIMPO, 0); inserirLinhaImpressao(cc.mensagem, 0); inserirLinhaImpressao(LIMPO, 0); inserirLinhaImpressao(cc.cidade, 0); inserirLinhaImpressao(cc.progNome, 0); inserirLinhaImpressao(cc.progTelefone, 0); inserirLinhaImpressao(SUBLINADA, 0); MP2032.AcionaGuilhotina(1); MP2032.FechaPorta(); } catch { } }