Ejemplo n.º 1
0
        /// <summary>
        /// Impostazione dell'url del webservice
        /// </summary>
        /// <param name="module"></param>
        /// <param name="serviceInstance"></param>
        private static void SetServiceInstanceUrl(string module, System.Web.Services.Protocols.SoapHttpClientProtocol serviceInstance)
        {
            string httpBindingClassName = serviceInstance.GetType().Name;
            string serviceName          = httpBindingClassName.Remove(httpBindingClassName.IndexOf("SOAPHTTPBinding"));

            serviceInstance.Url = string.Concat(OCSConfigurations.GetServiceUrl(), string.Format("{0}/{1}SOAPHTTPPort", module, serviceName));
        }
Ejemplo n.º 2
0
 public static string RetornarDescricaoEnum <T>(this System.Web.Services.Protocols.SoapHttpClientProtocol valor, T enumerador)
 {
     return(valor.RetornarDadosEnum <T>()
            .Where(w => w.Valor.Equals(enumerador))
            .FirstOrDefault()
            .Descricao);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Sets the KMD web service url to the correct value based on the database object and the service name
        /// </summary>
        /// <param name="service">Web service proxy object</param>
        /// <param name="serviceType">Type of service</param>
        private void SetServiceUrl(System.Web.Services.Protocols.SoapHttpClientProtocol service, ServiceTypes serviceType)
        {
            string query = string.Format("?zservice={0}", serviceType);
            string url   = Address.Split(new char[] { '?' }, StringSplitOptions.RemoveEmptyEntries)[0];

            url        += query;
            service.Url = url;
        }
Ejemplo n.º 4
0
        public static void SetBaseWebReference(System.Web.Services.Protocols.SoapHttpClientProtocol objservice)
        {
            string baseUrl = CommonData.GetInstance().GetWebReferenceUrl();

            //MessageBox.Show(baseUrl);
            //MessageBox.Show(System.IO.Directory.GetCurrentDirectory());
            objservice.Url = baseUrl + objservice.Url.Substring(objservice.Url.LastIndexOf('/'));
            //MessageBox.Show(objservice.Url);
        }
Ejemplo n.º 5
0
        public static sDadosEnum[] RetornarDadosEnum <T>(this System.Web.Services.Protocols.SoapHttpClientProtocol valor)
        {
            Assembly assembly = valor.GetType().Assembly;
            Type     type     = assembly.GetType(valor.GetType().FullName);

            object        activator  = Activator.CreateInstance(type);
            List <object> parametros = new List <object>();

            parametros.Add(typeof(T).Name);

            var listaRetono1 = type.InvokeMember(
                "RetornarDadosEnum",
                BindingFlags.InvokeMethod | BindingFlags.Instance | BindingFlags.Public,
                null,
                activator,
                parametros.ToArray());

            IEnumerable <string> listaRetono = listaRetono1 as IEnumerable <string>;

            if (listaRetono.Count().Equals(0))
            {
                return(null);
            }
            else
            {
                var listaEnum = Enum.GetValues(typeof(T))
                                .OfType <Enum>()
                                .Select(s => new
                {
                    Item       = s,
                    ItemString = s.ToString()
                });

                var listaDadorEnum = listaRetono
                                     .Select(s => s.Split(new string[] { FGlobus.Util.Constantes.CARACTER_SEPARACAO }, StringSplitOptions.None))
                                     .Select(s => new
                {
                    ItemString = s.FirstOrDefault(),
                    Descricao  = s.LastOrDefault()
                });

                IEnumerable <sDadosEnum> listaDadosEnum =
                    (from a in listaEnum
                     join b in listaDadorEnum on a.ItemString equals b.ItemString into join_b
                     from b in join_b.DefaultIfEmpty()
                     select new sDadosEnum()
                {
                    Descricao = b == null ? a.Item.ToString() : b.Descricao,
                    Valor = a.Item
                });

                return(listaDadosEnum
                       .ToArray());
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Set the URL of the web service.  This is how you point the service to a specific server.
        /// </summary>
        private string SetSvcUrl(System.Web.Services.Protocols.SoapHttpClientProtocol svc)
        {
            UriBuilder url = new UriBuilder(svc.Url);

            url.Host = m_loginInfo.Server;

            if (m_loginInfo.Port != 0)
            {
                url.Port = m_loginInfo.Port;
            }

            if (m_loginInfo.SSL)
            {
                url.Scheme = "https";
            }

            svc.Url = url.Uri.ToString();
            return(svc.Url);
        }
Ejemplo n.º 7
0
        private static void ReplaceServiceUrl(System.Web.Services.Protocols.SoapHttpClientProtocol service, SystemType systemType)
        {
            Uri    uri         = new Uri(service.Url);
            string hostAndPort = uri.Host;

            if (!uri.IsDefaultPort)
            {
                hostAndPort += ":" + uri.Port;
            }
            string url = uri.ToString();

            if (systemType == SystemType.CprBroker)
            {
                url = url.Replace(hostAndPort, "localhost:1551");
            }
            else
            {
                url = url.Replace(hostAndPort, "localhost:1552");
            }
            service.Url = url;
        }
Ejemplo n.º 8
0
        public static void SetBaseWebReference(string referenceType, System.Web.Services.Protocols.SoapHttpClientProtocol objservice)
        {
            string baseUrl = CommonData.GetInstance().GetWebReferenceUrl(referenceType);

            objservice.Url = baseUrl + objservice.Url.Substring(objservice.Url.LastIndexOf('/'));
        }
Ejemplo n.º 9
0
        private void ExecutarEnviaArquivo()
        {
            try
            {
                if (pnlArquivo.Controls?.Cast <CheckBox>().Where(_check => _check.Checked)?.ToList().Any() ?? false)
                {
                    Custom = false;
                    gpbArquivos.Visible = false;
                    btnSel.Visible      = false;
                    btnDes.Visible      = false;

                    gpbEnviados.Visible = true;
                    btnVoltar.Visible   = true;

                    pnlArquivo.Controls?.Cast <CheckBox>().Where(_check => _check.Checked)?.ToList().ForEach(_check =>
                    {
                        TreeNode _nodeCheck = new TreeNode(_check.Text);

                        int _contador = 0;
                        while (true)
                        {
                            _contador++;
                            string _url = "https://www.irko.com.br/csp/prgtrb/esocial/retornoXML.csp?CODEMP="
                                          + GetDesktop().GetEmpresa().Codigo.ToString();
                            _url += "&NOMEVT=" + ((SCI.ESocial.IRKO.TipoEvento)_check.Tag).Codigo;
                            _url += "&GUID=" + Guid;

                            XmlDocument _xml = new XmlDocument();
                            _xml.Load(_url);

                            if (_xml.DocumentElement.Name == "Fim")
                            {
                                break;
                            }
                            if (_xml.DocumentElement.Name == "Falha")
                            {
                                MessageBox.Show(_xml.DocumentElement.InnerText);
                                break;
                            }

                            XmlElement _xmlEsocial = _xml.DocumentElement;

                            string _cnpj = _xmlEsocial.GetElementsByTagName("ideTransmissor").Cast <XmlElement>().FirstOrDefault()
                                           .GetElementsByTagName("nrInsc").Cast <XmlElement>().FirstOrDefault().InnerText;

                            XmlNode _ideTransmissor = _xmlEsocial.GetElementsByTagName("ideTransmissor").Cast <XmlNode>().FirstOrDefault();
                            _xmlEsocial.RemoveChild(_ideTransmissor);

                            string _protocoEnvio = _xmlEsocial.GetElementsByTagName("protocoloEnvio").Cast <XmlElement>().FirstOrDefault().InnerText;

                            string _tpAmb = _protocoEnvio.Split('.')[1];

                            Resultado <System.Web.Services.Protocols.SoapHttpClientProtocol> _resultado = GetWrAssinado(_cnpj, (tpAmb)int.Parse(_tpAmb));

                            if (_resultado.Sucesso)
                            {
                                XmlElement _retorno = null;
                                System.Web.Services.Protocols.SoapHttpClientProtocol _wrESocialConsultar = _resultado.Retorno;
                                try
                                {
                                    System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate(
                                        object sender,
                                        X509Certificate cert,
                                        X509Chain chain,
                                        SslPolicyErrors sslPolicyErrors)
                                    {
                                        if (sslPolicyErrors == SslPolicyErrors.None)
                                        {
                                            return(true);
                                        }

                                        if (cert.GetCertHashString() == "F947B2BF566DF881A4F52CDDB436BE522CB48A3F")
                                        {
                                            return(true);
                                        }

                                        return(false);
                                    };
                                    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;

                                    if ((tpAmb)int.Parse(_tpAmb) == tpAmb.Producão)
                                    {
                                        _retorno = ((SCI.ESocial.Producao.Retorno.ServicoConsultarLoteEventos)_wrESocialConsultar).ConsultarLoteEventos(_xmlEsocial);
                                    }
                                    else
                                    {
                                        _retorno = ((SCI.ESocial.ProducaoRestrita.Retorno.ServicoConsultarLoteEventos)_wrESocialConsultar).ConsultarLoteEventos(_xmlEsocial);
                                    }
                                }
#pragma warning disable CS0168 // A variável foi declarada, mas nunca foi usada
                                catch (Exception ex)
#pragma warning restore CS0168 // A variável foi declarada, mas nunca foi usada
                                {
                                    continue;
                                }

                                TreeNode _node     = new TreeNode("Protocolo:" + _protocoEnvio);
                                XmlElement _status = _retorno.GetElementsByTagName("status").Cast <XmlElement>().FirstOrDefault();

                                if (_status.GetElementsByTagName("cdResposta").Cast <XmlElement>().FirstOrDefault().InnerText == "201")
                                {
                                    if (GravarRetorno(_retorno, ""))
                                    {
                                        XmlNodeList _eventos = _retorno.GetElementsByTagName("evento");
                                        _eventos.Cast <XmlElement>().ToList().ForEach(_evento =>
                                        {
                                            TreeNode _nodeId          = new TreeNode(_evento.Attributes["Id"].Value);
                                            XmlElement _processamento = _evento.GetElementsByTagName("processamento").Cast <XmlElement>().FirstOrDefault();

                                            _nodeId.Nodes.AddRange(new TreeNode[]
                                            {
                                                new TreeNode("Código: " + _processamento.GetElementsByTagName("cdResposta").Cast <XmlElement>().FirstOrDefault().InnerText)
                                                , new TreeNode("Descrição: " + _processamento.GetElementsByTagName("descResposta").Cast <XmlElement>().FirstOrDefault().InnerText)
                                            });

                                            int _cttOcor             = 0;
                                            XmlNodeList _ocorrencias = _processamento.GetElementsByTagName("ocorrencia");
                                            _ocorrencias.Cast <XmlElement>().ToList().ForEach(_ocorrencia =>
                                            {
                                                _cttOcor++;
                                                TreeNode _nodeOcor = new TreeNode("Ocorrencia " + _cttOcor);
                                                _nodeOcor.Nodes.AddRange(new TreeNode[]
                                                {
                                                    new TreeNode("Tipo: " + _ocorrencia.GetElementsByTagName("tipo").Cast <XmlElement>().FirstOrDefault().InnerText)
                                                    , new TreeNode("Código: " + _ocorrencia.GetElementsByTagName("codigo").Cast <XmlElement>().FirstOrDefault().InnerText)
                                                    , new TreeNode("Descrição: " + _ocorrencia.GetElementsByTagName("descricao").Cast <XmlElement>().FirstOrDefault().InnerText)
                                                });
                                                _nodeId.Nodes.Add(_nodeOcor);
                                            });

                                            _node.Nodes.Add(_nodeId);
                                        });
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                                else if (_status.GetElementsByTagName("cdResposta").Cast <XmlElement>().FirstOrDefault().InnerText == "501")
                                {
                                    if (GravarRetorno(_retorno, _protocoEnvio))
                                    {
                                        _node.Nodes.AddRange(new TreeNode[]
                                        {
                                            new TreeNode("Código :" + _status.GetElementsByTagName("cdResposta").Cast <XmlElement>().FirstOrDefault().InnerText)
                                            , new TreeNode("Descrição:" + _status.GetElementsByTagName("descResposta").Cast <XmlElement>().FirstOrDefault().InnerText)
                                        });

                                        int _cttOcor             = 0;
                                        XmlNodeList _ocorrencias = _status.GetElementsByTagName("ocorrencia");
                                        _ocorrencias.Cast <XmlElement>().ToList().ForEach(_ocorrencia =>
                                        {
                                            _cttOcor++;
                                            TreeNode _nodeOcor = new TreeNode("Ocorrencia " + _cttOcor);
                                            _nodeOcor.Nodes.AddRange(new TreeNode[]
                                            {
                                                new TreeNode("Tipo: " + _ocorrencia.GetElementsByTagName("tipo").Cast <XmlElement>().FirstOrDefault().InnerText)
                                                , new TreeNode("Código: " + _ocorrencia.GetElementsByTagName("codigo").Cast <XmlElement>().FirstOrDefault().InnerText)
                                                , new TreeNode("Descrição: " + _ocorrencia.GetElementsByTagName("descricao").Cast <XmlElement>().FirstOrDefault().InnerText)
                                            });
                                            _node.Nodes.Add(_nodeOcor);
                                        });
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                                else if (_status.GetElementsByTagName("cdResposta").Cast <XmlElement>().FirstOrDefault().InnerText == "69")
                                {
                                    if (GravarRetorno(_retorno, _protocoEnvio))
                                    {
                                        _node.Nodes.AddRange(new TreeNode[]
                                        {
                                            new TreeNode("Código :" + _status.GetElementsByTagName("cdResposta").Cast <XmlElement>().FirstOrDefault().InnerText)
                                            , new TreeNode("Descrição:" + _status.GetElementsByTagName("descResposta").Cast <XmlElement>().FirstOrDefault().InnerText)
                                        });
                                        _nodeCheck.Nodes.Add(_node);
                                        break;
                                    }
                                }
                                else
                                {
                                    String _textoDescricão = _status.GetElementsByTagName("descResposta").Cast <XmlElement>().FirstOrDefault().InnerText;
                                    String[] _palavras     = _textoDescricão.Split(' ');
                                    if (_palavras.Length > 15)
                                    {
                                        string _NovotextoDescricão = "";
                                        for (int i = 0; i < _palavras.Length; i++)
                                        {
                                            if ((i % 15 == 0) && (i != 0))
                                            {
                                                _NovotextoDescricão = _NovotextoDescricão + " " + _palavras[i];
                                                _node.Nodes.AddRange(new TreeNode[]
                                                {
                                                    new TreeNode(_NovotextoDescricão)
                                                });
                                                _NovotextoDescricão = "";
                                            }
                                            else
                                            {
                                                _NovotextoDescricão = _NovotextoDescricão + " " + _palavras[i];
                                            }
                                        }

                                        if (_NovotextoDescricão != "")
                                        {
                                            _node.Nodes.AddRange(new TreeNode[]
                                            {
                                                new TreeNode(_NovotextoDescricão)
                                            });
                                        }

                                        _nodeCheck.Nodes.Add(_node);
                                        break;
                                    }
                                    else
                                    {
                                        _node.Nodes.AddRange(new TreeNode[]
                                        {
                                            new TreeNode("Código :" + _status.GetElementsByTagName("cdResposta").Cast <XmlElement>().FirstOrDefault().InnerText)
                                            , new TreeNode("Descrição:" + _textoDescricão)
                                        });
                                        _nodeCheck.Nodes.Add(_node);
                                        break;
                                    }
                                }
                                _nodeCheck.Nodes.Add(_node);
                            }
                            else
                            {
                                MessageBox.Show(_resultado.Mensagem);
                                break;
                            }
                        }
                        trvEnviado.Nodes.Add(_nodeCheck);
                    });
                    trvEnviado.ExpandAll();
                }
                else
                {
                    MessageBox.Show("Nenhum arquivo selecionado para envio.");
                }
            }
            catch (Exception _ex)
            {
                MessageBox.Show(_ex.Message);
            }
            GetDesktop().HideLoading();
        }
Ejemplo n.º 10
0
        private void ExecutarEnviaArquivo()
        {
            Custom = false;
            gpbArquivos.Visible = false;
            btnSel.Visible      = false;
            btnDes.Visible      = false;

            gpbEnviados.Visible = true;
            btnVoltar.Visible   = true;
            btnEnviar.Visible   = false;

            try
            {
                pnlArquivo.Controls?.Cast <CheckBox>().Where(_check => _check.Checked)?.ToList().ForEach(_check =>
                {
                    Model.Report.DCTF.RetornoREINF.RetornoEvento _retornoEvento = new Model.Report.DCTF.RetornoREINF.RetornoEvento
                    {
                        Descricao = _check.Text
                    };
                    TreeNode _nodeCheck = new TreeNode(_check.Text);
                    int _contador       = 0;

                    string _url;

                    if (((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo == "R-5011")
                    {
                        _url  = "https://www.irko.com.br/csp/prgdcn/reinf/retornoXML.csp?";
                        _url += "CODEMP=" + GetDesktop().GetEmpresa().Codigo.ToString();
                        _url += "&GUID=" + Guid;
                    }
                    else
                    {
                        _url  = "https://www.irko.com.br/csp/prgdcn/reinf/arquivoXML.csp?";
                        _url += "CODEMP=" + GetDesktop().GetEmpresa().Codigo.ToString();
                        _url += "&NOMREG=" + ((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo;
                        _url += "&GUID=" + Guid;
                    }
                    XmlDocument _xml = new XmlDocument
                    {
                        PreserveWhitespace = false
                    };
                    _xml.Load(_url);

                    if (_xml.DocumentElement.Name == "Fim" || _xml.DocumentElement.Name == "Falha")
                    {
                    }
                    else
                    {
                        XmlNode _xmlReinf = _xml.DocumentElement;

                        string _cnpjTransmissao = "07074083000102";
                        string _cnpjContr       = string.Empty;

                        var resultadoCNPJ = wrReinf.RecuperaCNPJCPFCertificado(Guid);
                        if (resultadoCNPJ.Sucesso)
                        {
                            _cnpjContr = resultadoCNPJ.RetornoResultadoRecuperaCNPJCPFCertificado;
                        }

                        if (String.IsNullOrEmpty(_cnpjContr))
                        {
                            _cnpjContr = _xml.DocumentElement.GetElementsByTagName("ideContri")?.Cast <XmlElement>()
                                         .FirstOrDefault()?.GetElementsByTagName("nrInsc")?.Cast <XmlElement>().FirstOrDefault()?.InnerText;
                        }

                        String _tpAmb = _xml.DocumentElement.GetElementsByTagName("tpAmb")?.Cast <XmlElement>()?
                                        .FirstOrDefault()?.InnerText;

                        _cnpjTransmissao = _cnpjContr;
                        var _xmlElements = _xml.GetElementsByTagName("loteEventos").Cast <XmlElement>().FirstOrDefault();

                        List <string> _listaId = _xmlElements?.Cast <XmlNode>().Where(_node => _node.Name == "evento")?
                                                 .Select(_id => _id.Attributes["id"].Value)?.ToList();

                        Resultado _resultadoAssinar = new Resultado();
                        _resultadoAssinar.Sucesso   = true;
                        if (((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo != "R-5011")
                        {
                            _resultadoAssinar = AssinarXML(ref _xml, _cnpjContr);
                        }

                        if (_resultadoAssinar.Sucesso)
                        {
                            XmlNode _retorno = null;

                            SCI.Base.Resultado <System.Web.Services.Protocols.SoapHttpClientProtocol> _resultado = GetWrAssinado(_cnpjTransmissao, ((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo, _tpAmb);
                            if (_resultado.Sucesso)
                            {
                                System.Web.Services.Protocols.SoapHttpClientProtocol _wrAssinado = _resultado.Retorno;
                                try
                                {
                                    System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate(
                                        object sender,
                                        X509Certificate cert,
                                        X509Chain chain,
                                        SslPolicyErrors sslPolicyErrors)
                                    {
                                        if (sslPolicyErrors == SslPolicyErrors.None)
                                        {
                                            return(true);
                                        }

                                        return(false);
                                    };
                                    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;

                                    if (((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo == "R-5011")
                                    {
                                        XmlNodeList xnList = _xmlReinf.SelectNodes("/ConsultaInformacoesConsolidadas");
                                        byte _tipoInscricaoContribuinte     = Convert.ToByte(xnList.Item(0).ChildNodes.Item(0).InnerText);
                                        string _numeroInscricaoContribuinte = xnList.Item(0).ChildNodes.Item(1).InnerText;
                                        string _numeroProtocoloFechamento   = xnList.Item(0).ChildNodes.Item(2).InnerText;
                                        if (_tpAmb == "1")
                                        {
                                            _retorno = ((Reinf.Producao.Retorno.ConsultasReinf)_wrAssinado).ConsultaInformacoesConsolidadas(_tipoInscricaoContribuinte, _numeroInscricaoContribuinte, _numeroProtocoloFechamento);
                                        }
                                        else
                                        {
                                            _retorno = ((Reinf.ProducaoRestrita.Retorno.ConsultasReinf)_wrAssinado).ConsultaInformacoesConsolidadas(_tipoInscricaoContribuinte, _numeroInscricaoContribuinte, _numeroProtocoloFechamento);
                                        }
                                    }
                                    else
                                    {
                                        if (_tpAmb == "1")
                                        {
                                            _retorno = ((Reinf.Producao.Envio.RecepcaoLoteReinf)_wrAssinado).ReceberLoteEventos(_xmlReinf);
                                        }
                                        else
                                        {
                                            _retorno = ((Reinf.ProducaoRestrita.Envio.RecepcaoLoteReinf)_wrAssinado).ReceberLoteEventos(_xmlReinf);
                                        }
                                    }

                                    XmlDocument _docRetorno = new XmlDocument();
                                    _docRetorno.LoadXml(_retorno.OuterXml);

                                    XmlElement _retornoElement = _docRetorno.DocumentElement;

                                    Reinf.Irko.ResultadoGravarRetornoEvento _retornoWR = GravarEnvio(_retorno, _listaId, _cnpjTransmissao, ((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo);

                                    if (_retornoWR.Sucesso)
                                    {
                                        if (((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo == "R-5011")
                                        {
                                            if (_retornoWR.RetornoRetornoTotEvt10300 != null)
                                            {
                                                Reinf.Irko.evtTotalContrib _retornoLoteEventos = _retornoWR.RetornoRetornoTotEvt10300.evtTotalContrib;
                                                _contador++;

                                                TreeNode _nodeArquivo = new TreeNode("Arquivo " + _contador.ToString());

                                                TreeNode _nodeStatus = new TreeNode(_retornoLoteEventos.ideRecRetorno.ideStatus.descRetorno);

                                                TreeNode _nodeId = new TreeNode(_retornoLoteEventos.id);

                                                _retornoLoteEventos.ideRecRetorno.ideStatus.regOcorrs?.ToList().ForEach(_ocorr =>
                                                {
                                                    TreeNode _nodeTpOcorr = new TreeNode(_ocorr.tpOcorr.ToString());
                                                    _nodeId.Nodes.Add(_nodeTpOcorr);
                                                    TreeNode _nodeCodResp = new TreeNode(_ocorr.codResp);
                                                    _nodeId.Nodes.Add(_nodeCodResp);
                                                    TreeNode _nodeDscResp = new TreeNode(_ocorr.dscResp);
                                                    _nodeId.Nodes.Add(_nodeDscResp);
                                                });

                                                _nodeStatus.Nodes.Add(_nodeId);

                                                _nodeArquivo.Nodes.Add(_nodeStatus);
                                                _nodeCheck.Nodes.Add(_nodeArquivo);
                                            }
                                            else
                                            {
                                                Reinf.Irko.evtTotalContrib1 _retornoLoteEventos = _retornoWR.RetornoRetornoTotEvt10400.evtTotalContrib;
                                                _contador++;

                                                TreeNode _nodeArquivo = new TreeNode("Arquivo " + _contador.ToString());

                                                TreeNode _nodeStatus = new TreeNode(_retornoLoteEventos.ideRecRetorno.ideStatus.descRetorno);

                                                TreeNode _nodeId = new TreeNode(_retornoLoteEventos.id);

                                                _retornoLoteEventos.ideRecRetorno.ideStatus.regOcorrs?.ToList().ForEach(_ocorr =>
                                                {
                                                    TreeNode _nodeTpOcorr = new TreeNode(_ocorr.tpOcorr.ToString());
                                                    _nodeId.Nodes.Add(_nodeTpOcorr);
                                                    TreeNode _nodeCodResp = new TreeNode(_ocorr.codResp);
                                                    _nodeId.Nodes.Add(_nodeCodResp);
                                                    TreeNode _nodeDscResp = new TreeNode(_ocorr.dscResp);
                                                    _nodeId.Nodes.Add(_nodeDscResp);
                                                });

                                                _nodeStatus.Nodes.Add(_nodeId);

                                                _nodeArquivo.Nodes.Add(_nodeStatus);
                                                _nodeCheck.Nodes.Add(_nodeArquivo);
                                            }
                                        }
                                        else
                                        {
                                            if (_retornoWR.RetornoRetornoLote10300 != null)
                                            {
                                                Reinf.Irko.retornoLoteEventos _retornoLoteEventos = _retornoWR.RetornoRetornoLote10300.retornoLoteEventos;
                                                _contador++;

                                                TreeNode _nodeArquivo = new TreeNode("Arquivo " + _contador.ToString());

                                                TreeNode _nodeStatus = new TreeNode(_retornoLoteEventos.status.descRetorno);

                                                _retornoLoteEventos.retornoEventos?.ToList().ForEach(_evento =>
                                                {
                                                    TreeNode _nodeId = new TreeNode(_evento.id);

                                                    TreeNode _nodeStatusId = new TreeNode(_evento.Reinf.evtTotal.ideRecRetorno.ideStatus.descRetorno);
                                                    _evento.Reinf.evtTotal.ideRecRetorno.ideStatus.regOcorrs?.ToList().ForEach(_ocorr =>
                                                    {
                                                        TreeNode _nodeTpOcorr = new TreeNode(_ocorr.tpOcorr.ToString());
                                                        _nodeStatusId.Nodes.Add(_nodeTpOcorr);
                                                        TreeNode _nodeCodResp = new TreeNode(_ocorr.codResp);
                                                        _nodeStatusId.Nodes.Add(_nodeCodResp);
                                                        TreeNode _nodeDscResp = new TreeNode(_ocorr.dscResp);
                                                        _nodeStatusId.Nodes.Add(_nodeDscResp);
                                                    });

                                                    _nodeId.Nodes.Add(_nodeStatusId);
                                                    _nodeStatus.Nodes.Add(_nodeId);
                                                });

                                                _retornoLoteEventos.status.dadosRegistroOcorrenciaLote?.ToList().ForEach(_evento =>
                                                {
                                                    TreeNode _nodeCodigo    = new TreeNode(_evento.codigo);
                                                    TreeNode _nodeDescricao = new TreeNode(_evento.descricao);

                                                    _nodeCodigo.Nodes.Add(_nodeDescricao);
                                                    _nodeStatus.Nodes.Add(_nodeCodigo);
                                                });

                                                _nodeArquivo.Nodes.Add(_nodeStatus);
                                                _nodeCheck.Nodes.Add(_nodeArquivo);
                                            }
                                            else
                                            {
                                                Reinf.Irko.retornoLoteEventos1 _retornoLoteEventos = _retornoWR.RetornoRetornoLote10400.retornoLoteEventos;
                                                _contador++;

                                                TreeNode _nodeArquivo = new TreeNode("Arquivo " + _contador.ToString());

                                                TreeNode _nodeStatus = new TreeNode(_retornoLoteEventos.status.descRetorno);

                                                _retornoLoteEventos.retornoEventos?.ToList().ForEach(_evento =>
                                                {
                                                    TreeNode _nodeId = new TreeNode(_evento.id);

                                                    TreeNode _nodeStatusId = new TreeNode(_evento.Reinf.evtTotal.ideRecRetorno.ideStatus.descRetorno);
                                                    _evento.Reinf.evtTotal.ideRecRetorno.ideStatus.regOcorrs?.ToList().ForEach(_ocorr =>
                                                    {
                                                        TreeNode _nodeTpOcorr = new TreeNode(_ocorr.tpOcorr.ToString());
                                                        _nodeStatusId.Nodes.Add(_nodeTpOcorr);
                                                        TreeNode _nodeCodResp = new TreeNode(_ocorr.codResp);
                                                        _nodeStatusId.Nodes.Add(_nodeCodResp);
                                                        TreeNode _nodeDscResp = new TreeNode(_ocorr.dscResp);
                                                        _nodeStatusId.Nodes.Add(_nodeDscResp);
                                                    });

                                                    _nodeId.Nodes.Add(_nodeStatusId);
                                                    _nodeStatus.Nodes.Add(_nodeId);
                                                });

                                                _retornoLoteEventos.status.dadosRegistroOcorrenciaLote?.ToList().ForEach(_evento =>
                                                {
                                                    TreeNode _nodeCodigo    = new TreeNode(_evento.codigo);
                                                    TreeNode _nodeDescricao = new TreeNode(_evento.descricao);

                                                    _nodeCodigo.Nodes.Add(_nodeDescricao);
                                                    _nodeStatus.Nodes.Add(_nodeCodigo);
                                                });

                                                _nodeArquivo.Nodes.Add(_nodeStatus);
                                                _nodeCheck.Nodes.Add(_nodeArquivo);
                                            }



                                            /*Reinf.Irko.retornoLoteEventos1 _retornoLoteEventos = _retornoWR.RetornoRetornoLote10400.retornoLoteEventos;
                                             * _contador++;
                                             *
                                             * TreeNode _nodeArquivo = new TreeNode("Arquivo " + _contador.ToString());
                                             *
                                             * TreeNode _nodeStatus = new TreeNode(_retornoLoteEventos.status.descRetorno);
                                             *
                                             * _retornoLoteEventos.retornoEventos.ToList().ForEach(_evento =>
                                             * {
                                             * TreeNode _nodeId = new TreeNode(_evento.id);
                                             *
                                             * TreeNode _nodeStatusId = new TreeNode(_evento.Reinf.evtTotal.ideRecRetorno.ideStatus.descRetorno);
                                             * _evento.Reinf.evtTotal.ideRecRetorno.ideStatus.regOcorrs?.ToList().ForEach(_ocorr =>
                                             * {
                                             *          TreeNode _nodeTpOcorr = new TreeNode(_ocorr.tpOcorr.ToString());
                                             *          _nodeStatusId.Nodes.Add(_nodeTpOcorr);
                                             *          TreeNode _nodeCodResp = new TreeNode(_ocorr.codResp);
                                             *          _nodeStatusId.Nodes.Add(_nodeCodResp);
                                             *          TreeNode _nodeDscResp = new TreeNode(_ocorr.dscResp);
                                             *          _nodeStatusId.Nodes.Add(_nodeDscResp);
                                             *      });
                                             *
                                             * _nodeId.Nodes.Add(_nodeStatusId);
                                             * _nodeStatus.Nodes.Add(_nodeId);
                                             * });
                                             *
                                             * _nodeArquivo.Nodes.Add(_nodeStatus);
                                             * _nodeCheck.Nodes.Add(_nodeArquivo);*/
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show(_retornoWR.Mensagem);
                                    }
                                }
#pragma warning disable CS0168 // A variável foi declarada, mas nunca foi usada
                                catch (Exception ex)
#pragma warning restore CS0168 // A variável foi declarada, mas nunca foi usada
                                {
                                    MessageBox.Show(ex.Message);
                                    return;
                                }
                            }

                            //_retornReinf.Eventos.Add(_retornoEvento);
                            trvEnviado.Nodes.Add(_nodeCheck);
                        }
                        else
                        {
                            MessageBox.Show(_resultadoAssinar.Mensagem);
                        }
                    }
                });
            }
            catch (Exception _ex)
            {
                MessageBox.Show(_ex.Message);
            }
        }
Ejemplo n.º 11
0
        private void ExecutarEnviaArquivo()
        {
            try
            {
                if (pnlArquivo.Controls?.Cast <CheckBox>().Where(_check => _check.Checked)?.ToList().Any() ?? false)
                {
                    Custom = false;
                    gpbArquivos.Visible = false;
                    btnSel.Visible      = false;
                    btnDes.Visible      = false;

                    gpbEnviados.Visible = true;
                    btnVoltar.Visible   = true;

                    pnlArquivo.Controls?.Cast <CheckBox>().Where(_check => _check.Checked)?.ToList().ForEach(_check =>
                    {
                        TreeNode _nodeCheck = new TreeNode(_check.Text);

                        int _contador = 0;
                        while (true)
                        {
                            string _url = "https://www.irko.com.br/csp/prgdcn/esocial/arquivoXML.csp?CODEMP="
                                          + GetDesktop().GetEmpresa().Codigo.ToString();
                            _url += "&NOMEVT=" + ((SCI.ESocial.IRKO.DCTF.TipoEvento)_check.Tag).Codigo;
                            _url += "&GUID=" + Guid;

                            XmlDocument _xml = new XmlDocument
                            {
                                PreserveWhitespace = false
                            };
                            _xml.Load(_url);

                            if (_xml.DocumentElement.Name == "Fim")
                            {
                                break;
                            }
                            if (_xml.DocumentElement.Name == "Falha")
                            {
                                MessageBox.Show(_xml.DocumentElement.InnerText);
                                break;
                            }

                            XmlElement _xmlEsocial = _xml.DocumentElement;

                            string _cnpjTransmissao = _xmlEsocial.GetElementsByTagName("ideTransmissor").Cast <XmlElement>().FirstOrDefault()
                                                      .GetElementsByTagName("nrInsc").Cast <XmlElement>().FirstOrDefault().InnerText;
                            string _cnpjEmpregador = _xmlEsocial.GetElementsByTagName("ideEmpregador").Cast <XmlElement>().FirstOrDefault()
                                                     .GetElementsByTagName("nrInsc").Cast <XmlElement>().FirstOrDefault().InnerText;
                            Resultado _resultadoAssinar = AssinarXML(ref _xml, _cnpjTransmissao);

                            XmlNodeList _xmlData   = _xml.GetElementsByTagName("evento");
                            List <string> _listaId = _xmlData.Cast <XmlNode>().Where(_id => _id.Name == "evento")
                                                     .Select(_id => _id.Attributes["Id"].Value).ToList();

                            XmlElement _retorno = null;

                            string _tpAmb = _xmlEsocial.GetElementsByTagName("evento").Cast <XmlElement>().FirstOrDefault()
                                            .GetElementsByTagName("ideEvento").Cast <XmlElement>().FirstOrDefault()
                                            .GetElementsByTagName("tpAmb").Cast <XmlElement>().FirstOrDefault().InnerText;

                            SCI.Base.Resultado <System.Web.Services.Protocols.SoapHttpClientProtocol> _resultado = GetWrAssinado(_cnpjTransmissao, (TpAmb)int.Parse(_tpAmb));
                            if (_resultado.Sucesso)
                            {
                                System.Web.Services.Protocols.SoapHttpClientProtocol _wrAssinado = _resultado.Retorno;

                                try
                                {
                                    System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate(
                                        object sender,
                                        X509Certificate cert,
                                        X509Chain chain,
                                        SslPolicyErrors sslPolicyErrors)
                                    {
                                        if (sslPolicyErrors == SslPolicyErrors.None)
                                        {
                                            return(true);
                                        }

                                        if (cert.GetCertHashString() == "F947B2BF566DF881A4F52CDDB436BE522CB48A3F")
                                        {
                                            return(true);
                                        }

                                        return(false);
                                    };
                                    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;

                                    if ((TpAmb)int.Parse(_tpAmb) == TpAmb.Producão)
                                    {
                                        _retorno = ((SCI.ESocial.Producao.Envio.ServicoEnviarLoteEventos)_wrAssinado).EnviarLoteEventos(_xmlEsocial);
                                    }
                                    else
                                    {
                                        _retorno = ((SCI.ESocial.ProducaoRestrita.Envio.ServicoEnviarLoteEventos)_wrAssinado).EnviarLoteEventos(_xmlEsocial);
                                    }
                                }
                                catch (Exception ex)
                                {
                                    MessageBox.Show(ex.Message);
                                    break;
                                }
                                if (_retorno.GetElementsByTagName("cdResposta").Cast <XmlElement>().FirstOrDefault().InnerText == "301")
                                {
                                    TreeNode _node         = new TreeNode("Código de Resposta: " + _retorno.GetElementsByTagName("cdResposta").Cast <XmlElement>().FirstOrDefault().InnerText);
                                    String _textoDescricão = _retorno.GetElementsByTagName("descResposta").Cast <XmlElement>().FirstOrDefault().InnerText;
                                    String[] _palavras     = _textoDescricão.Split(' ');
                                    if (_palavras.Length > 15)
                                    {
                                        string _NovotextoDescricão = "";
                                        for (int i = 0; i < _palavras.Length; i++)
                                        {
                                            if ((i % 15 == 0) && (i != 0))
                                            {
                                                _NovotextoDescricão = _NovotextoDescricão + " " + _palavras[i];
                                                _node.Nodes.AddRange(new TreeNode[]
                                                {
                                                    new TreeNode(_NovotextoDescricão)
                                                });
                                                _NovotextoDescricão = "";
                                            }
                                            else
                                            {
                                                _NovotextoDescricão = _NovotextoDescricão + " " + _palavras[i];
                                            }
                                        }

                                        if (_NovotextoDescricão != "")
                                        {
                                            _node.Nodes.AddRange(new TreeNode[]
                                            {
                                                new TreeNode(_NovotextoDescricão)
                                            });
                                        }

                                        _nodeCheck.Nodes.Add(_node);
                                        break;
                                    }
                                    else
                                    {
                                        _node.Nodes.AddRange(new TreeNode[]
                                        {
                                            new TreeNode("Descrição: " + _textoDescricão)
                                        });
                                    }
                                    _nodeCheck.Nodes.Add(_node);
                                    break;
                                }
                                else
                                {
                                    if (GravarEnvio(_retorno, _listaId, _cnpjTransmissao))
                                    {
                                        _contador++;
                                        TreeNode _node   = new TreeNode("Arquivo " + _contador.ToString());
                                        TreeNode _nodeId = new TreeNode("ID");
                                        _nodeId.Nodes.AddRange(_listaId.ConvertAll <TreeNode>(_id => new TreeNode(_id)).ToArray());
                                        _node.Nodes.Add(_nodeId);

                                        TreeNode _nodeRetorno = new TreeNode("Retorno");

                                        TreeNode _nodeResposta = new TreeNode(
                                            _retorno.GetElementsByTagName("descResposta").Cast <XmlElement>().FirstOrDefault().InnerText);

                                        if (_retorno.GetElementsByTagName("cdResposta").Cast <XmlElement>().FirstOrDefault().InnerText == "201")
                                        {
                                            _nodeResposta.Nodes.Add(new TreeNode("Data: " +
                                                                                 _retorno.GetElementsByTagName("dhRecepcao").Cast <XmlElement>().FirstOrDefault().InnerText));
                                            _nodeResposta.Nodes.Add(new TreeNode("Varsão: " +
                                                                                 _retorno.GetElementsByTagName("versaoAplicativoRecepcao").Cast <XmlElement>().FirstOrDefault().InnerText));
                                            _nodeResposta.Nodes.Add(new TreeNode("Protocolo: " +
                                                                                 _retorno.GetElementsByTagName("protocoloEnvio").Cast <XmlElement>().FirstOrDefault().InnerText));
                                        }
                                        else
                                        {
                                            XmlNodeList _ocorrencias = _retorno.GetElementsByTagName("ocorrencia");

                                            _ocorrencias.Cast <XmlElement>().ToList().ForEach(_ocorrencia =>
                                            {
                                                TreeNode trnOcur = new TreeNode("Ocorrência");
                                                trnOcur.Nodes.AddRange(new TreeNode[]
                                                {
                                                    new TreeNode(_ocorrencia.GetElementsByTagName("codigo").Cast <XmlElement>().FirstOrDefault().InnerText)
                                                    , new TreeNode(_ocorrencia.GetElementsByTagName("descricao").Cast <XmlElement>().FirstOrDefault().InnerText)
                                                    , new TreeNode(_ocorrencia.GetElementsByTagName("tipo").Cast <XmlElement>().FirstOrDefault().InnerText)
                                                });
                                                _nodeResposta.Nodes.Add(trnOcur);
                                            }
                                                                                              );
                                        }
                                        _nodeRetorno.Nodes.Add(_nodeResposta);

                                        _node.Nodes.Add(_nodeRetorno);
                                        _nodeCheck.Nodes.Add(_node);
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                            }
                            else
                            {
                                MessageBox.Show(_resultado.Mensagem);
                                break;
                            }
                        }
                        trvEnviado.Nodes.Add(_nodeCheck);
                    });
                    trvEnviado.ExpandAll();
                }
                else
                {
                    MessageBox.Show("Nenhum arquivo selecionado para envio.");
                }
            }
            catch (Exception _ex)
            {
                MessageBox.Show(_ex.Message);
            }
            GetDesktop().HideLoading();
        }
Ejemplo n.º 12
0
        private void ExecutarEnviaArquivo()
        {
            Custom = false;
            gpbArquivos.Visible = false;
            btnSel.Visible      = false;
            btnDes.Visible      = false;
            imgVoltar.Visible   = true;
            imgEnviar.Visible   = false;

            try
            {
                List <SCI.Model.Report.DCTF.Reinf.RetornoREINF> _listRetorno = new List <Model.Report.DCTF.Reinf.RetornoREINF>();

                pnlArquivo.Controls?.Cast <CheckBox>().Where(_check => _check.Checked)?.ToList().ForEach(_check =>
                {
                    Model.Report.DCTF.RetornoREINF.RetornoEvento _retornoEvento = new Model.Report.DCTF.RetornoREINF.RetornoEvento
                    {
                        Descricao = _check.Text
                    };

                    int _contador = 0;

                    string _url;

                    if (((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo == "R-5011")
                    {
                        _url  = "https://www.irko.com.br/csp/prgdcn/reinf/retornoXML.csp?";
                        _url += "CODEMP=" + GetDesktop().GetEmpresa().Codigo.ToString();
                        _url += "&GUID=" + Guid;
                    }
                    else
                    {
                        _url  = "https://www.irko.com.br/csp/prgdcn/reinf/arquivoXML.csp?";
                        _url += "CODEMP=" + GetDesktop().GetEmpresa().Codigo.ToString();
                        _url += "&NOMREG=" + ((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo;
                        _url += "&GUID=" + Guid;
                    }
                    XmlDocument _xml = new XmlDocument
                    {
                        PreserveWhitespace = false
                    };
                    _xml.Load(_url);

                    if (_xml.DocumentElement.Name == "Fim" || _xml.DocumentElement.Name == "Falha")
                    {
                    }
                    else
                    {
                        XmlNode _xmlReinf = _xml.DocumentElement;

                        string _cnpjTransmissao = "07074083000102";
                        string _cnpjContr       = string.Empty;

                        var resultadoCNPJ = wrReinf.RecuperaCNPJCPFCertificado(Guid);
                        if (resultadoCNPJ.Sucesso)
                        {
                            _cnpjContr = resultadoCNPJ.RetornoResultadoRecuperaCNPJCPFCertificado;
                        }

                        if (String.IsNullOrEmpty(_cnpjContr))
                        {
                            _cnpjContr = _xml.DocumentElement.GetElementsByTagName("ideContri")?.Cast <XmlElement>()
                                         .FirstOrDefault()?.GetElementsByTagName("nrInsc")?.Cast <XmlElement>().FirstOrDefault()?.InnerText;
                        }

                        String _tpAmb = _xml.DocumentElement.GetElementsByTagName("tpAmb")?.Cast <XmlElement>()?
                                        .FirstOrDefault()?.InnerText;

                        _cnpjTransmissao = _cnpjContr;
                        var _xmlElements = _xml.GetElementsByTagName("loteEventos").Cast <XmlElement>().FirstOrDefault();

                        List <string> _listaId = _xmlElements?.Cast <XmlNode>().Where(_node => _node.Name == "evento")?
                                                 .Select(_id => _id.Attributes["id"].Value)?.ToList();

                        Resultado _resultadoAssinar = new Resultado();
                        _resultadoAssinar.Sucesso   = true;
                        if (((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo != "R-5011")
                        {
                            _resultadoAssinar = AssinarXML(ref _xml, _cnpjContr);
                        }

                        if (_resultadoAssinar.Sucesso)
                        {
                            XmlNode _retorno = null;

                            SCI.Base.Resultado <System.Web.Services.Protocols.SoapHttpClientProtocol> _resultado = GetWrAssinado(_cnpjTransmissao, ((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo, _tpAmb);
                            if (_resultado.Sucesso)
                            {
                                System.Web.Services.Protocols.SoapHttpClientProtocol _wrAssinado = _resultado.Retorno;
                                try
                                {
                                    System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate(
                                        object sender,
                                        X509Certificate cert,
                                        X509Chain chain,
                                        SslPolicyErrors sslPolicyErrors)
                                    {
                                        if (sslPolicyErrors == SslPolicyErrors.None)
                                        {
                                            return(true);
                                        }

                                        return(false);
                                    };
                                    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;

                                    if (((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo == "R-5011")
                                    {
                                        XmlNodeList xnList = _xmlReinf.SelectNodes("/ConsultaInformacoesConsolidadas");
                                        byte _tipoInscricaoContribuinte     = Convert.ToByte(xnList.Item(0).ChildNodes.Item(0).InnerText);
                                        string _numeroInscricaoContribuinte = xnList.Item(0).ChildNodes.Item(1).InnerText;
                                        string _numeroProtocoloFechamento   = xnList.Item(0).ChildNodes.Item(2).InnerText;
                                        if (_tpAmb == "1")
                                        {
                                            _retorno = ((Reinf.Producao.Retorno.ConsultasReinf)_wrAssinado).ConsultaInformacoesConsolidadas(_tipoInscricaoContribuinte, _numeroInscricaoContribuinte, _numeroProtocoloFechamento);
                                        }
                                        else
                                        {
                                            _retorno = ((Reinf.ProducaoRestrita.Retorno.ConsultasReinf)_wrAssinado).ConsultaInformacoesConsolidadas(_tipoInscricaoContribuinte, _numeroInscricaoContribuinte, _numeroProtocoloFechamento);
                                        }
                                    }
                                    else
                                    {
                                        if (_tpAmb == "1")
                                        {
                                            _retorno = ((Reinf.Producao.Envio.RecepcaoLoteReinf)_wrAssinado).ReceberLoteEventos(_xmlReinf);
                                        }
                                        else
                                        {
                                            _retorno = ((Reinf.ProducaoRestrita.Envio.RecepcaoLoteReinf)_wrAssinado).ReceberLoteEventos(_xmlReinf);
                                        }
                                    }

                                    XmlDocument _docRetorno = new XmlDocument();
                                    _docRetorno.LoadXml(_retorno.OuterXml);
                                    XmlElement _retornoElement = _docRetorno.DocumentElement;

                                    Reinf.Irko.ResultadoGravarRetornoEvento _retornoWR = GravarEnvio(_retorno, _listaId, _cnpjTransmissao, ((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo);

                                    if (_retornoWR.Sucesso)
                                    {
                                        if (((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo == "R-5011")
                                        {
                                            Reinf.Irko.evtTotalContrib _retornoLoteEventos = _retornoWR.RetornoRetornoTotEvt10300.evtTotalContrib;
                                            _contador++;

                                            _retornoLoteEventos.ideRecRetorno.ideStatus.regOcorrs?.ToList().ForEach(_ocorr =>
                                            {
                                                SCI.Model.Report.DCTF.Reinf.RetornoREINF _retReinf = new Model.Report.DCTF.Reinf.RetornoREINF();
                                                _retReinf.codEvt = ((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo;
                                                _retReinf.dscEvt = ((SCI.Reinf.Irko.TipoEvento)_check.Tag).Descricao;
                                                _retReinf.nomArq = _contador.ToString();
                                                _retReinf.idEVT  = _retornoLoteEventos.id;
                                                _retReinf.stsEvt = _retornoLoteEventos.ideRecRetorno.ideStatus.descRetorno;
                                                _retReinf.tipOco = _ocorr.tpOcorr.ToString();
                                                _retReinf.dscOco = _ocorr.codResp + " - " + _ocorr.dscResp;

                                                _listRetorno.Add(_retReinf);
                                            });
                                        }
                                        else
                                        {
                                            Reinf.Irko.retornoLoteEventos _retornoLoteEventos = _retornoWR.RetornoRetornoLote10300.retornoLoteEventos;
                                            _contador++;

                                            _retornoLoteEventos.retornoEventos.ToList().ForEach(_evento =>
                                            {
                                                _evento.Reinf.evtTotal.ideRecRetorno.ideStatus.regOcorrs?.ToList().ForEach(_ocorr =>
                                                {
                                                    SCI.Model.Report.DCTF.Reinf.RetornoREINF _retReinf = new Model.Report.DCTF.Reinf.RetornoREINF();
                                                    _retReinf.codEvt = ((SCI.Reinf.Irko.TipoEvento)_check.Tag).Codigo;
                                                    _retReinf.dscEvt = ((SCI.Reinf.Irko.TipoEvento)_check.Tag).Descricao;
                                                    _retReinf.nomArq = "Arquivo " + _contador.ToString();
                                                    _retReinf.idEVT  = _retornoLoteEventos.id;
                                                    _retReinf.stsEvt = _evento.Reinf.evtTotal.ideRecRetorno.ideStatus.descRetorno;
                                                    _retReinf.tipOco = _ocorr.tpOcorr.ToString();
                                                    _retReinf.dscOco = _ocorr.codResp + " - " + _ocorr.dscResp;

                                                    _listRetorno.Add(_retReinf);
                                                });
                                            });
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show(_retornoWR.Mensagem);
                                    }
                                }
                                catch (Exception ex)
                                {
                                    MessageBox.Show(ex.Message);
                                    return;
                                }
                            }

                            //_retornReinf.Eventos.Add(_retornoEvento);
                            //trvEnviado.Nodes.Add(_nodeCheck);
                        }
                        else
                        {
                            MessageBox.Show(_resultadoAssinar.Mensagem);
                        }
                    }
                });
                rptREINF.LocalReport.DataSources.Clear();

                ReportDataSource _source = new ReportDataSource("RetornoArquivoREINF", _listRetorno);
                rptREINF.LocalReport.DataSources.Add(_source);

                rptREINF.LocalReport.SetParameters(new ReportParameter[] { new ReportParameter("Agora", DateTime.Now.ToString()) });
                rptREINF.RefreshReport();

                gpbEnviados.Visible = true;
                pctLoad.Visible     = false;
                lblLoad.Visible     = false;
            }
            catch (Exception _ex)
            {
                MessageBox.Show(_ex.Message);
            }
        }
Ejemplo n.º 13
0
 public static string[] RetornarDescricoesEnum <T>(this System.Web.Services.Protocols.SoapHttpClientProtocol valor)
 {
     return(valor.RetornarDadosEnum <T>()
            .Select(s => s.Descricao)
            .ToArray());
 }
Ejemplo n.º 14
0
        Authenticate(System.Web.Services.Protocols.SoapHttpClientProtocol serviceproxy,

                     string username, string password, string domain, int timeout)
        {
            string url_401 = serviceproxy.Url;

            if (serviceproxy.Url.Contains("?"))
            {
                url_401 = serviceproxy.Url.Substring(0, serviceproxy.Url.IndexOf("?"));
            }

            url_401 += "?wsdl";

            HttpWebRequest webRequest_401 = null;

            webRequest_401 = (HttpWebRequest)HttpWebRequest.Create(url_401);

            webRequest_401.ContentType = "text/xml;charset=\"utf-8\"";

            webRequest_401.Method = "GET";

            webRequest_401.Accept = "text/xml";

            HttpWebResponse webResponse_401 = null;

            while (webResponse_401 == null || webResponse_401.StatusCode != HttpStatusCode.OK)
            {
                try
                {
                    webResponse_401 = (HttpWebResponse)webRequest_401.GetResponse();
                }

                catch (System.Net.WebException webex)
                {
                    HttpWebResponse webexResponse = (HttpWebResponse)webex.Response;

                    if (webexResponse.StatusCode == HttpStatusCode.Unauthorized)
                    {
                        if (webRequest_401.Credentials == null)
                        {
                            webRequest_401 = (HttpWebRequest)HttpWebRequest.Create(url_401);

                            webRequest_401.ContentType = "text/xml;charset=\"utf-8\"";

                            webRequest_401.Method = "GET";

                            webRequest_401.Accept = "text/xml";

                            webRequest_401.Credentials = new NetworkCredential(username, password, domain);
                        }

                        else
                        {
                            // if original credentials not accepted, throw exception

                            throw webex;
                        }
                    }

                    // 499 - token required, 498 - invalid token

                    else if (webexResponse.StatusCode.ToString() == "499" ||

                             webexResponse.StatusCode.ToString() == "498")
                    {
                        string tokenServiceUrl = "";

                        ServiceCatalogProxy myCatalog = new ServiceCatalogProxy();

                        myCatalog.Url = serviceproxy.Url.Substring(0, serviceproxy.Url.IndexOf("/services") + 9);

                        if (myCatalog.RequiresTokens())
                        {
                            tokenServiceUrl = myCatalog.GetTokenServiceURL();
                        }

                        else
                        {
                            throw new Exception("Service does not require token but status code 499 returned");
                        }

                        if (string.IsNullOrEmpty(tokenServiceUrl))
                        {
                            throw new Exception("Token service url unavailable");
                        }

                        string url = tokenServiceUrl +
                                     string.Format("?request=getToken&username={0}&password={1}&timeout={2}",
                                                   username, password, timeout);

                        System.Net.HttpWebRequest request = (HttpWebRequest)System.Net.WebRequest.Create(url);

                        System.Net.WebResponse response = request.GetResponse();

                        System.IO.Stream responseStream = response.GetResponseStream();

                        System.IO.StreamReader readStream = new System.IO.StreamReader(responseStream);


                        string theToken = readStream.ReadToEnd();

                        webRequest_401 = (HttpWebRequest)HttpWebRequest.Create(url_401 + "&token=" + theToken);
                    }

                    else
                    {
                        // if status code unrecognized, throw exception

                        throw webex;
                    }
                }

                catch (Exception ex) { throw ex; }
            }

            if (webResponse_401 != null)
            {
                webResponse_401.Close();
            }

            if (webRequest_401.Credentials != null)
            {
                serviceproxy.Credentials = webRequest_401.Credentials;
            }

            if (webRequest_401.RequestUri.ToString().Contains("token"))
            {
                string myToken =
                    ParseStringIntoNameValueCollection(webRequest_401.RequestUri.ToString())["token"];

                string baseServiceProxyUrl = serviceproxy.Url;

                if (serviceproxy.Url.Contains("?"))
                {
                    baseServiceProxyUrl = serviceproxy.Url.Substring(0, serviceproxy.Url.IndexOf("?"));
                }



                serviceproxy.Url = baseServiceProxyUrl + "?token=" + myToken;
            }

            return(serviceproxy);
        }