protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["due"] != null) { using (var ws = new ServicoSiscomex.WsDUE()) { try { var dadosCompletos = new ServicoSiscomex.DueDadosCompletos(); dadosCompletos = ws.ObterDadosCompletos(Request.QueryString["due"].ToString(), ConfigurationManager.AppSettings["CpfCertificado"].ToString()); } catch (Exception ex) { } } } }
public RetornoSiscomex Retificar(ModelStateDictionary ModelState) { this.DUE = documentoUnicoExportacaoDAO.ObterDUEPorId(this.DUEId); var retorno = new ServicoSiscomex.RetornoSiscomex(); using (var ws = new ServicoSiscomex.WsDUE()) { ws.Timeout = 900000; XmlDocument documentoXML = new XmlDocument(); var xml = documentoUnicoExportacaoDAO.ObterUltimoXMLGerado(this.DUEId); documentoXML.LoadXml(xml); var cpfCertificado = _certificadoDAO.ObterCpfCertificado(this.DUE.DocumentoDeclarante); var documentoFormatado = string.Empty; if (string.IsNullOrEmpty(cpfCertificado)) { if (!string.IsNullOrEmpty(this.DUE.DocumentoDeclarante)) { if (this.DUE.DocumentoDeclarante.Length == 14) { documentoFormatado = Convert.ToUInt64(this.DUE.DocumentoDeclarante).ToString(@"00\.000\.000\/0000-00"); } else { documentoFormatado = Convert.ToUInt64(this.DUE.DocumentoDeclarante).ToString(@"000\.000\.000\-00"); } } var cnpjExportador = this.DUE.Itens .Select(c => c.Exportador?.Documento) .Distinct() .FirstOrDefault(); cpfCertificado = _certificadoDAO.ObterCpfCertificado(cnpjExportador); if (string.IsNullOrEmpty(cpfCertificado)) { if (!string.IsNullOrEmpty(cnpjExportador)) { documentoFormatado = Convert.ToUInt64(cnpjExportador).ToString(@"00\.000\.000\/0000-00"); } ModelState.AddModelError(string.Empty, $"Certificado Digital para o CNPJ {documentoFormatado} não encontrado"); return(retorno); } } if (this.DUE.EnviadoSiscomex == 0) { retorno = ws.EnviarDUESemNF(xml, cpfCertificado); } else { if (this.DUE.Completa > 0 || this.DUE.CriadoPorNF > 0 || this.DUE.Itens.Any(c => !string.IsNullOrEmpty(c.NF))) { var parametros = _parametrosDAO.ObterParametros(); if (parametros.EnvioRetificacaoSemServico > 0) { retorno = EnvioRetificacao.EnviarSemServico(documentoXML.InnerXml, this.DUE.DUE.Replace("-", ""), cpfCertificado).GetAwaiter().GetResult(); } else { retorno = ws.EnviarRetificacao(xml, this.DUE.DUE.Replace("-", ""), cpfCertificado); } } } var xmlEnviado = xml; xmlEnviado = xmlEnviado.Replace("\r\n", string.Empty); xmlEnviado = System.Text.RegularExpressions.Regex.Replace(xmlEnviado, @"\t|\n|\r", ""); xmlEnviado = xmlEnviado.Replace(" ", " "); xmlEnviado = xmlEnviado.Replace(" ", " "); xmlEnviado = xmlEnviado.Replace(" ", " "); xmlEnviado = xmlEnviado.Replace(" ", " "); xmlEnviado = xmlEnviado.Replace(Environment.NewLine, ""); if (retorno.Sucesso) { if (this.DUE.EnviadoSiscomex == 0) { documentoUnicoExportacaoDAO.AtualizarInformacoesEnvio(this.DUE.Id, retorno.DUE, retorno.RUC, retorno.ChaveDeAcesso, xmlEnviado, retorno.XmlRetorno, 1); } else { documentoUnicoExportacaoDAO.MarcarComoRetificado(this.DUE.Id); } } else { if (retorno.Criticas != null) { foreach (var erro in retorno.Criticas) { ModelState.AddModelError(string.Empty, "Siscomex: " + erro.message); } } else { ModelState.AddModelError(string.Empty, "Siscomex: " + retorno.Message); } documentoUnicoExportacaoDAO.AtualizarInformacoesErro(this.DUE.Id, xmlEnviado, retorno.XmlRetorno); } } return(retorno); }