protected override void PrepararConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { // Monta mensagem de envio var loteBuilder = new StringBuilder(); loteBuilder.Append($"<Protocolo>{retornoWebservice.Protocolo}</Protocolo>"); retornoWebservice.XmlEnvio = loteBuilder.ToString(); }
protected override void TratarRetornoConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { // Analisa mensagem de retorno var xmlRet = XDocument.Parse(AjustarRetorno(retornoWebservice.XmlRetorno)); retornoWebservice.Lote = xmlRet?.ElementAnyNs("NumeroLote")?.GetValue <int>() ?? 0; retornoWebservice.Situacao = xmlRet?.ElementAnyNs("Situacao")?.GetValue <string>() ?? "0"; retornoWebservice.Sucesso = !retornoWebservice.Erros.Any(); }
protected override void TratarRetornoConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { // Analisa mensagem de retorno var xmlRet = XDocument.Parse(retornoWebservice.XmlRetorno); MensagemErro(retornoWebservice, xmlRet.Root, "ConsultarSituacaoLoteRpsResposta"); retornoWebservice.Lote = xmlRet.Root?.ElementAnyNs("ConsultarSituacaoLoteRpsResposta")?.ElementAnyNs("NumeroLote")?.GetValue<int>() ?? 0; retornoWebservice.Situacao = xmlRet.Root?.ElementAnyNs("ConsultarSituacaoLoteRpsResposta")?.ElementAnyNs("Situacao")?.GetValue<string>() ?? string.Empty; retornoWebservice.Sucesso = !retornoWebservice.Erros.Any(); }
protected override void TratarRetornoConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { var xmlRet = XDocument.Parse(retornoWebservice.XmlRetorno); var rootElement = xmlRet.ElementAnyNs("esConsultarSituacaoLoteRpsResposta"); MensagemErro(retornoWebservice, rootElement, "mensagemRetorno"); retornoWebservice.Lote = rootElement?.ElementAnyNs("nrLoteRps")?.GetValue <int>() ?? 0; retornoWebservice.Situacao = rootElement?.ElementAnyNs("stLote")?.GetValue <string>() ?? "0"; retornoWebservice.Sucesso = !retornoWebservice.Erros.Any(); }
protected override void PrepararConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { retornoWebservice.XmlEnvio = new StringBuilder() .Append("<es:esConsultarSituacaoLoteRpsEnvio xmlns:es=\"http://www.equiplano.com.br/esnfs\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.equiplano.com.br/enfs esConsultarLoteRpsEnvio_v01.xsd\">") .Append("<prestador>") .Append($"<cnpj>{ Configuracoes.PrestadorPadrao.CpfCnpj }</cnpj>") .Append($"<idEntidade>{ Municipio.IdEntidade }</idEntidade>") .Append("</prestador>") .Append($"<nrLoteRps>{ retornoWebservice.Lote }</nrLoteRps>") .Append("</es:esConsultarSituacaoLoteRpsEnvio>") .ToString(); }
protected override void PrepararConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { var loteBuilder = new StringBuilder(); loteBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); loteBuilder.Append($"<ConsultarSituacaoLoteRpsEnvio {GetNamespace()}>"); loteBuilder.Append("<Prestador xmlns=\"\">"); loteBuilder.Append($"<Cnpj>{Configuracoes.PrestadorPadrao.CpfCnpj.ZeroFill(14)}</Cnpj>"); loteBuilder.Append($"<InscricaoMunicipal>{Configuracoes.PrestadorPadrao.InscricaoMunicipal}</InscricaoMunicipal>"); loteBuilder.Append("</Prestador>"); loteBuilder.Append($"<Protocolo xmlns=\"\">{retornoWebservice.Protocolo}</Protocolo>"); loteBuilder.Append("</ConsultarSituacaoLoteRpsEnvio>"); retornoWebservice.XmlEnvio = loteBuilder.ToString(); }
protected override void TratarRetornoConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { var xmlRet = XDocument.Parse(retornoWebservice.XmlRetorno); MensagemErro(retornoWebservice, xmlRet, "RetornoInformacoesLote"); if (retornoWebservice.Erros.Any()) { return; } retornoWebservice.Sucesso = xmlRet.Root?.ElementAnyNs("Cabecalho")?.ElementAnyNs("Sucesso")?.GetValue <bool>() ?? false; retornoWebservice.Lote = xmlRet.Root?.ElementAnyNs("Cabecalho")?.ElementAnyNs("InformacoesLote")?.ElementAnyNs("NumeroLote")?.GetValue <int>() ?? 0; }
protected override void PrepararConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { var loteBuilder = new StringBuilder(); loteBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); loteBuilder.Append("<PedidoInformacoesLote xmlns=\"http://www.prefeitura.sp.gov.br/nfe\" xmlns:xsi = \"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd = \"http://www.w3.org/2001/XMLSchema\">"); loteBuilder.Append("<Cabecalho xmlns=\"\" Versao=\"1\">"); loteBuilder.Append($"<CPFCNPJRemetente><CNPJ>{Configuracoes.PrestadorPadrao.CpfCnpj.ZeroFill(14)}</CNPJ></CPFCNPJRemetente>"); loteBuilder.Append($"<NumeroLote>{retornoWebservice.Lote}</NumeroLote>"); loteBuilder.Append($"<InscricaoPrestador>{Configuracoes.PrestadorPadrao.InscricaoMunicipal.ZeroFill(8)}</InscricaoPrestador>"); loteBuilder.Append("</Cabecalho>"); loteBuilder.Append("</PedidoInformacoesLote>"); retornoWebservice.XmlEnvio = loteBuilder.ToString(); }
protected override void PrepararConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { var loteBuilder = new StringBuilder(); loteBuilder.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); loteBuilder.Append("<ConsultarSituacaoLoteRpsEnvio xmlns=\"http://www.issnetonline.com.br/webserviceabrasf/vsd/servico_consultar_situacao_lote_rps_envio.xsd\" xmlns:tc=\"http://www.issnetonline.com.br/webserviceabrasf/vsd/tipos_complexos.xsd\">"); loteBuilder.Append("<Prestador>"); loteBuilder.Append($"<tc:CpfCnpj><tc:Cnpj>{Configuracoes.PrestadorPadrao.CpfCnpj.ZeroFill(14)}</tc:Cnpj></tc:CpfCnpj>"); loteBuilder.Append($"<tc:InscricaoMunicipal>{Configuracoes.PrestadorPadrao.InscricaoMunicipal}</tc:InscricaoMunicipal>"); loteBuilder.Append("</Prestador>"); loteBuilder.Append($"<Protocolo>{retornoWebservice.Protocolo}</Protocolo>"); loteBuilder.Append("</ConsultarSituacaoLoteRpsEnvio>"); retornoWebservice.XmlEnvio = loteBuilder.ToString(); }
protected override void TratarRetornoConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { // Analisa mensagem de retorno// Analisa mensagem de retorno var xmlRet = XDocument.Parse(retornoWebservice.XmlRetorno); var sucesso = true; var xmlElement = xmlRet.Root.ElementAnyNs("Sdt_consultaprotocoloout"); var situacao = ""; switch (xmlElement.ElementAnyNs("PrtXSts")?.GetValue <string>() ?? "0") { case "1": //Aguardando processamento situacao = "2"; //Padrão Ginfes e ABRASF - Ainda não processado break; case "2": //Em Processamento situacao = "2"; //Padrão Ginfes e ABRASF - Ainda não processado break; case "3": //Rejeitado situacao = "3"; //Padrão Ginfes e ABRASF - Processado com Erros break; case "4": //Rejeitado Parcialmente situacao = "3"; //Padrão Ginfes e ABRASF - Processado com Erros break; case "5": //Processado situacao = "4"; //Padrão Ginfes e ABRASF - Processado break; } retornoWebservice.Lote = 0; retornoWebservice.Situacao = situacao; if (!(xmlElement.ElementAnyNs("Retorno")?.GetValue <bool>() ?? false)) { MensagemErro(retornoWebservice, xmlRet.Root, "Sdt_consultaprotocoloout"); retornoWebservice.Sucesso = false; return; } retornoWebservice.Sucesso = true; }
protected override void PrepararConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { var loteBuilder = new StringBuilder(); loteBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); loteBuilder.Append("<WS_ConsultarSituacaoLoteRps.Execute xmlns:fiss=\"FISS-LEX\">"); loteBuilder.Append("<fiss:Consultarsituacaoloterpsenvio>"); loteBuilder.Append("<Prestador>"); loteBuilder.Append($"<Cnpj>{Configuracoes.PrestadorPadrao.CpfCnpj.ZeroFill(14)}</Cnpj>"); loteBuilder.Append($"<InscricaoMunicipal>{Configuracoes.PrestadorPadrao.InscricaoMunicipal}</InscricaoMunicipal>"); loteBuilder.Append("</Prestador>"); loteBuilder.Append($"<Protocolo>{retornoWebservice.Protocolo}</Protocolo>"); loteBuilder.Append("</fiss:Consultarsituacaoloterpsenvio>"); loteBuilder.Append("</WS_ConsultarSituacaoLoteRps.Execute>"); retornoWebservice.XmlEnvio = loteBuilder.ToString(); }
protected override void AssinarConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { }
protected override void AssinarConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { retornoWebservice.XmlEnvio = XmlSigning.AssinarXml(retornoWebservice.XmlEnvio, "es:esConsultarSituacaoLoteRpsEnvio", "", Certificado); }
protected override void AssinarConsultarSituacao(RetornoConsultarSituacao retornoWebservice) { retornoWebservice.XmlEnvio = XmlSigning.AssinarXml(retornoWebservice.XmlEnvio, "PedidoInformacoesLote", "", Certificado); }