Ejemplo n.º 1
0
        /// <summary>
        /// Metodo para retornar produtos completos
        /// </summary>
        /// <returns></returns>
        public List <ProductDetail> GetProductsComplete(string token)
        {
            try
            {
                _logger.LogInformation("Buscar todos produtos - Produto: Enviando requisição para a API");
                var response = _ProductApi.GetProductsComplete(token).Result;
                if (!response.IsSuccessStatusCode)
                {
                    var contentResult = response.Content.ReadAsStringAsync().Result;
                    _logger.LogError($"Buscar todos produtos - Produto: API retornou erro :( - {response.StatusCode}-{response.ReasonPhrase} -> {contentResult}");
                    if (((int)response.StatusCode) >= 400 && ((int)response.StatusCode) < 500)
                    {
                        return(null);
                    }
                }
                _logger.LogInformation("Buscar todos produtos - Produto: API retornou sucesso :)");

                var json = response.Content.ReadAsStringAsync().Result;
                return(Task.Factory.StartNew(() => JsonConvert.DeserializeObject <List <ProductDetail> >(json)).Result);
            }
            catch (Exception)
            {
                _logger.LogError($"Buscar todos produtos - Produto: API retornou erro :(");
                return(null);
            }
        }