Ejemplo n.º 1
0
 public DadosNotaPreACD ObterDadosNotaPreACD(string chave, string cpfCertificado)
 {
     try
     {
         return(SisComex.ConsultarDadosNotaPreACD(chave, cpfCertificado));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.ToString());
     }
 }
Ejemplo n.º 2
0
 public DueDadosCompletos ObterDadosCompletos(string due, string cpfCertificado)
 {
     try
     {
         return(SisComex.ConsultarDadosCompletos(due, cpfCertificado));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.ToString());
     }
 }
Ejemplo n.º 3
0
        public RetornoSiscomex EnviarRetificacao(string xml, string due, string cpfCertificado)
        {
            try
            {
                var response = SisComex.EnviarRetificacao(xml, due, cpfCertificado);

                var retornoSiscomex = new RetornoSiscomex();

                var retornoResponse = response.Content.ReadAsStringAsync().Result;

                using (MemoryStream memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(Regex.Unescape(retornoResponse))))
                {
                    var reader = new StreamReader(memoryStream, Encoding.UTF8);

                    if (response.StatusCode != HttpStatusCode.OK)
                    {
                        try
                        {
                            var xmlSerializer = new XmlSerializer(typeof(RetornoCriticas));
                            var criticas      = (RetornoCriticas)xmlSerializer.Deserialize(reader);

                            retornoSiscomex.Sucesso  = false;
                            retornoSiscomex.Message  = criticas.Message;
                            retornoSiscomex.Criticas = criticas.Detail?.Errors;
                        }
                        catch (Exception ex)
                        {
                            retornoSiscomex.Sucesso = false;
                            retornoSiscomex.Message = "Erro 500. XML recusado pelo Serpro";
                        }
                    }
                    else
                    {
                        var xmlSerializer = new XmlSerializer(typeof(RetornoSucesso));
                        var sucesso       = (RetornoSucesso)xmlSerializer.Deserialize(reader);

                        retornoSiscomex.Sucesso = true;
                        retornoSiscomex.Message = sucesso.Message;
                        retornoSiscomex.DUE     = sucesso.Due;
                        retornoSiscomex.RUC     = sucesso.Ruc;
                    }
                }

                return(retornoSiscomex);
            }
            catch (Exception ex)
            {
                return(new RetornoSiscomex
                {
                    Sucesso = false,
                    Message = ex.Message
                });
            }
        }
Ejemplo n.º 4
0
        public List <string> ListarCertificados()
        {
            var certificados = SisComex.ListarCertificadosInstalados(StoreLocation.LocalMachine);

            if (certificados.Count() == 0)
            {
                certificados = SisComex.ListarCertificadosInstalados(StoreLocation.CurrentUser);
            }

            return(certificados
                   .Select(c => c.SubjectName.Name)
                   .ToList());
        }