private DadosRetorno CarregaDadosRetorno(belRetEventoCancelamento objret) { DadosRetorno objRetorno = new DadosRetorno(); objRetorno.cstat = objret.retEvento.infEvento.cStat.ToString(); objRetorno.xMotivo = objret.retEvento.infEvento.xMotivo; objRetorno.chnfe = objret.retEvento.infEvento.chNFe; objRetorno.nNF = objPesquisa.sCD_NOTAFIS; objRetorno.seqNF = objPesquisa.sCD_NFSEQ; //if (objRetorno.cstat != "101" && objRetorno.cstat != "151" && objRetorno.cstat != "155") if (objRetorno.cstat != "135" && objRetorno.cstat != "136") { objRetorno.nprot = "inexistente"; } else { string nprot = objret.retEvento.infEvento.nProt.ToString(); AlteraNotaParaCancelada(nprot, objPesquisa.sCD_NFSEQ); MoveArquivoParaPastaCancelada(objPesquisa); } return(objRetorno); }
public void EfetuaCancelamento(belPesquisaNotas _objPesquisa, string sJust, int iNumEvento) { this.objPesquisa = _objPesquisa; string sDados = NFeDadosMsg2(_objPesquisa, sJust, iNumEvento); XmlDocument xRet = new XmlDocument(); if (Acesso.TP_EMIS == 1) { switch (Acesso.xUFtoWS) { case "SP": { #region Regiao_SP if (Acesso.TP_AMB == 1) { HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_SP.RecepcaoEvento ws2 = new WebService.v2_Producao_NFeRecepcaoEvento_SP.RecepcaoEvento(); HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_SP.nfeCabecMsg cabec = new WebService.v2_Producao_NFeRecepcaoEvento_SP.nfeCabecMsg(); cabec.versaoDados = "1.00"; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml; xRet.LoadXml(sRet); } if (Acesso.TP_AMB == 2) { HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.nfeCabecMsg(); HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_SP.RecepcaoEvento(); cabec.versaoDados = "1.00"; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml; xRet.LoadXml(sRet); } #endregion } break; case "RS": { #region Regiao_RS if (Acesso.TP_AMB == 1) { HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_RS.RecepcaoEvento ws2 = new WebService.v2_Producao_NFeRecepcaoEvento_RS.RecepcaoEvento(); HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_RS.nfeCabecMsg cabec = new WebService.v2_Producao_NFeRecepcaoEvento_RS.nfeCabecMsg(); cabec.versaoDados = "1.00"; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml; xRet.LoadXml(sRet); } if (Acesso.TP_AMB == 2) { HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.nfeCabecMsg(); HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.v2_Homologacao_NFeRecepcaoEvento_RS.RecepcaoEvento(); cabec.versaoDados = "1.00"; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml; xRet.LoadXml(sRet); } #endregion } break; case "MS": { #region Regiao_SP if (Acesso.TP_AMB == 1) { HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.nfeCabecMsg(); HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.v2_Producao_NFeRecepcaoEvento_MS.RecepcaoEvento(); cabec.versaoDados = "1.00"; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml; xRet.LoadXml(sRet); } if (Acesso.TP_AMB == 2) { throw new Exception("Não implementado"); } #endregion } break; case "SVRS": { #region Regiao_SP if (Acesso.TP_AMB == 1) { HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.nfeCabecMsg cabec = new HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.nfeCabecMsg(); HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.V2_Producao_RecepcaoEvento_SVRS.RecepcaoEvento(); cabec.versaoDados = "1.00"; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml; xRet.LoadXml(sRet); } if (Acesso.TP_AMB == 2) { throw new Exception("Não implementado para o RJ em modo de homologação."); } #endregion } break; case "MG": { #region Regiao_MG if (Acesso.TP_AMB == 1) { HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.nfeCabecMsg(); HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.v2_Producao_RecepcaoEvento_MG.RecepcaoEvento(); cabec.versaoDados = "1.00"; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml; xRet.LoadXml(sRet); } if (Acesso.TP_AMB == 2) { HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.nfeCabecMsg(); HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.RecepcaoEvento ws2 = new HLP.GeraXml.WebService.v2_Homologacao_RecepcaoEvento_MG.RecepcaoEvento(); cabec.versaoDados = "1.00"; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml; xRet.LoadXml(sRet); } #endregion } break; } } else if (Acesso.TP_EMIS == 3) { #region SCAN if (Acesso.TP_AMB == 1) { HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.NfeCancelamento2 ws2 = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.NfeCancelamento2(); HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_SCAN_Producao_NFeCancelamento.nfeCabecMsg(); cabec.versaoDados = Acesso.versaoNFe; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; xRet.LoadXml(ws2.nfeCancelamentoNF2(xNodeCanc).OuterXml); } if (Acesso.TP_AMB == 2) { HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.NfeCancelamento2 ws2 = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.NfeCancelamento2(); HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.nfeCabecMsg cabec = new HLP.GeraXml.WebService.v2_SCAN_Homologacao_NFeCancelamento.nfeCabecMsg(); cabec.versaoDados = Acesso.versaoNFe; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; xRet.LoadXml(ws2.nfeCancelamentoNF2(xNodeCanc).OuterXml); } #endregion } else if (Acesso.TP_EMIS == 6) { #region SCAN if (Acesso.TP_AMB == 1) { HLP.GeraXml.WebService.v2_SVC_Producao_RecepcaoEvento.RecepcaoEvento ws2 = new WebService.v2_SVC_Producao_RecepcaoEvento.RecepcaoEvento(); HLP.GeraXml.WebService.v2_SVC_Producao_RecepcaoEvento.nfeCabecMsg cabec = new WebService.v2_SVC_Producao_RecepcaoEvento.nfeCabecMsg(); cabec.versaoDados = "1.00"; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml; xRet.LoadXml(sRet); } if (Acesso.TP_AMB == 2) { HLP.GeraXml.WebService.v2_SVC_Homologacao_RecepcaoEvento.RecepcaoEvento ws2 = new WebService.v2_SVC_Homologacao_RecepcaoEvento.RecepcaoEvento(); HLP.GeraXml.WebService.v2_SVC_Homologacao_RecepcaoEvento.nfeCabecMsg cabec = new WebService.v2_SVC_Homologacao_RecepcaoEvento.nfeCabecMsg(); cabec.versaoDados = "1.00"; cabec.cUF = Acesso.cUF.ToString(); ws2.ClientCertificates.Add(Acesso.cert_NFe); ws2.nfeCabecMsgValue = cabec; XmlDocument xmlCanc = new XmlDocument(); xmlCanc.LoadXml(sDados); XmlNode xNodeCanc = xmlCanc.DocumentElement; string sRet = ws2.nfeRecepcaoEvento(xNodeCanc).OuterXml; xRet.LoadXml(sRet); } #endregion } string sPath = Pastas.PROTOCOLOS + "\\" + objPesquisa.sCD_NFSEQ + "_Ret_Pedcan" + DateTime.Now.ToString("ddMMyyHHmmss") + ".xml"; xRet.Save(sPath); belRetEventoCancelamento objRet = SerializeClassToXml.DeserializeClasse <belRetEventoCancelamento>(sPath); if (objRet.retEvento.infEvento.cStat == "573") { objRetorno = new DadosRetorno(); iNumEvento = iNumEvento + 1; EfetuaCancelamento(_objPesquisa, sJust, iNumEvento); } else { objRetorno = CarregaDadosRetorno(objRet); } }
private DadosRetorno CarregaDadosRetorno(belRetEventoCancelamento objret) { DadosRetorno objRetorno = new DadosRetorno(); objRetorno.cstat = objret.retEvento.infEvento.cStat.ToString(); objRetorno.xMotivo = objret.retEvento.infEvento.xMotivo; objRetorno.chnfe = objret.retEvento.infEvento.chNFe; objRetorno.nNF = objPesquisa.sCD_NOTAFIS; objRetorno.seqNF = objPesquisa.sCD_NFSEQ; //if (objRetorno.cstat != "101" && objRetorno.cstat != "151" && objRetorno.cstat != "155") if (objRetorno.cstat != "135" && objRetorno.cstat != "136") { objRetorno.nprot = "inexistente"; } else { string nprot = objret.retEvento.infEvento.nProt.ToString(); AlteraNotaParaCancelada(nprot, objPesquisa.sCD_NFSEQ); MoveArquivoParaPastaCancelada(objPesquisa); } return objRetorno; }