예제 #1
0
        /// <summary>
        /// Realiza uma nova requisição GET para um determinado end-point
        /// </summary>
        /// <param name="idXml">Código do registro de Log</param>
        /// <param name="url">End-point da Api</param>
        /// <param name="token">Token autenticado</param>
        public static void Enviar(int idXml, string url, Token token)
        {
            Log.GravarLog($"Iniciando consulta para o id: {idXml} - cpf: {Parametros.CPFCertificado}");

            var headers = ObterHeaders(token);

            var response = "";

            try
            {
                response = CriarRequest(url, headers);
            }
            catch (Exception ex)
            {
                SiscomexDAO.GravarInconsistencia(idXml, ex.InnerException.Message);
            }

            if (string.IsNullOrEmpty(response))
            {
                return;
            }

            var dadosResumidos = JsonConvert.DeserializeObject <DadosResumidos>(response);

            if (dadosResumidos == null)
            {
                return;
            }

            Log.GravarLog($"Registro id: {idXml} - Situação DUE: {dadosResumidos.situacaoDUE}");

            SiscomexDAO.GravarDadosConsultaDUE(dadosResumidos, idXml);
        }
예제 #2
0
        /// <summary>
        /// Realiza uma nova requisição para um determinado end-point
        /// </summary>
        /// <param name="xml">String xml</param>
        /// <param name="idXml">Código do registro de Log</param>
        /// <param name="url">End-point da Api</param>
        /// <param name="token">Token autenticado.</param>
        public static void Enviar(string xml, int idXml, string url, Token token)
        {
            var xmlRetorno = string.Empty;

            var headers = ObterHeaders(token);

            var response = CriarRequest(url, headers, xml);

            if (response == null)
            {
                return;
            }

            xmlRetorno = response.Content.ReadAsStringAsync().Result;

            Log.GravarLog($"Registro id: {idXml} - cpf: {Parametros.CPFCertificado} - Statuscode: {response.StatusCode.ToString()}");

            if (response.StatusCode != HttpStatusCode.OK)
            {
                SiscomexDAO.GravarInconsistencia(idXml, xmlRetorno);
            }

            if (response.StatusCode == HttpStatusCode.OK)
            {
                var retorno = XmlHelper.Deserializar(response.Content.ReadAsStringAsync().Result);

                if (retorno.Operacao.Mensagens.Count > 0)
                {
                    SiscomexDAO.GravarRegistroEnviado(idXml);
                }
            }
        }