Example #1
0
        public void ObterDanfe()
        {
            var c1        = ObterConfiguracao();
            var cabecalho = new CabecalhoNFCe("Empresa DSBR BRasil", "32806205000155", "155731233", "10", "Rua Itacimirim loja 22",
                                              "São Paulo", "SP", "40620500");
            var dest      = new DestinatarioNFCe("", "", "");
            var pagamento = new PagamentoNFCe(120, 120, 120, 0.5,
                                              new List <FormPagNFCe> {
                new FormPagNFCe("Dinheiro", 120), new FormPagNFCe("Cartão Crédito", 23.56)
            });
            var produtos = new List <ProdutoNFCe>();

            for (var i = 0; i < 11; i++)
            {
                produtos.Add(new ProdutoNFCe(i.ToString(), $"Produto {i}", "UND", i, i * 2, i * 3));
            }
            var impostos    = new ImpostosNFCe(5, 6, 7);
            var infAdc      = new InfAdicNFCe("Informação");
            var urlConsulta = c1.ConfigServ.UrlsNFce.Homologacao.QrcodeConsulta;
            var corpo       = new CorpoNFCe(false, "00000", Status.Autorizada, produtos, true, pagamento, impostos, infAdc, "1", DateTime.Now,
                                            urlConsulta, "29190417784038000103650980000000011000000014", dest);
            var urlQrcode =
                "http://hnfe.sefaz.ba.gov.br/servicos/nfce/modulos/geral/NFCEC_consulta_chave_acesso.aspx?p=29190517784038000103650980000000011000000026|2|2|1|b72d0c7a8a2d5bd267287215216be079669162a7";
            var        rodape = new RodapeNFCe("5512006230010", urlQrcode, "Emissor Fiscal DSBR Brasil - www.dsbrbrasil.com.br");
            IDanfeHtml d1     = new DanfeNFCeHtml(TipoPapelNFCe.Mm80, cabecalho, corpo, rodape);
            var        doc    = d1.ObterDocHtml();

            Utils.EscreverArquivo("D:\\", "NFce", doc.Html);
        }
Example #2
0
        /// <summary>
        ///     Montar Rodape
        /// </summary>
        /// <param name="rodape"></param>
        /// <param name="corpo"></param>
        /// <returns></returns>
        private string MontarRodape(RodapeNFCe rodape, CorpoNFCe corpo)
        {
            string str1;
            var    str2 = "";

            switch (corpo.Status)
            {
            case Status.Autorizada:
                str1 = "";
                break;

            case Status.Cancelada:
                str1 = "NOTA FISCAL CANCELADA";
                break;

            case Status.NaoAuotorizada:
                str1 = "NOTA FISCAL DENEGADA";
                break;

            case Status.EsperandoAutorizacao:
                str1 = "PRÉ-VISUALIZAÇÃO";
                str2 = "SEM VALOR FISCAL";
                break;

            case Status.Negada:
                str1 = "NOTA FISCAL DENEGADA";
                break;

            case Status.Recusada:
                str1 = "SEM VALOR FISCAL";
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            if (!corpo.Producao)
            {
                str1 = "HOMOLOGAÇÃO";
                str2 = "SEM VALOR FISCAL";
            }

            var list = new Dictionary <string, string>();
            var msg  = corpo.Status == Status.Autorizada
                    ? ""
                    : "<div class=\\\"content100 bold\\\" style=\\\"float: none; margin: auto; text - align: center; margin - top: 10px; \\\">EMITIDA EM CONTINGÊNCIA<br/>Pendente de Autorização</div>";

            list.Add("#ContingencyMessage#", msg);
            var qrCode = MontarQrCode(rodape);

            list.Add("#QrCode#", qrCode);
            list.Add("#Protocol#", rodape.NumProt);
            list.Add("#Date#", corpo.DataEmissao.ToString("dd/MM/yyyy hh:mm:ss"));
            list.Add("#WaterMark#", str1);
            list.Add("#WithOutValue#", str2);
            list.Add("#Credit#", rodape.Creditos);

            return(LerTemplateEsubstituirTags(TemplateDanfeNFCe.Footer, list));
        }
Example #3
0
        public DanfeNFCeHtml(TipoPapelNFCe tipoPapel, CabecalhoNFCe cabecalho, CorpoNFCe corpo, RodapeNFCe rodape)

        {
            TipoPapel = tipoPapel;
            Cabecalho = cabecalho;
            Corpo     = corpo;
            Rodape    = rodape;
        }
Example #4
0
 /// <summary>
 ///     Montar QrCode
 /// </summary>
 /// <returns></returns>
 private string MontarQrCode(RodapeNFCe rodape, int pixelsPerModule = 25)
 {
     try
     {
         using (var qrCodeGenerator = new QRCodeGenerator())
         {
             return("data:image/png;base64, " +
                    new Base64QRCode(qrCodeGenerator.CreateQrCode(rodape.StrQrCode, QRCodeGenerator.ECCLevel.M))
                    .GetGraphic(pixelsPerModule));
         }
     }
     catch (Exception ex)
     {
         throw new InvalidOperationException($"Não foi possível gerar o QrCode\nRazão:{ex.Message}");
     }
 }