public static ReportDocument DANFE(TNfeProc nota, ConfiguracaoHiperNFe config) { var doc = XDocument.Load(nota.NFe.NomeArquivo); #region Validations foreach (var det in doc.Descendants(Ns + "det")) { var imposto = det.Element(Ns + "imposto"); /*Cria toda a parte do ICMS*/ XmlImpostoCreator.Icms(imposto); XmlImpostoCreator.Ipi(imposto); if (det.Element(Ns + "infAdProd") == null) { det.Add(new XElement(Ns + "infAdProd", "")); } var xElement = det.Element(Ns + "prod"); if (xElement == null || xElement.Element(Ns + "vDesc") != null) { continue; } var element = det.Element(Ns + "prod"); if (element != null) { element.Add(new XElement(Ns + "vDesc", "0.00")); } } #endregion Validations var dataSet = new DataSet(); dataSet.ReadXml(doc.CreateReader()); #region Validations if (dataSet.Tables["ide"].Columns["dSaiEnt"] == null) { dataSet.Tables["ide"].Columns.Add("dSaiEnt"); } if (dataSet.Tables["ide"].Columns["hSaiEnt"] == null) { dataSet.Tables["ide"].Columns.Add("hSaiEnt"); } if (dataSet.Tables["emit"].Columns["CPF"] == null) { dataSet.Tables["emit"].Columns.Add("CPF"); } if (dataSet.Tables["emit"].Columns["CNPJ"] == null) { dataSet.Tables["emit"].Columns.Add("CNPJ"); } if (dataSet.Tables["emit"].Columns["IEST"] == null) { dataSet.Tables["emit"].Columns.Add("IEST"); } if (dataSet.Tables["enderEmit"].Columns["xCpl"] == null) { dataSet.Tables["enderEmit"].Columns.Add("xCpl"); } if (dataSet.Tables["enderEmit"].Columns["CEP"] == null) { dataSet.Tables["enderEmit"].Columns.Add("CEP"); } if (dataSet.Tables["enderEmit"].Columns["fone"] == null) { dataSet.Tables["enderEmit"].Columns.Add("fone"); } if (dataSet.Tables["dest"].Columns["CPF"] == null) { dataSet.Tables["dest"].Columns.Add("CPF"); } if (dataSet.Tables["dest"].Columns["CNPJ"] == null) { dataSet.Tables["dest"].Columns.Add("CNPJ"); } if (dataSet.Tables["dest"].Columns["email"] == null) { dataSet.Tables["dest"].Columns.Add("email"); } if (dataSet.Tables["enderDest"].Columns["xCpl"] == null) { dataSet.Tables["enderDest"].Columns.Add("xCpl"); } if (dataSet.Tables["enderDest"].Columns["CEP"] == null) { dataSet.Tables["enderDest"].Columns.Add("CEP"); } if (dataSet.Tables["enderDest"].Columns["fone"] == null) { dataSet.Tables["enderDest"].Columns.Add("fone"); } if (dataSet.Tables["ISSQNTot"] == null) { dataSet.Tables.Add("ISSQNTot"); } if (dataSet.Tables["retTrib"] == null) { dataSet.Tables.Add("retTrib"); } if (dataSet.Tables["transporta"] == null) { dataSet.Tables.Add("transporta"); } if (dataSet.Tables["transporta"].Columns["CPF"] == null) { dataSet.Tables["transporta"].Columns.Add("CPF"); } if (dataSet.Tables["transporta"].Columns["CNPJ"] == null) { dataSet.Tables["transporta"].Columns.Add("CNPJ"); } if (dataSet.Tables["transporta"].Columns["IE"] == null) { dataSet.Tables["transporta"].Columns.Add("IE"); } if (dataSet.Tables["transporta"].Columns["xNome"] == null) { dataSet.Tables["transporta"].Columns.Add("xNome"); } if (dataSet.Tables["transporta"].Columns["xEnder"] == null) { dataSet.Tables["transporta"].Columns.Add("xEnder"); } if (dataSet.Tables["transporta"].Columns["xMun"] == null) { dataSet.Tables["transporta"].Columns.Add("xMun"); } if (dataSet.Tables["transporta"].Columns["UF"] == null) { dataSet.Tables["transporta"].Columns.Add("UF"); } if (dataSet.Tables["veicTransp"] == null) { dataSet.Tables.Add("veicTransp"); } if (dataSet.Tables["veicTransp"].Columns["transp_Id"] == null) { dataSet.Tables["veicTransp"].Columns.Add("transp_Id"); } if (dataSet.Tables["veicTransp"].Columns["RNTC"] == null) { dataSet.Tables["veicTransp"].Columns.Add("RNTC"); } if (dataSet.Tables["veicTransp"].Columns["placa"] == null) { dataSet.Tables["veicTransp"].Columns.Add("placa"); } if (dataSet.Tables["veicTransp"].Columns["UF"] == null) { dataSet.Tables["veicTransp"].Columns.Add("UF"); } if (dataSet.Tables["vol"] == null) { dataSet.Tables.Add("vol"); } if (dataSet.Tables["vol"].Columns["qVol"] == null) { dataSet.Tables["vol"].Columns.Add("qVol"); } if (dataSet.Tables["vol"].Columns["esp"] == null) { dataSet.Tables["vol"].Columns.Add("esp"); } if (dataSet.Tables["vol"].Columns["marca"] == null) { dataSet.Tables["vol"].Columns.Add("marca"); } if (dataSet.Tables["vol"].Columns["nVol"] == null) { dataSet.Tables["vol"].Columns.Add("nVol"); } if (dataSet.Tables["vol"].Columns["pesoL"] == null) { dataSet.Tables["vol"].Columns.Add("pesoL"); } if (dataSet.Tables["vol"].Columns["pesoB"] == null) { dataSet.Tables["vol"].Columns.Add("pesoB"); } if (dataSet.Tables["cobr"] == null) { dataSet.Tables.Add("cobr"); } if (dataSet.Tables["fat"] == null) { dataSet.Tables.Add("fat"); } if (dataSet.Tables["dup"] == null) { dataSet.Tables.Add("dup"); dataSet.Tables["dup"].Columns.Add("nDup"); dataSet.Tables["dup"].Columns.Add("dVenc"); dataSet.Tables["dup"].Columns.Add("vDup"); } if (dataSet.Tables["entrega"] == null) { dataSet.Tables.Add("entrega"); dataSet.Tables["entrega"].Columns.Add("CNPJ"); dataSet.Tables["entrega"].Columns.Add("CPF"); dataSet.Tables["entrega"].Columns.Add("xLog"); dataSet.Tables["entrega"].Columns.Add("nro"); dataSet.Tables["entrega"].Columns.Add("xCpl"); dataSet.Tables["entrega"].Columns.Add("xBairro"); dataSet.Tables["entrega"].Columns.Add("cMun"); dataSet.Tables["entrega"].Columns.Add("xMun"); dataSet.Tables["entrega"].Columns.Add("UF"); } if (dataSet.Tables["infProt"] == null) { dataSet.Tables.Add("infProt"); } if (dataSet.Tables["infProt"].Columns["nProt"] == null) { dataSet.Tables["infProt"].Columns.Add("nProt"); } if (dataSet.Tables["infProt"].Columns["chNFe"] == null) { dataSet.Tables["infProt"].Columns.Add("chNFe"); } if (dataSet.Tables["infProt"].Columns["dhRecbto"] == null) { dataSet.Tables["infProt"].Columns.Add("dhRecbto"); } if (dataSet.Tables["infProt"].Columns["cStat"] == null) { dataSet.Tables["infProt"].Columns.Add("cStat"); } if (dataSet.Tables["infAdic"] == null) { dataSet.Tables.Add("infAdic"); } if (dataSet.Tables["infAdic"].Columns["infCpl"] == null) { dataSet.Tables["infAdic"].Columns.Add("infCpl"); } if (dataSet.Tables["infAdic"].Columns["infAdFisco"] == null) { dataSet.Tables["infAdic"].Columns.Add("infAdFisco"); } if (dataSet.Tables["obsCont"] == null) { dataSet.Tables.Add("obsCont"); } if (dataSet.Tables["obsFisco"] == null) { dataSet.Tables.Add("obsFisco"); } #endregion Validations var danfe = new DANFE.DANFE(); danfe.Load(Path.Combine(Environment.CurrentDirectory, "DANFE.rpt"), OpenReportMethod.OpenReportByDefault); var imageds = new DANFE.ImageDataSet(); imageds.Images.AddImagesRow(Logo.ToBytes(config), Barras.ToArray(nota.NFe.infNFe.Id.Substring(3)), config.Site, config.CasasDecimaisQtd, config.CasasDecimaisValorUnitario); danfe.SetDataSource(dataSet); danfe.Database.Tables["Images"].SetDataSource(imageds); return(danfe); }
public static ReportDocument DANFE(TNfeProc nota, ConfiguracaoHiperNFe config) { var doc = XDocument.Load(nota.NFe.NomeArquivo); #region Validations foreach (var det in doc.Descendants(Ns + "det")) { var imposto = det.Element(Ns + "imposto"); /*Cria toda a parte do ICMS*/ XmlImpostoCreator.Icms(imposto); XmlImpostoCreator.Ipi(imposto); if (det.Element(Ns + "infAdProd") == null) { det.Add(new XElement(Ns + "infAdProd", "")); } var xElement = det.Element(Ns + "prod"); if (xElement == null || xElement.Element(Ns + "vDesc") != null) continue; var element = det.Element(Ns + "prod"); if (element != null) element.Add(new XElement(Ns + "vDesc", "0.00")); } #endregion Validations var dataSet = new DataSet(); dataSet.ReadXml(doc.CreateReader()); #region Validations if (dataSet.Tables["ide"].Columns["dSaiEnt"] == null) { dataSet.Tables["ide"].Columns.Add("dSaiEnt"); } if (dataSet.Tables["ide"].Columns["hSaiEnt"] == null) { dataSet.Tables["ide"].Columns.Add("hSaiEnt"); } if (dataSet.Tables["emit"].Columns["CPF"] == null) { dataSet.Tables["emit"].Columns.Add("CPF"); } if (dataSet.Tables["emit"].Columns["CNPJ"] == null) { dataSet.Tables["emit"].Columns.Add("CNPJ"); } if (dataSet.Tables["emit"].Columns["IEST"] == null) { dataSet.Tables["emit"].Columns.Add("IEST"); } if (dataSet.Tables["enderEmit"].Columns["xCpl"] == null) { dataSet.Tables["enderEmit"].Columns.Add("xCpl"); } if (dataSet.Tables["enderEmit"].Columns["CEP"] == null) { dataSet.Tables["enderEmit"].Columns.Add("CEP"); } if (dataSet.Tables["enderEmit"].Columns["fone"] == null) { dataSet.Tables["enderEmit"].Columns.Add("fone"); } if (dataSet.Tables["dest"].Columns["CPF"] == null) { dataSet.Tables["dest"].Columns.Add("CPF"); } if (dataSet.Tables["dest"].Columns["CNPJ"] == null) { dataSet.Tables["dest"].Columns.Add("CNPJ"); } if (dataSet.Tables["dest"].Columns["email"] == null) { dataSet.Tables["dest"].Columns.Add("email"); } if (dataSet.Tables["enderDest"].Columns["xCpl"] == null) { dataSet.Tables["enderDest"].Columns.Add("xCpl"); } if (dataSet.Tables["enderDest"].Columns["CEP"] == null) { dataSet.Tables["enderDest"].Columns.Add("CEP"); } if (dataSet.Tables["enderDest"].Columns["fone"] == null) { dataSet.Tables["enderDest"].Columns.Add("fone"); } if (dataSet.Tables["ISSQNTot"] == null) { dataSet.Tables.Add("ISSQNTot"); } if (dataSet.Tables["retTrib"] == null) { dataSet.Tables.Add("retTrib"); } if (dataSet.Tables["transporta"] == null) { dataSet.Tables.Add("transporta"); } if (dataSet.Tables["transporta"].Columns["CPF"] == null) { dataSet.Tables["transporta"].Columns.Add("CPF"); } if (dataSet.Tables["transporta"].Columns["CNPJ"] == null) { dataSet.Tables["transporta"].Columns.Add("CNPJ"); } if (dataSet.Tables["transporta"].Columns["IE"] == null) { dataSet.Tables["transporta"].Columns.Add("IE"); } if (dataSet.Tables["transporta"].Columns["xNome"] == null) { dataSet.Tables["transporta"].Columns.Add("xNome"); } if (dataSet.Tables["transporta"].Columns["xEnder"] == null) { dataSet.Tables["transporta"].Columns.Add("xEnder"); } if (dataSet.Tables["transporta"].Columns["xMun"] == null) { dataSet.Tables["transporta"].Columns.Add("xMun"); } if (dataSet.Tables["transporta"].Columns["UF"] == null) { dataSet.Tables["transporta"].Columns.Add("UF"); } if (dataSet.Tables["veicTransp"] == null) { dataSet.Tables.Add("veicTransp"); } if (dataSet.Tables["veicTransp"].Columns["transp_Id"] == null) { dataSet.Tables["veicTransp"].Columns.Add("transp_Id"); } if (dataSet.Tables["veicTransp"].Columns["RNTC"] == null) { dataSet.Tables["veicTransp"].Columns.Add("RNTC"); } if (dataSet.Tables["veicTransp"].Columns["placa"] == null) { dataSet.Tables["veicTransp"].Columns.Add("placa"); } if (dataSet.Tables["veicTransp"].Columns["UF"] == null) { dataSet.Tables["veicTransp"].Columns.Add("UF"); } if (dataSet.Tables["vol"] == null) { dataSet.Tables.Add("vol"); } if (dataSet.Tables["vol"].Columns["qVol"] == null) { dataSet.Tables["vol"].Columns.Add("qVol"); } if (dataSet.Tables["vol"].Columns["esp"] == null) { dataSet.Tables["vol"].Columns.Add("esp"); } if (dataSet.Tables["vol"].Columns["marca"] == null) { dataSet.Tables["vol"].Columns.Add("marca"); } if (dataSet.Tables["vol"].Columns["nVol"] == null) { dataSet.Tables["vol"].Columns.Add("nVol"); } if (dataSet.Tables["vol"].Columns["pesoL"] == null) { dataSet.Tables["vol"].Columns.Add("pesoL"); } if (dataSet.Tables["vol"].Columns["pesoB"] == null) { dataSet.Tables["vol"].Columns.Add("pesoB"); } if (dataSet.Tables["cobr"] == null) { dataSet.Tables.Add("cobr"); } if (dataSet.Tables["fat"] == null) { dataSet.Tables.Add("fat"); } if (dataSet.Tables["dup"] == null) { dataSet.Tables.Add("dup"); dataSet.Tables["dup"].Columns.Add("nDup"); dataSet.Tables["dup"].Columns.Add("dVenc"); dataSet.Tables["dup"].Columns.Add("vDup"); } if (dataSet.Tables["entrega"] == null) { dataSet.Tables.Add("entrega"); dataSet.Tables["entrega"].Columns.Add("CNPJ"); dataSet.Tables["entrega"].Columns.Add("CPF"); dataSet.Tables["entrega"].Columns.Add("xLog"); dataSet.Tables["entrega"].Columns.Add("nro"); dataSet.Tables["entrega"].Columns.Add("xCpl"); dataSet.Tables["entrega"].Columns.Add("xBairro"); dataSet.Tables["entrega"].Columns.Add("cMun"); dataSet.Tables["entrega"].Columns.Add("xMun"); dataSet.Tables["entrega"].Columns.Add("UF"); } if (dataSet.Tables["infProt"] == null) { dataSet.Tables.Add("infProt"); } if (dataSet.Tables["infProt"].Columns["nProt"] == null) { dataSet.Tables["infProt"].Columns.Add("nProt"); } if (dataSet.Tables["infProt"].Columns["chNFe"] == null) { dataSet.Tables["infProt"].Columns.Add("chNFe"); } if (dataSet.Tables["infProt"].Columns["dhRecbto"] == null) { dataSet.Tables["infProt"].Columns.Add("dhRecbto"); } if (dataSet.Tables["infProt"].Columns["cStat"] == null) { dataSet.Tables["infProt"].Columns.Add("cStat"); } if (dataSet.Tables["infAdic"] == null) { dataSet.Tables.Add("infAdic"); } if (dataSet.Tables["infAdic"].Columns["infCpl"] == null) { dataSet.Tables["infAdic"].Columns.Add("infCpl"); } if (dataSet.Tables["infAdic"].Columns["infAdFisco"] == null) { dataSet.Tables["infAdic"].Columns.Add("infAdFisco"); } if (dataSet.Tables["obsCont"] == null) { dataSet.Tables.Add("obsCont"); } if (dataSet.Tables["obsFisco"] == null) { dataSet.Tables.Add("obsFisco"); } #endregion Validations var danfe = new DANFE.DANFE(); danfe.Load(Path.Combine(Environment.CurrentDirectory, "DANFE.rpt"), OpenReportMethod.OpenReportByDefault); var imageds = new DANFE.ImageDataSet(); imageds.Images.AddImagesRow(Logo.ToBytes(config), Barras.ToArray(nota.NFe.infNFe.Id.Substring(3)), config.Site, config.CasasDecimaisQtd, config.CasasDecimaisValorUnitario); danfe.SetDataSource(dataSet); danfe.Database.Tables["Images"].SetDataSource(imageds); return danfe; }