public async Task <AlterarStatusAtivacaoResponse> AlterarStatusAtivacao(AlterarStatusAtivacaoRequest request) { var handler = new HttpClientHandler(); //handler.ClientCertificates.Add(CertificadoRequisicao.Obter(this._dadosBhn.Certificado)); using (var httpClient = new HttpClient(handler)) { var alterarStatusAtivacaoUrl = this._dadosLoja.RotaAlterarStatusAtivacao; httpClient.BaseAddress = new Uri(this._dadosLoja.ApiLojaAddressHost); httpClient.DefaultRequestHeaders.Accept.Clear(); var alterarStatusAtivacaoRequest = new HttpRequestMessage(HttpMethod.Put, httpClient.BaseAddress + alterarStatusAtivacaoUrl); using (var content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json")) { alterarStatusAtivacaoRequest.Content = content; var alterarStatusAtivacaoResponse = await httpClient.SendAsync(alterarStatusAtivacaoRequest); var responseString = await alterarStatusAtivacaoResponse.Content.ReadAsStringAsync(); var responseObject = JsonConvert.DeserializeObject <AlterarStatusAtivacaoResponse>(responseString); return(responseObject); } } }
public async Task <AlterarStatusAtivacaoResponse> AlterarStatusAtivacao(AlterarStatusAtivacaoRequest request) { var response = new AlterarStatusAtivacaoResponse(); 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.CompraAtivacao.MapStatus(); string correlationId = System.Guid.NewGuid().ToString(); var result = await compraParceiro.AlterarStatusAtivacao(correlationId); if (!result.Valido) { response.Valido = false; response.AdicionarMensagemErro(TipoMensagem.ErroNegocio, "Alterar Status Ativação não foi realizado."); } else { response.Valido = true; } } 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); }
public async Task <ActionResult> Put([FromBody] AlterarStatusAtivacaoRequest request) { var response = await _service.AlterarStatusAtivacao(request); return(this.GetHttpResponse(response)); }