Ejemplo n.º 1
0
        public override bool VenderItem(SituacaoTributaria cargaTributaria, TipoProduto tipoProduto, decimal quantidade, decimal precoUnitario,
                                        TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorDescontoAcressimo, int codigoItem, string unidadeMedida,
                                        string descricaoItem, decimal tributacao)
        {
            string aliquota;

            if (tributacao == 0 && cargaTributaria == SituacaoTributaria.Tributado)
            {
                aliquota = "I";
            }
            else
            {
                aliquota = PrefixoImposto(cargaTributaria, tipoProduto)
                           + FormataPercentual(tributacao);
            }
            if (cargaTributaria == SituacaoTributaria.SubstituicaoTributaria ||
                cargaTributaria == SituacaoTributaria.Isento ||
                cargaTributaria == SituacaoTributaria.NaoTributado)
            {
                aliquota = PrefixoImposto(cargaTributaria, tipoProduto);
            }
            Declaracoes.iRetorno = Declaracoes.iCFVender_ECF_Daruma(
                aliquota,
                AjustarCasasDecimais(FormataNumero(quantidade).ToString(), 3),
                AjustarCasasDecimais(FormataNumero(precoUnitario).ToString(), 2),
                AjustarCasasDecimais(TipoDescontoAcressimoToString(tipoDescontoAcressimo).ToString(), 2),
                AjustarCasasDecimais(FormataNumero(valorDescontoAcressimo).ToString(), 2),
                codigoItem.ToString(CultureInfo.InvariantCulture),
                unidadeMedida,
                descricaoItem
                );
            return(TrataRetorno(Declaracoes.iRetorno));
        }
Ejemplo n.º 2
0
        public override bool AbrirCupom(ClienteCupom cliente)
        {
            var buf = new StringBuilder();
            var ret = 0;

            if (!TrataRetorno(Declaracoes.rCFVerificarStatus_ECF_Daruma(buf, ref ret)))
            {
                return(false);
            }
            if (cliente.CpfCnpj == null)
            {
                cliente.CpfCnpj = "";
            }
            if (cliente.Nome == null)
            {
                cliente.Nome = "";
            }
            if (cliente.Endereco == null)
            {
                cliente.Endereco = "";
            }
            var status = IntToStatusCupomFiscal(ret);

            if (status != StatusCupomFiscal.Fechado)
            {
                MessageBox.Show("Já existe um cupom fiscal aberto.\n" +
                                "O mesmo será cancelado.");
                CancelarCupom();
            }
            Declaracoes.iRetorno = Declaracoes.iCFAbrir_ECF_Daruma(
                cliente.CpfCnpj,
                cliente.Nome,
                cliente.Endereco);
            return(TrataRetorno(Declaracoes.iRetorno));
        }
Ejemplo n.º 3
0
        private bool declaracao_r(ref Declaracoes declr_r)
        {
            int          guarda = index;
            Declaracao_r decls  = new Declaracao_r();

            decls.d1 = new Declaracao();

            if (declaracao(ref decls.d1))
            {
                if (declaracao_r(ref decls.d2))
                {
                    declr_r = decls;
                    return(true);
                }
            }

            index = guarda;
            Declaracao decl = new Declaracao();

            if (declaracao(ref decl))
            {
                declr_r = decl;
                return(true);
            }
            return(false);
        }
Ejemplo n.º 4
0
        private void ImprimirDaruma(string sLinkQRCode, string PathXMLEntrada, string PathXMLSaida)
        {
            try
            {
                int iNumColunas, iTipoNF, iRetorno;

                iNumColunas = Convert.ToInt32(48);
                string sTipoNF = "1";
                iTipoNF = 1;

                //if (sTipoNF == "1=NFCe"){iTipoNF = 1;}
                //if (sTipoNF == "2=NFe") { iTipoNF = 2; }
                //if (sTipoNF == "3=NFSe") { iTipoNF = 3; }
                //if (sTipoNF == "4=CTe") { iTipoNF = 4; }
                //if (sTipoNF == "5=CANCNFCe") { iTipoNF = 5; }

                iRetorno = Declaracoes.iCFImprimir_NFCe_Daruma(PathXMLEntrada, PathXMLSaida, sLinkQRCode, iNumColunas, iTipoNF);
                string strMsgRetorno = Declaracoes.TrataRetorno(iRetorno);
                MessageBox.Show("Retorno do método: " + strMsgRetorno, "DarumaFramework - NFCe", MessageBoxButtons.OK);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro técnico: " + ex.Message);
            }
        }
