public static ReportDocument CartaCorrecao(TNfeProc nfe, CartaCorrecao.TProcEvento evento, ConfiguracaoHiperNFe config) { var doc = XDocument.Load(evento.NomeArquivo); var dataSet = new DataSet(); dataSet.ReadXml(doc.CreateReader()); var cartaCorrecao = new ImpressaoCartaCorrecao.CartaCorrecao(); cartaCorrecao.Load(Path.Combine(Environment.CurrentDirectory, "CartaCorrecao.rpt"), OpenReportMethod.OpenReportByDefault); var imageds = new ImpressaoCartaCorrecao.ImageDataSet(); imageds.Images.AddImagesRow(Logo.ToBytes(config), Barras.ToArray(evento.retEvento.infEvento.chNFe), config.Site); var row = ((ImpressaoCartaCorrecao.ImageDataSet.CartaCorrecaoRow)(imageds.CartaCorrecao.NewRow())); #region Nota Fiscal Eletrônica row.Modelo = Funcoes.ConvertEnumToString(nfe.NFe.infNFe.ide.mod); row.Serie = nfe.NFe.infNFe.ide.serie; row.Numero = nfe.NFe.infNFe.ide.nNF; row.MesAnoEmissao = nfe.NFe.infNFe.ide.dEmi.Substring(5, 2) + "/" + nfe.NFe.infNFe.ide.dEmi.Substring(2, 2); row.ChaveAcesso = nfe.protNFe.infProt.chNFe; #endregion Nota Fiscal Eletrônica #region Carta de Correção Eletrônica row.Orgao = Funcoes.ConvertEnumToString(evento.evento.infEvento.cOrgao); row.Ambiente = Funcoes.ConvertEnumToString(evento.evento.infEvento.tpAmb); row.DataHoraEvento = evento.evento.infEvento.dhEvento; row.Evento = Funcoes.ConvertEnumToString(evento.evento.infEvento.tpEvento); row.DescricaoEvento = Funcoes.ConvertEnumToString(evento.evento.infEvento.detEvento.descEvento); row.SequenciaEvento = evento.evento.infEvento.nSeqEvento; row.VersaoEvento = Funcoes.ConvertEnumToString(evento.evento.infEvento.verEvento); row.Status = evento.retEvento.infEvento.cStat + " - " + evento.retEvento.infEvento.xMotivo; row.Protocolo = evento.retEvento.infEvento.nProt; row.DataHoraRegistro = evento.retEvento.infEvento.dhRegEvento; #endregion Carta de Correção Eletrônica #region Emitente row.RazaoSocial_Emit = nfe.NFe.infNFe.emit.xNome; row.CNPJCPF_Emit = nfe.NFe.infNFe.emit.Item; row.Endereco_Emit = nfe.NFe.infNFe.emit.enderEmit.xLgr + " " + nfe.NFe.infNFe.emit.enderEmit.nro + " " + nfe.NFe.infNFe.emit.enderEmit.xCpl; row.Bairro_Emit = nfe.NFe.infNFe.emit.enderEmit.xBairro; row.CEP_Emit = nfe.NFe.infNFe.emit.enderEmit.CEP; row.Municipio_Emit = nfe.NFe.infNFe.emit.enderEmit.xMun; row.FoneFax_Emit = nfe.NFe.infNFe.emit.enderEmit.fone; row.Estado_Emit = nfe.NFe.infNFe.emit.enderEmit.UF.ToString(); row.IE_Emit = nfe.NFe.infNFe.emit.IE; #endregion Emitente #region Destinatário / Remetente row.RazaoSocial_Dest = nfe.NFe.infNFe.dest.xNome; row.CNPJCPF_Dest = nfe.NFe.infNFe.dest.Item; row.Endereco_Dest = nfe.NFe.infNFe.dest.enderDest.xLgr + " " + nfe.NFe.infNFe.dest.enderDest.nro + " " + nfe.NFe.infNFe.dest.enderDest.xCpl; row.Bairro_Dest = nfe.NFe.infNFe.dest.enderDest.xBairro; row.CEP_Dest = nfe.NFe.infNFe.dest.enderDest.CEP; row.Municipio_Dest = nfe.NFe.infNFe.dest.enderDest.xMun; row.FoneFax_Dest = nfe.NFe.infNFe.dest.enderDest.fone; row.Estado_Dest = nfe.NFe.infNFe.dest.enderDest.UF.ToString(); row.IE_Dest = nfe.NFe.infNFe.dest.IE; #endregion Destinatário / Remetente row.CondicoesUso = Funcoes.ConvertEnumToString(evento.evento.infEvento.detEvento.xCondUso); row.Correcao = evento.evento.infEvento.detEvento.xCorrecao; imageds.CartaCorrecao.AddCartaCorrecaoRow(row); cartaCorrecao.SetDataSource(dataSet); cartaCorrecao.Database.Tables["Images"].SetDataSource(imageds); return(cartaCorrecao); }
public static ReportDocument CartaCorrecao(TNfeProc nfe, CartaCorrecao.TProcEvento evento, ConfiguracaoHiperNFe config) { var doc = XDocument.Load(evento.NomeArquivo); var dataSet = new DataSet(); dataSet.ReadXml(doc.CreateReader()); var cartaCorrecao = new ImpressaoCartaCorrecao.CartaCorrecao(); cartaCorrecao.Load(Path.Combine(Environment.CurrentDirectory, "CartaCorrecao.rpt"), OpenReportMethod.OpenReportByDefault); var imageds = new ImpressaoCartaCorrecao.ImageDataSet(); imageds.Images.AddImagesRow(Logo.ToBytes(config), Barras.ToArray(evento.retEvento.infEvento.chNFe), config.Site); var row = ((ImpressaoCartaCorrecao.ImageDataSet.CartaCorrecaoRow)(imageds.CartaCorrecao.NewRow())); #region Nota Fiscal Eletrônica row.Modelo = Funcoes.ConvertEnumToString(nfe.NFe.infNFe.ide.mod); row.Serie = nfe.NFe.infNFe.ide.serie; row.Numero = nfe.NFe.infNFe.ide.nNF; row.MesAnoEmissao = nfe.NFe.infNFe.ide.dEmi.Substring(5, 2) + "/" + nfe.NFe.infNFe.ide.dEmi.Substring(2, 2); row.ChaveAcesso = nfe.protNFe.infProt.chNFe; #endregion Nota Fiscal Eletrônica #region Carta de Correção Eletrônica row.Orgao = Funcoes.ConvertEnumToString(evento.evento.infEvento.cOrgao); row.Ambiente = Funcoes.ConvertEnumToString(evento.evento.infEvento.tpAmb); row.DataHoraEvento = evento.evento.infEvento.dhEvento; row.Evento = Funcoes.ConvertEnumToString(evento.evento.infEvento.tpEvento); row.DescricaoEvento = Funcoes.ConvertEnumToString(evento.evento.infEvento.detEvento.descEvento); row.SequenciaEvento = evento.evento.infEvento.nSeqEvento; row.VersaoEvento = Funcoes.ConvertEnumToString(evento.evento.infEvento.verEvento); row.Status = evento.retEvento.infEvento.cStat + " - " + evento.retEvento.infEvento.xMotivo; row.Protocolo = evento.retEvento.infEvento.nProt; row.DataHoraRegistro = evento.retEvento.infEvento.dhRegEvento; #endregion Carta de Correção Eletrônica #region Emitente row.RazaoSocial_Emit = nfe.NFe.infNFe.emit.xNome; row.CNPJCPF_Emit = nfe.NFe.infNFe.emit.Item; row.Endereco_Emit = nfe.NFe.infNFe.emit.enderEmit.xLgr + " " + nfe.NFe.infNFe.emit.enderEmit.nro + " " + nfe.NFe.infNFe.emit.enderEmit.xCpl; row.Bairro_Emit = nfe.NFe.infNFe.emit.enderEmit.xBairro; row.CEP_Emit = nfe.NFe.infNFe.emit.enderEmit.CEP; row.Municipio_Emit = nfe.NFe.infNFe.emit.enderEmit.xMun; row.FoneFax_Emit = nfe.NFe.infNFe.emit.enderEmit.fone; row.Estado_Emit = nfe.NFe.infNFe.emit.enderEmit.UF.ToString(); row.IE_Emit = nfe.NFe.infNFe.emit.IE; #endregion Emitente #region Destinatário / Remetente row.RazaoSocial_Dest = nfe.NFe.infNFe.dest.xNome; row.CNPJCPF_Dest = nfe.NFe.infNFe.dest.Item; row.Endereco_Dest = nfe.NFe.infNFe.dest.enderDest.xLgr + " " + nfe.NFe.infNFe.dest.enderDest.nro + " " + nfe.NFe.infNFe.dest.enderDest.xCpl; row.Bairro_Dest = nfe.NFe.infNFe.dest.enderDest.xBairro; row.CEP_Dest = nfe.NFe.infNFe.dest.enderDest.CEP; row.Municipio_Dest = nfe.NFe.infNFe.dest.enderDest.xMun; row.FoneFax_Dest = nfe.NFe.infNFe.dest.enderDest.fone; row.Estado_Dest = nfe.NFe.infNFe.dest.enderDest.UF.ToString(); row.IE_Dest = nfe.NFe.infNFe.dest.IE; #endregion Destinatário / Remetente row.CondicoesUso = Funcoes.ConvertEnumToString(evento.evento.infEvento.detEvento.xCondUso); row.Correcao = evento.evento.infEvento.detEvento.xCorrecao; imageds.CartaCorrecao.AddCartaCorrecaoRow(row); cartaCorrecao.SetDataSource(dataSet); cartaCorrecao.Database.Tables["Images"].SetDataSource(imageds); return cartaCorrecao; }