Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions NFe.Danfe.AppTeste.QuestPdf/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
/********************************************************************************/

using Microsoft.Win32;
using NFe.Classes;
using NFe.Danfe.QuestPdf.ImpressaoNfce;
using QuestPDF.Fluent;
using QuestPDF.Infrastructure;
Expand Down Expand Up @@ -156,8 +155,7 @@ private static byte[] ConverterParaPngBytes(BitmapImage bitmap)

private void GerarDanfeNfce(string caminhoXml, TamanhoImpressao tamanho)
{
var proc = new nfeProc().CarregarDeArquivoXml(caminhoXml);
var xml = proc.ObterXmlString();
var xml = File.ReadAllText(caminhoXml);

var documento = new DanfeNfceDocument(xml, _logoMarcaBytes);
documento.TamanhoImpressao(tamanho);
Expand Down
52 changes: 47 additions & 5 deletions NFe.Danfe.QuestPdf/ImpressaoNfce/DanfeNfceDocument.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using DFe.Utils;
using NFe.Classes;
using NFe.Classes.Informacoes.Destinatario;
using NFe.Classes.Informacoes.Identificacao.Tipos;
using NFe.Classes.Informacoes.Pagamento;
using NFe.Utils;
using NFe.Utils.InformacoesSuplementares;
Expand Down Expand Up @@ -349,6 +350,27 @@ private void Rodape(IContainer container)

column.Item().LineHorizontal(1);

if (DeveExibirMensagemContingencia())
{
column.Item().Row(r =>
{
r.RelativeItem().AlignCenter().Column(c =>
{
c.Item().AlignCenter().Text("EMITIDA EM CONTINGÊNCIA").FontSize(_tamanhoFontePadrao).ExtraBlack();
});
});

column.Item().Row(r =>
{
r.RelativeItem().AlignCenter().Column(c =>
{
c.Item().AlignCenter().Text("Pendente de autorização").FontSize(_tamanhoFontePadrao).ExtraBlack();
});
});

column.Item().LineHorizontal(1);
}

column.Item().Row(r =>
{
r.RelativeItem().AlignCenter().Column(c =>
Expand All @@ -372,11 +394,18 @@ private void Rodape(IContainer container)
t.Cell().AlignCenter().Image(ImagemQrCode());
t.Cell().AlignLeft().Column(c =>
{
c.Item().Text($"Série: {_nfe.infNFe.ide.serie:D3}").FontSize(_tamanhoFontePadrao);
c.Item().Text($"Número: {_nfe.infNFe.ide.nNF:D9}").FontSize(_tamanhoFontePadrao);
c.Item().Text($"Emissão: {_nfeProc.NFe.infNFe.ide.dhEmi:G}").FontSize(_tamanhoFontePadrao);
c.Item().Text($"Protocolo: {_nfeProc.protNFe.infProt.nProt}").FontSize(_tamanhoFontePadrao);
c.Item().Text($"Autorização: {_nfeProc.protNFe.infProt.dhRecbto:G}").FontSize(_tamanhoFontePadrao);
if (_nfe?.infNFe?.ide != null)
{
c.Item().Text($"Série: {_nfe.infNFe.ide.serie:D3}").FontSize(_tamanhoFontePadrao);
c.Item().Text($"Número: {_nfe.infNFe.ide.nNF:D9}").FontSize(_tamanhoFontePadrao);
c.Item().Text($"Emissão: {_nfe.infNFe.ide.dhEmi:G}").FontSize(_tamanhoFontePadrao);
}

if (DeveExibirDadosProtocolo())
{
c.Item().Text($"Protocolo: {_nfeProc!.protNFe!.infProt.nProt}").FontSize(_tamanhoFontePadrao);
c.Item().Text($"Autorização: {_nfeProc!.protNFe!.infProt.dhRecbto:G}").FontSize(_tamanhoFontePadrao);
}
});
});
});
Expand Down Expand Up @@ -531,6 +560,8 @@ private void CarregarXml(string xml)
{
try
{
_nfeProc = null;
_nfe = null;
_nfeProc = FuncoesXml.XmlStringParaClasse<nfeProc>(xml);
_nfe = _nfeProc.NFe;
}
Expand All @@ -540,6 +571,7 @@ private void CarregarXml(string xml)
{
NFe.Classes.NFe nfe = FuncoesXml.XmlStringParaClasse<NFe.Classes.NFe>(xml);
_nfe = nfe;
_nfeProc = null;
}
catch (Exception)
{
Expand All @@ -549,6 +581,16 @@ private void CarregarXml(string xml)
}
}

private bool DeveExibirMensagemContingencia()
{
return _nfe?.infNFe?.ide?.tpEmis == TipoEmissao.teOffLine && _nfeProc == null;
}

private bool DeveExibirDadosProtocolo()
{
return _nfeProc?.protNFe?.infProt != null && !DeveExibirMensagemContingencia();
}

private string ObtemDescricao(FormaPagamento? formaPagamento)
{
var existeEnum = Enum
Expand Down
Loading