Exemple #1
0
        public async void TestarVersaoCatalogo()
        {
            var request = new VersaoCatalogoRequest();

            var response = await ObterService().VerificarVersao(request);

            Assert.True(response.Valido && response.Catalogos.Any());
        }
Exemple #2
0
        public async Task <VersaoCatalogoResponse> VerificarVersao(VersaoCatalogoRequest request)
        {
            var response = new VersaoCatalogoResponse();

            try
            {
                var validationResult = request.Validate();
                if (!validationResult.IsValid)
                {
                    response.Valido = false;
                    foreach (var failure in validationResult.Errors)
                    {
                        response.AdicionarMensagemErro(TipoMensagem.Validacao, failure.ErrorMessage);
                    }
                }
                else
                {
                    var verificarCatalogoResponse = await _httpService.VerificarVersao(request);

                    verificarCatalogoResponse.Valido = true;

                    return(verificarCatalogoResponse);
                }
            }
            catch (HttpRequestException httpEx)
            {
                response.Valido = false;
                response.AdicionarMensagemErro(TipoMensagem.Aplicacao, httpEx.Message);
            }
            catch (ApplicationException appEx)
            {
                response.Valido = false;
                response.AdicionarMensagemErro(TipoMensagem.ErroNegocio, appEx.Message);
            }
            catch (Exception ex)
            {
                response.Valido = false;
                response.AdicionarMensagemErro(TipoMensagem.ErroAplicacao, ex.StackTrace);
            }
            return(response);
        }
Exemple #3
0
        public async Task <VersaoCatalogoResponse> VerificarVersao(VersaoCatalogoRequest request)
        {
            var response = new VersaoCatalogoResponse()
            {
                Catalogos = new List <DadosCatalogoResponse>()
            };

            using (var httpClient = HelperBHNHttpService.ObterHttpClientBhn(_dadosBhn))
            {
                var endpoint    = this._dadosBhn.VersaoCatalogoRota;
                var bhnResponse = await httpClient.GetAsync(endpoint);

                var responseString = bhnResponse.ConvertToString();

                if (bhnResponse.Valido())
                {
                    JObject bhnObjectResponse = JObject.Parse(responseString);
                    var     results           = bhnObjectResponse["results"].Children().ToList();

                    foreach (JToken result in results)
                    {
                        response.Catalogos.Add(new DadosCatalogoResponse()
                        {
                            IdCatalogo = result["entityId"].ToString().ObterEntityId(),
                            Nome       = result["name"].ToString(),
                            Versao     = result["version"].ToString(),
                        });
                    }

                    response.Total = response.Catalogos.Count;

                    return(response);
                }
                else
                {
                    var erro = JsonConvert.DeserializeObject <BHNErrorResponse>(responseString.TratarErrorResponse());
                    throw new BHNResponseException(bhnResponse.StatusCode, erro.ErrorCode, erro.Message);
                }
            }
        }
        public async Task <ActionResult> Get(VersaoCatalogoRequest request)
        {
            var response = await _service.VerificarVersao(request);

            return(this.GetHttpResponse(response));
        }