Ejemplo n.º 5
0
        public override IList <Aliquota> ExibeAliquotasCadastradas()
        {
            var buf = new StringBuilder();
            var ret = new List <Aliquota>();

            TrataRetorno(Declaracoes.rLerAliquotas_ECF_Daruma(buf));
            var aliquotas = buf.ToString().Split(';');

            foreach (var aliquota in aliquotas)
            {
                Bematech.Fiscal.ECF.Informacoes.Aliquota.TipoAliquota tipo;
                if (aliquota.Contains("S"))
                {
                    tipo = Bematech.Fiscal.ECF.Informacoes.Aliquota.TipoAliquota.ISS;
                }
                else
                {
                    tipo = Bematech.Fiscal.ECF.Informacoes.Aliquota.TipoAliquota.ICMS;
                }
                ret.Add(new Aliquota()
                {
                    TipoAliquota = tipo,
                    Valor        = aliquota
                });
            }
            return(ret);
        }
Ejemplo n.º 6
0
 public override bool ImprimirTef()
 {
     Declaracoes.iRetorno = Declaracoes.iTEF_ImprimirResposta_ECF_Daruma(
         ArquivoTefSolicitacao, true);
     DestravaTeclado();
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 7
0
        private bool declaracoes(Declaracoes decls)
        {
            // tenta executar => <declaracoes> := <declaracoes> <declaracao>
            int          guarda  = index; // armazena o index
            Declaracao_r decls_r = new Declaracao_r();

            decls_r.d1 = new Declaracao();

            if (declaracao(ref decls_r.d1))
            {
                if (declaracao_r(ref decls_r.d2))
                {
                    decls = decls_r;
                    return(true);
                }
            }

            //executa <declaracoes> := <declaracao>
            index = guarda;
            Declaracao decl = new Declaracao();

            if (declaracao(ref decl))
            {
                decls = decl;
                return(true);
            }

            return(false);
        }
Ejemplo n.º 8
0
 public override bool EncerrarCupom(string mensagem)
 {
     Declaracoes.iRetorno = Declaracoes.iCFEncerrarConfigMsg_ECF_Daruma(
         mensagem
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 9
0
        public override bool IdentificaConsumidor(ClienteCupom cliente)
        {
            var  buf     = new StringBuilder();
            var  ret     = 0;
            bool retorno = true;

            retorno = TrataRetorno(Declaracoes.rCFVerificarStatus_ECF_Daruma(buf, ref ret));
            if (!retorno)
            {
                return(false);
            }
            var status = IntToStatusCupomFiscal(ret);

            if (status != StatusCupomFiscal.Fechado)
            {
                MessageBox.Show("Já existe um cupom fiscal aberto.\n" +
                                "O mesmo será cancelado.");
                CancelarCupom();
            }
            if (status != StatusCupomFiscal.Fechado)
            {
                return(AbrirCupom(cliente));
            }
            else
            {
                return(TrataRetorno(Declaracoes.iCFIdentificarConsumidor_ECF_Daruma(
                                        cliente.CpfCnpj,
                                        cliente.Nome,
                                        cliente.Endereco
                                        )));
            }
        }
Ejemplo n.º 10
0
 public override bool CancelarUltimoItemParcial(decimal quantidade)
 {
     Declaracoes.iRetorno = Declaracoes.iCFCancelarUltimoItemParcial_ECF_Daruma(
         AjustarCasasDecimais(FormataNumero(quantidade).ToString(), 3)
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 11
0
 public override bool CancelaAcressimoItem(int numeroItem)
 {
     Declaracoes.iRetorno = Declaracoes.iCFCancelarAcrescimoItem_ECF_Daruma(
         numeroItem.ToString(CultureInfo.InvariantCulture)
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 12
0
        public override bool ImprimeRelatorioGerencial(string texto)
        {
            var ret = TrataRetorno(Declaracoes.iRGAbrirPadrao_ECF_Daruma());

            //if (ret)
            //{
            ret = TrataRetorno(Declaracoes.iRGImprimirTexto_ECF_Daruma(texto));
            if (ret)
            {
                return(TrataRetorno(Declaracoes.iRGFechar_ECF_Daruma()));
            }
            return(true);
            //var newLine = new[] { Environment.NewLine };
            //var slipt = texto.Split();
            //foreach (var s in slipt)
            //{
            //    ret = TrataRetorno(Declaracoes.iRGImprimirTexto_ECF_Daruma(texto));
            //    if (!ret)
            //    {
            //        ret = TrataRetorno(Declaracoes.iRGFechar_ECF_Daruma());
            //        return ret;
            //    }
            //}

            //}
            //ret = TrataRetorno(Declaracoes.iRGFechar_ECF_Daruma());
            //return ret;
        }
Ejemplo n.º 13
0
 public override bool ImprimeReducaoZ()
 {
     Declaracoes.iRetorno = Declaracoes.iReducaoZ_ECF_Daruma(
         FormataData(DateTime.Now),
         FormataHora(DateTime.Now)
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 14
0
 public override bool Suprimento(decimal valor, string mensagem)
 {
     Declaracoes.iRetorno = Declaracoes.iSuprimento_ECF_Daruma(
         AjustarCasasDecimais(FormataNumero(valor).ToString(), 2),
         mensagem
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 15
0
 public override bool LancarAcressimoUltimoItem(TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorAcressimo)
 {
     Declaracoes.iRetorno = Declaracoes.iCFLancarAcrescimoUltimoItem_ECF_Daruma(
         TipoDescontoAcressimoToString(tipoDescontoAcressimo),
         AjustarCasasDecimais(FormataNumero(valorAcressimo).ToString(), 2)
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 16
0
 public override bool EncerrarCupom(CupomFiscalAdicional cupomFiscalAdicional, string mensagem)
 {
     Declaracoes.iRetorno = Declaracoes.iCFEncerrar_ECF_Daruma(
         CupomFiscalAdicionalToString(cupomFiscalAdicional),
         mensagem
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 17
0
 public override bool EfetuarPagamento(string formaPagamento, decimal valor)
 {
     Declaracoes.iRetorno = Declaracoes.iCFEfetuarPagamentoFormatado_ECF_Daruma(
         formaPagamento,
         AjustarCasasDecimais(FormataNumero(valor).ToString(), 2)
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 18
0
 public override bool TotalizarCupomFiscal(TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorDescontoAcressimo)
 {
     Declaracoes.iRetorno = Declaracoes.iCFTotalizarCupom_ECF_Daruma(
         TipoDescontoAcressimoToString(tipoDescontoAcressimo),
         AjustarCasasDecimais(FormataNumero(valorDescontoAcressimo).ToString(), 2)
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 19
0
 public override bool CancelaItemParcial(int numeroItem, decimal quantidade)
 {
     Declaracoes.iRetorno = Declaracoes.iCFCancelarItemParcial_ECF_Daruma(
         numeroItem.ToString(CultureInfo.InvariantCulture),
         AjustarCasasDecimais(FormataNumero(quantidade).ToString(), 3)
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 20
0
        public override decimal SubTotalCupomFiscal()
        {
            var ret = new StringBuilder();

            Declaracoes.iRetorno = Declaracoes.rCFSubTotal_ECF_Daruma(
                ret);
            TrataRetorno(Declaracoes.iRetorno);
            return(ToDecimal(ret.ToString()));
        }
Ejemplo n.º 21
0
 public override bool LancarAcressimoItem(int numeroItem, TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorAcressimo)
 {
     Declaracoes.iRetorno = Declaracoes.iCFLancarAcrescimoItem_ECF_Daruma(
         numeroItem.ToString(CultureInfo.InvariantCulture),
         TipoDescontoAcressimoToString(tipoDescontoAcressimo),
         AjustarCasasDecimais(FormataNumero(valorAcressimo).ToString(), 2)
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 22
0
 public override bool ArquivoMfdCrz(int inicio, int fim)
 {
     return(TrataRetorno(Declaracoes.rGerarRelatorio_ECF_Daruma(
                             "MFD",
                             "COO",
                             inicio.ToString(CultureInfo.InvariantCulture),
                             fim.ToString(CultureInfo.InvariantCulture)
                             )));
 }
Ejemplo n.º 23
0
 public override bool ImprimeLeituraX(decimal caixaInicial)
 {
     if (TrataRetorno(Declaracoes.iLeituraX_ECF_Daruma()))
     {
         return
             (TrataRetorno(Declaracoes.iSuprimento_ECF_Daruma(FormataNumero(caixaInicial).ToString(),
                                                              "LANCAMENTO iNICIAL")));
     }
     return(false);
 }
Ejemplo n.º 24
0
 public override bool ExtornarPagamento(string formaPagamentoEstornado, string formaPagamento, decimal valor, string informacaoAdicional)
 {
     Declaracoes.iRetorno = Declaracoes.iEstornarPagamento_ECF_Daruma(
         formaPagamentoEstornado,
         formaPagamento,
         AjustarCasasDecimais(FormataNumero(valor).ToString(), 2),
         informacaoAdicional
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
Ejemplo n.º 25
0
        public override DateTime DataUltimaReducaoZ()
        {
            var buf = new StringBuilder();

            if (TrataRetorno(Declaracoes.rRetornarInformacao_ECF_Daruma("140", buf)))
            {
                return(ToDate(buf.ToString().Split(';')[0]));
            }
            return(new DateTime(1));
        }
Ejemplo n.º 26
0
        public override DateTime DataMovimento()
        {
            var buf = new StringBuilder();

            if (TrataRetorno(Declaracoes.rRetornarInformacao_ECF_Daruma("70", buf)))
            {
                return(ToDate(buf.ToString().Substring(0, 8)));
            }
            return(new DateTime(1));
        }
Ejemplo n.º 27
0
        public override sealed void ReducaoZPendente()
        {
            var buf = new StringBuilder();

            TrataRetorno(Declaracoes.rVerificarReducaoZ_ECF_Daruma(buf));
            if (buf.ToString().Equals("1"))
            {
                ImprimeReducaoZ();
            }
        }
Ejemplo n.º 28
0
 public override bool CadastrarAliquota(decimal aliquota, TipoAliquota tipoAliquota)
 {
     if (tipoAliquota == TipoAliquota.Icms)
     {
         return(TrataRetorno(Declaracoes.confCadastrar_ECF_Daruma("ALIQUOTA", FormataPercentual(aliquota), "|")));
     }
     else
     {
         return(TrataRetorno(Declaracoes.confCadastrar_ECF_Daruma("ALIQUOTA", "S" + FormataPercentual(aliquota), "|")));
     }
 }
Ejemplo n.º 29
0
        public override bool TotalIcmsIssUltimoCupom(ref decimal icms, ref decimal iss)
        {
            var retIcms = new StringBuilder();
            var retIss  = new StringBuilder();

            Declaracoes.iRetorno = Declaracoes.rCMEfetuarCalculo_ECF_Daruma(
                retIss,
                retIcms
                );
            return(TrataRetorno(Declaracoes.iRetorno));
        }
Ejemplo n.º 30
0
        public override bool EspelhoMfdData(DateTime inicio, DateTime fim)
        {
            var i = FormataDataPadraoPaf(inicio);
            var f = FormataDataPadraoPaf(fim);

            return(TrataRetorno(Declaracoes.rGerarRelatorio_ECF_Daruma(
                                    "ESPELHO",
                                    "DATAM",
                                    i,
                                    f)));
        }