/// <summary>
        /// Insere cliente no ERP
        /// </summary>
        /// <param name="token"></param>
        /// <param name="customer"></param>
        /// <returns></returns>
        public CustomerReturnAicBrasil InsertCustomerAsync(string token, CustomerInsertAicBrasil customer)
        {
            try
            {


                _logger.LogInformation("Insere cliente na base AicBrasil: Enviando requisição para a API");
                var response =  _aicBrasilApi.InsertCustomerAsync(token, customer).Result;
                if (!response.IsSuccessStatusCode)
                {
                    var contentResult =  response.Content.ReadAsStringAsync().Result;
                    _logger.LogError($"Insere cliente na base AicBrasil: API retornou erro :( - {response.StatusCode}-{response.ReasonPhrase} -> {contentResult}");
                    if (((int)response.StatusCode) >= 400 && ((int)response.StatusCode) < 500)
                        return null;
                }
                _logger.LogInformation("Insere cliente na base AicBrasil: API retornou sucesso :)");

                var json =  response.Content.ReadAsStringAsync().Result;
                return  Task.Factory.StartNew(() => JsonConvert.DeserializeObject<CustomerReturnAicBrasil>(json)).Result;
            }
            catch (Exception)
            {
                _logger.LogError($"Insere cliente na base AicBrasil: API retornou erro :(");
                return null;
            }
        }
Example #2
0
        public async Task <HttpResponseMessage> InsertCustomerAsync(string token, CustomerInsertAicBrasil customer)
        {
            HttpClient _client = new HttpClient();

            _client.BaseAddress = AppSettings.Apis.AicBrasilApi;
            _client.DefaultRequestHeaders.Accept.Clear();
            _client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            return(await new HttpClientHelper(_client)
                   .SetEndpoint($"api/customers")
                   .AddHeader("Authorization", $"Bearer {token}")
                   .WithContentSerialized(customer)
                   .PostAsync());
        }