/// <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); } }
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; }
/// <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)); }
/// <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()); }
/// <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); } }
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); }
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; }