public DadosNotaPreACD ObterDadosNotaPreACD(string chave, string cpfCertificado) { try { return(SisComex.ConsultarDadosNotaPreACD(chave, cpfCertificado)); } catch (Exception ex) { throw new Exception(ex.ToString()); } }
public DueDadosCompletos ObterDadosCompletos(string due, string cpfCertificado) { try { return(SisComex.ConsultarDadosCompletos(due, cpfCertificado)); } catch (Exception ex) { throw new Exception(ex.ToString()); } }
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 }); } }
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()); }