Exemplo n.º 1
0
        /// <summary>
        ///     Obtém a URL para montagem do QR-Code
        /// </summary>
        public static string ObterUrlQrCode(this infNFeSupl infNFeSupl, Classes.NFe nfe, VersaoQrCode versaoQrCode, string cIdToken, string csc)
        {
            var versaoServico = Conversao.StringParaVersaoServico(nfe.infNFe.versao);

            switch (versaoQrCode)
            {
            case VersaoQrCode.QrCodeVersao1:
                return(ObterUrlQrCode1(infNFeSupl, nfe, cIdToken, csc, versaoServico));

            case VersaoQrCode.QrCodeVersao2:
                return(ObterUrlQrCode2(infNFeSupl, nfe, cIdToken, csc, versaoServico));

            default:
                throw new ArgumentOutOfRangeException("versaoQrCode", versaoQrCode, null);
            }
        }
Exemplo n.º 2
0
 public EnderecoConsultaPublicaNfce(TipoAmbiente tipoAmbiente, Estado estado, TipoUrlConsultaPublica tipoUrlConsultaPublica, VersaoServico versaoServico, VersaoQrCode versaoQrCode, string url)
 {
     TipoAmbiente           = tipoAmbiente;
     Estado                 = estado;
     TipoUrlConsultaPublica = tipoUrlConsultaPublica;
     Url           = url;
     VersaoServico = versaoServico;
     VersaoQrCode  = versaoQrCode;
 }
Exemplo n.º 3
0
        /// <summary>
        ///     Obtém a URL de consulta pela chave
        /// </summary>
        public static string ObterUrlConsulta(this infNFeSupl infNFeSupl, Classes.NFe nfe, VersaoQrCode versaoQrCode)
        {
            var versaoServico = Conversao.StringParaVersaoServico(nfe.infNFe.versao);

            return(ObterUrl(infNFeSupl, nfe.infNFe.ide.tpAmb, nfe.infNFe.ide.cUF, TipoUrlConsultaPublica.UrlConsulta, versaoServico, versaoQrCode));
        }
Exemplo n.º 4
0
        /// <summary>
        ///     Obtém a URL para uso no DANFE da NFCe
        /// </summary>
        public static string ObterUrl(this infNFeSupl infNFeSupl, TipoAmbiente tipoAmbiente, Estado estado, TipoUrlConsultaPublica tipoUrlConsultaPublica, VersaoServico versaoServico, VersaoQrCode versaoQrCode)
        {
            var query = from qr in EndQrCodeNfce
                        where qr.TipoAmbiente == tipoAmbiente && qr.Estado == estado &&
                        qr.TipoUrlConsultaPublica == tipoUrlConsultaPublica && qr.VersaoServico == versaoServico &&
                        qr.VersaoQrCode == versaoQrCode
                        select qr.Url;
            var listaRetorno = query as IList <string> ?? query.ToList();
            var qtdeRetorno  = listaRetorno.Count();

            if (qtdeRetorno == 0)
            {
                throw new Exception(string.Format("Não foi possível obter o {0}, para o Estado {1}, ambiente: {2}", tipoUrlConsultaPublica.Descricao(), estado, tipoAmbiente.Descricao()));
            }
            if (qtdeRetorno > 1)
            {
                throw new Exception("A função ObterUrl obteve mais de um resultado!");
            }
            return(listaRetorno.FirstOrDefault());
        }
Exemplo n.º 5
0
        /// <summary>
        ///     Obtém a URL para montagem do QR-Code
        /// </summary>
        public static string ObterUrlQrCode(this infNFeSupl infNFeSupl, Classes.NFe nfe, VersaoQrCode versaoQrCode, string cIdToken, string csc)
        {
            Func <string, string> msgErro = parametro => $"O {parametro} não foi informado!";

            if (string.IsNullOrEmpty(cIdToken))
            {
                throw new ArgumentNullException(nameof(cIdToken), msgErro("token"));
            }

            if (string.IsNullOrEmpty(csc))
            {
                throw new ArgumentNullException(nameof(cIdToken), msgErro("CSC"));
            }

            var versaoServico = Conversao.StringParaVersaoServico(nfe.infNFe.versao);

            switch (versaoQrCode)
            {
            case VersaoQrCode.QrCodeVersao1:
                return(ObterUrlQrCode1(infNFeSupl, nfe, cIdToken, csc, versaoServico));

            case VersaoQrCode.QrCodeVersao2:
                return(ObterUrlQrCode2(infNFeSupl, nfe, cIdToken, csc, versaoServico));

            default:
                throw new ArgumentOutOfRangeException("versaoQrCode", versaoQrCode, null);
            }
        }
Exemplo n.º 6
0
 public DanfeNativoNfce(string xml, VersaoQrCode versaoQrCode, byte[] logo, string cIdToken, string csc, decimal troco = decimal.Zero, decimal totalPago = decimal.Zero, string font = null, bool viaEstabelecimento = false)
 {
     Inicializa(xml, versaoQrCode, logo, cIdToken, csc, troco, totalPago, font);
 }
Exemplo n.º 7
0
 public ConfiguracaoDanfeNfce(NfceDetalheVendaNormal detalheVendaNormal,
                              NfceDetalheVendaContigencia detalheVendaContigencia, byte[] logomarca = null,
                              bool imprimeDescontoItem        = false, float margemEsquerda = 4.5F, float margemDireita = 4.5F,
                              NfceModoImpressao modoImpressao = NfceModoImpressao.MultiplasPaginas,
                              bool documentoCancelado         = false, NfceLayoutQrCode nfceLayoutQrCode = NfceLayoutQrCode.Abaixo, VersaoQrCode versaoQrCode = VersaoQrCode.QrCodeVersao1)
 {
     DocumentoCancelado      = documentoCancelado;
     DetalheVendaNormal      = detalheVendaNormal;
     DetalheVendaContigencia = detalheVendaContigencia;
     Logomarca           = logomarca;
     ImprimeDescontoItem = imprimeDescontoItem;
     MargemEsquerda      = margemEsquerda;
     MargemDireita       = margemDireita;
     ModoImpressao       = modoImpressao;
     NfceLayoutQrCode    = nfceLayoutQrCode;
     CarregarFontePadraoNfceNativa();
     VersaoQrCode           = versaoQrCode;
     SegundaViaContingencia = true;
 }