public belInutilizaFaixaCte PopulaDadosInutilizacao(string sNumInicial, string sNumFinal, string sJustificativa) { try { belUF objbelUf = new belUF(); belInutilizaFaixaCte objBelInutiliza = new belInutilizaFaixaCte(); DataTable dt = RetornaDadosInutilizacao(); foreach (DataRow dr in dt.Rows) { objbelUf.SiglaUF = dr["cUF"].ToString(); objBelInutiliza.CNPJ = Util.TiraSimbolo(dr["CNPJ"].ToString()); } objBelInutiliza.versao = "1.04"; objBelInutiliza.tpAmb = Acesso.TP_AMB.ToString(); objBelInutiliza.xServ = "INUTILIZAR"; objBelInutiliza.cUF = objbelUf.CUF; objBelInutiliza.ano = daoUtil.GetDateServidor().ToString("yy"); objBelInutiliza.mod = "57"; objBelInutiliza.serie = "1"; objBelInutiliza.nCTIni = sNumInicial; objBelInutiliza.nCTFin = sNumFinal; objBelInutiliza.xJust = sJustificativa; objBelInutiliza.Id = GeraChave(objBelInutiliza.cUF, objBelInutiliza.CNPJ, objBelInutiliza.nCTIni, objBelInutiliza.nCTFin); return(objBelInutiliza); } catch (Exception ex) { throw ex; } }
public List<belStatusCte> GerarXmlInutilizacao(belInutilizaFaixaCte objInutiliza) { XNamespace pf = "http://www.portalfiscal.inf.br/cte"; XNamespace ns = "http://www.w3.org/2001/XMLSchema-instance"; XContainer inutCTe = new XElement(pf + "inutCTe", new XAttribute("versao", Acesso.versaoCTe), new XAttribute(ns + "schemaLocation", "http://www.portalfiscal.inf.br/inutCte_v1.04.xsd"), new XAttribute("xmlns", "http://www.portalfiscal.inf.br/cte"), new XAttribute(XNamespace.Xmlns + "ds", "http://www.w3.org/2000/09/xmldsig#"), new XAttribute(XNamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance")); XContainer infInut = new XElement(pf + "infInut", new XAttribute("Id", objInutiliza.Id), new XElement(pf + "tpAmb", objInutiliza.tpAmb), new XElement(pf + "xServ", objInutiliza.xServ), new XElement(pf + "cUF", objInutiliza.cUF), new XElement(pf + "ano", objInutiliza.ano), new XElement(pf + "CNPJ", objInutiliza.CNPJ), new XElement(pf + "mod", objInutiliza.mod), new XElement(pf + "serie", objInutiliza.serie), new XElement(pf + "nCTIni", objInutiliza.nCTIni), new XElement(pf + "nCTFin", objInutiliza.nCTFin), new XElement(pf + "xJust", objInutiliza.xJust)); inutCTe.Add(infInut); #region Assinatura belAssinaXml Assinatura = new belAssinaXml(); string sInutCte = Assinatura.ConfigurarArquivo(inutCTe.ToString(), "infInut", Acesso.cert_CTe); XElement xInutCTe = XElement.Parse(sInutCte); #endregion #region Salva Xml string sData = daoUtil.GetDateServidor().Date.ToString("dd-MM-yyyy"); DirectoryInfo dPastaProtocolo = new DirectoryInfo(Pastas.PROTOCOLOS); if (!dPastaProtocolo.Exists) { dPastaProtocolo.Create(); } DirectoryInfo dPastaMesAtual = new DirectoryInfo(dPastaProtocolo + @"\\" + sData.Substring(3, 2) + "-" + sData.Substring(8, 2)); if (!dPastaMesAtual.Exists) { dPastaMesAtual.Create(); } string sCaminho = dPastaMesAtual.ToString() + "\\" + "Inut_" + objInutiliza.nCTIni + "_" + objInutiliza.nCTFin + ".xml"; XDocument XmlInut = new XDocument(xInutCTe); XmlInut.Save(sCaminho); #endregion #region Valida_Xml belValidaXml.ValidarXml("http://www.portalfiscal.inf.br/cte", Pastas.SCHEMA_CTE + "\\inutCte_v1.04.xsd", sCaminho); #endregion #region Inutilizar Cte XmlDocument doc = new XmlDocument(); doc.Load(sCaminho); string sRetorno = InutilizaFaixaCte(doc); List<belStatusCte> ListaStatus = TrataDadosRetorno(sRetorno); foreach (belStatusCte cte in ListaStatus) { if (cte.CodRetorno == "102") { XDocument xRet = XDocument.Parse(sRetorno); xRet.Save(sCaminho); } else { File.Delete(sCaminho); } } #endregion return ListaStatus; }
public belInutilizaFaixaCte PopulaDadosInutilizacao(string sNumInicial, string sNumFinal, string sJustificativa) { try { belUF objbelUf = new belUF(); belInutilizaFaixaCte objBelInutiliza = new belInutilizaFaixaCte(); DataTable dt = RetornaDadosInutilizacao(); foreach (DataRow dr in dt.Rows) { objbelUf.SiglaUF = dr["cUF"].ToString(); objBelInutiliza.CNPJ = Util.TiraSimbolo(dr["CNPJ"].ToString()); } objBelInutiliza.versao = "1.04"; objBelInutiliza.tpAmb = Acesso.TP_AMB.ToString(); objBelInutiliza.xServ = "INUTILIZAR"; objBelInutiliza.cUF = objbelUf.CUF; objBelInutiliza.ano = daoUtil.GetDateServidor().ToString("yy"); objBelInutiliza.mod = "57"; objBelInutiliza.serie = "1"; objBelInutiliza.nCTIni = sNumInicial; objBelInutiliza.nCTFin = sNumFinal; objBelInutiliza.xJust = sJustificativa; objBelInutiliza.Id = GeraChave(objBelInutiliza.cUF, objBelInutiliza.CNPJ, objBelInutiliza.nCTIni, objBelInutiliza.nCTFin); return objBelInutiliza; } catch (Exception ex) { throw ex; } }