public async Task <AlterarStatusERPResponse> AlterarStatusERP(AlterarStatusERPRequest request) { var handler = new HttpClientHandler(); using (var httpClient = new HttpClient(handler)) { var alterarStatusERPUrl = this._dadosLoja.RotaAlterarStatusERP; httpClient.BaseAddress = new Uri(this._dadosLoja.ApiLojaAddressHost); httpClient.DefaultRequestHeaders.Accept.Clear(); var alterarStatusERPRequest = new HttpRequestMessage(HttpMethod.Put, httpClient.BaseAddress + alterarStatusERPUrl); using (var content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json")) { alterarStatusERPRequest.Content = content; var alterarStatusERPResponse = await httpClient.SendAsync(alterarStatusERPRequest); var responseString = await alterarStatusERPResponse.Content.ReadAsStringAsync(); var responseObject = JsonConvert.DeserializeObject <AlterarStatusERPResponse>(responseString); return(responseObject); } } }
public async Task <AlterarStatusERPResponse> AlterarStatusERPAsync(AlterarStatusERPRequest request) { var response = new AlterarStatusERPResponse(); var validationResult = request.Validate(); if (!validationResult.IsValid) { response.Valido = false; foreach (var failure in validationResult.Errors) { response.AdicionarMensagemErro(TipoMensagem.Validacao, failure.ErrorMessage); } return(response); } try { var compraParceiro = request.CompraERP.MapStatus(); string correlationId = System.Guid.NewGuid().ToString(); var result = await compraParceiro.AlterarStatusERP(correlationId); if (!result.Valido) { response.Valido = false; response.AdicionarMensagemErro(TipoMensagem.ErroNegocio, "Alterar Status Parceiro não foi realizado."); } else { response.Valido = true; } } catch (ApplicationException appEx) { return(_responseUtil.GetResponseError <AlterarStatusERPResponse>(this, appEx)); } catch (Exception ex) { return(_responseUtil.GetResponseError <AlterarStatusERPResponse>(this, ex)); } return(response); }
public async Task <ActionResult> Put([FromBody] AlterarStatusERPRequest request) { var response = await _service.AlterarStatusERPAsync(request); return(this.GetHttpResponse(response)); }