private void button2_Click(object sender, EventArgs e) { this.Log().Info("Lendo Arquivos de: " + UriEnvio); var url = new UriBuilder(UriEnvio); var xml = XDocument.Parse(TWeb.FetchRps(url.Uri)); acbrNFSe.Configuracoes.WebServices.Ambiente = cmbAmbiente.GetSelectedValue <DFeTipoAmbiente>(); EnviarLoteRpsEnvio(xml); }
private void Processamento() { this.Log().Info("Lendo Arquivos de: " + UriEnvio); var url = new UriBuilder(UriEnvio); string html = TWeb.FetchRps(url.Uri); btnIniciarProc.Enabled = false; do { if (html.IsEmpty()) { this.Log().Info($"Não foram encontrados arquivos de Envio ou Consulta no caminho {UriEnvio}"); btnIniciarProc.Enabled = true; break; } var xml = XDocument.Parse(html); var root = xml.Root; if (root.Name.ToString().Contains("EnviarLoteRps")) { var retorno = EnviarLoteRpsEnvio(xml); string numeroLote = ""; if (retorno.Sucesso) { this.Log().Info("Sucesso no processamento! Gravando no repositório de processamento: " + UriRetorno); numeroLote = retorno.NumeroLote; var xmlRetonro = RemoveAllNamespaces(XElement.Parse(retorno.XmlRetorno)).ToString(); ResultadoEnvioLoteRps(numeroLote, xmlRetonro, UriRetorno); } else { this.Log().Error($"Erro no envio do Lote {numeroLote}"); var xmlRetonro = RemoveAllNamespaces(XElement.Parse(retorno.XmlRetorno)).ToString(); ResultadoEnvioLoteRps(numeroLote, xmlRetonro, UriRetorno); } } else if (root.Name.ToString().Contains("ConsultarLoteRps")) { var protocoloConsulta = BuscaNumeroProtocolo(xml); var retorno = ConsultarLoteRps(xml, protocoloConsulta); if (retorno.Sucesso) { this.Log().Info("Sucesso na Consulta! Gravando no repositório de processamento: " + UriRetorno); var xmlRetonro = RemoveAllNamespaces(XElement.Parse(retorno.XmlRetorno)).ToString(); ResultadoConsultaLoteRps(protocoloConsulta, xmlRetonro, UriRetorno); } else { this.Log().Error($"Arquivo de consulta para protocolo {protocoloConsulta} retornou erros."); var xmlRetonro = RemoveAllNamespaces(XElement.Parse(retorno.XmlRetorno)).ToString(); ResultadoConsultaLoteRps(protocoloConsulta, xmlRetonro, UriRetorno); } } else { MessageBox.Show("A operação requisita não pode ser processada. Ausência de Elemento EnviarLoteRps ou ConsultarLoteRps"); throw new ApplicationException("Processamento Interrompido"); } } while (!(html = TWeb.FetchRps(url.Uri)).IsEmpty()); }