Example #1
0
        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;
            }
        }
Example #2
0
        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;
            }


        }