private void acBrTEFD_OnAntesCancelarTransacao(object sender, ACBrFramework.TEFD.AntesCancelarTransacaoEventArgs e)
 {
     if ((DataModule.ACBrECF.Estado.ToString() == "Venda") || (DataModule.ACBrECF.Estado.ToString() == "Pagamento"))
     {
         ECFUtil.CancelaCupom();
         CupomCancelado = true;
     }
     else if ((DataModule.ACBrECF.Estado.ToString() == "Relatorio"))
     {
         DataModule.ACBrECF.FechaRelatorio();
         PAFUtil.GravarR06("CC");
     }
     else
     {
         DataModule.ACBrECF.CorrigeEstadoErro(false);
     }
 }
        private void acBrTEFD_OnComandaECF(object sender, ACBrFramework.TEFD.ComandaECFEventArgs e)
        {
            string Mensagem = "";

            try
            {
                switch (e.Operacao)
                {
                case ACBrFramework.TEFD.OperacaoECF.AbreGerencial:
                {
                    DataModule.ACBrECF.AbreRelatorioGerencial();
                }
                break;

                case ACBrFramework.TEFD.OperacaoECF.CancelaCupom:
                {
                    ImpressaoOK = false;
                    try
                    {
                        ECFUtil.CancelaCupom();
                        CupomCancelado = true;
                    }
                    catch (Exception eError)
                    {
                        Log.write(eError.ToString());
                        CupomCancelado = false;
                    }
                } break;

                case ACBrFramework.TEFD.OperacaoECF.FechaCupom:
                {
                    if (Sessao.Instance.VendaAtual.IdEcfPreVendaCabecalho > 0)
                    {
                        Mensagem = "PV" + new string('0', 10 - Convert.ToString(Sessao.Instance.VendaAtual.IdEcfPreVendaCabecalho).Length) + Convert.ToString(Sessao.Instance.VendaAtual.IdEcfPreVendaCabecalho);
                    }
                    if (Sessao.Instance.VendaAtual.IdEcfDav > 0)
                    {
                        Mensagem = "DAV" + new string('0', 10 - Convert.ToString(Sessao.Instance.VendaAtual.IdEcfDav).Length) + Convert.ToString(Sessao.Instance.VendaAtual.IdEcfDav);
                    }
                    Mensagem = Caixa.MD5 + Mensagem + "\r" + "\n";
                    try
                    {
                        if (Sessao.Instance.Configuracao.EcfEmpresa.Uf == "MG")
                        {
                            Mensagem = Mensagem + "MINAS LEGAL:" +
                                       Sessao.Instance.Configuracao.EcfEmpresa.Cnpj.Substring(8, 1) + DataModule.ACBrECF.DataHora.ToString("ddMMyyyy");
                            if (Sessao.Instance.VendaAtual.ValorFinal >= 1)
                            {
                                Mensagem = Mensagem + Sessao.Instance.VendaAtual.ValorFinal.Value.ToString("0.00");
                            }
                            Mensagem = Mensagem + "\r" + "\n";
                        }
                        ECFUtil.FechaCupom(Mensagem + Sessao.Instance.Configuracao.MensagemCupom);
                    }
                    catch (Exception eError)
                    {
                        Log.write(eError.ToString());
                    }
                } break;

                case ACBrFramework.TEFD.OperacaoECF.SubTotalizaCupom:
                    SubTotalizaCupom();     //DataModule.ACBrECF.SubtotalizaCupom(0);
                    break;

                case ACBrFramework.TEFD.OperacaoECF.FechaVinculado:
                {
                    DataModule.ACBrECF.FechaRelatorio();
                    PAFUtil.GravarR06("CC");
                } break;

                case ACBrFramework.TEFD.OperacaoECF.PulaLinhas:
                {
                    DataModule.ACBrECF.PulaLinhas(DataModule.ACBrECF.LinhasEntreCupons);
                    DataModule.ACBrECF.CortaPapel(true);
                    Thread.Sleep(200);
                } break;
                }

                e.RetornoECF = true;
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
                e.RetornoECF = false;
            }
        }