public void NotaFiscalParaXml(NotaFiscal notaFiscal) { if (notaFiscal != null) { NotaFiscalModeloXml.infNFe = InfNfeMap.GeraValoresParaInfNFeXml(notaFiscal.ChaveAcesso); NotaFiscalModeloXml.infNFe.ide = IdeMap.GeraValoresParaIdeNFeXml(notaFiscal); NotaFiscalModeloXml.infNFe.det = ProdutoMap.ProdutoParaXml(notaFiscal.Produtos); NotaFiscalModeloXml.infNFe.dest = DestinatarioMap.DestinatarioParaXml(notaFiscal.Destinatario); NotaFiscalModeloXml.infNFe.emit = EmitenteMap.EmitenteParaXml(notaFiscal.Emitente); NotaFiscalModeloXml.infNFe.total.ICMSTot = IcmsTotMap.GeraValoresParaIcmsTotalXml(notaFiscal); NotaFiscalModeloXml.infNFe.transp = TransportadorMap.TransportadorParaXml(notaFiscal.Transportador); } else { throw new NotaFiscalXmlNulaException(); } }
public static void Exportar(string caminho, NotaFiscal nota) { string caminhoModeloNFE = AppDomain.CurrentDomain.BaseDirectory + "\\..\\..\\..\\NFe.Infra.PDF\\Modelos\\Modelo NFE.pdf"; PdfReader reader = new PdfReader(caminhoModeloNFE); using (PdfStamper stamper = new PdfStamper(reader, new FileStream(caminho, FileMode.Create))) { AcroFields fields = stamper.AcroFields; EmitenteMap.SetarCamposEmitente(nota.Emitente, fields); DestinatarioMap.SetarCamposDestinatario(nota.Destinatario, Convert.ToDateTime(nota.DataEmissao), nota.DataEntrada, fields); ValorNotaMap.SetarCamposValorNota(nota.Valor, nota.ChaveAcesso, nota.NaturezaOperacao, fields); TransportadorMap.SetarCamposTransportador(nota.Transportador, fields, nota.Produtos.Sum(prod => prod.Quantidade)); ProdutoMap.SetarCamposProduto(nota.Produtos, fields); stamper.FormFlattening = true; stamper.Close(); } }
public NotaFiscal XmlParaNotaFiscal(NotaFiscal notaFiscal) { if (!(notaFiscal == null)) { NotaFiscalModeloXml = SerializeHelper.Deserialize <NotaFiscalModeloXml>(notaFiscal.NotaFiscalXml); notaFiscal.Emitente = EmitenteMap.XmlParaEmitente(NotaFiscalModeloXml); notaFiscal.Emitente.Id = notaFiscal.Emitente.Id; notaFiscal.Transportador = TransportadorMap.XmlParaTransportador(NotaFiscalModeloXml); notaFiscal.Transportador.Id = notaFiscal.Transportador.Id; notaFiscal.Destinatario = DestinatarioMap.XmlParaDestinatario(NotaFiscalModeloXml); notaFiscal.Destinatario.Id = notaFiscal.Destinatario.Id; notaFiscal.Produtos = ProdutoMap.XmlParaProduto(NotaFiscalModeloXml); return(notaFiscal); } else { throw new NotaFiscalXmlNulaException(); } }