コード例 #1
0
        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 { }
        }