public async Task <bool> Handle(AtualizarSituacaoPagamentoCartaoCommand message, CancellationToken cancellationToken) { if (!ValidarComando(message)) { return(false); } var pagamento = await _pagamentoQueries.ObterPorId(message.PagamentoId); pagamento.Situacao = message.SituacaoPagamneto; await _pagamentoRepository.Atualizar(pagamento); pagamento.AdicionarEvento(new PagamentoCartaoProcessadoEvent(entityId: pagamento.Id, pagamento.PedidoId, pagamento.Situacao)); return(await _pagamentoRepository.UnitOfWork.Commit()); }
public async Task Handle(PagamentoCartaoAdicionadoEvent message, CancellationToken cancellationToken) { var pagamentoCartao = await _pagamentoQueries.ObterPorId(message.EntityId); if (pagamentoCartao == null) { return; } var body = _mapper.Map <PagamentoRequestDTO>(pagamentoCartao); using (HttpClient client = new HttpClient()) { var response = await client.PostAsync("https://5f542997e5de110016d51dec.mockapi.io/v1/pagamento", new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json")); if (response.IsSuccessStatusCode) { var objResponse = JsonConvert.DeserializeObject <PagamentoResponseDTO>(await response.Content.ReadAsStringAsync()); objResponse.PagamentoId = pagamentoCartao.Id; await _bus.EnviarComando(_mapper.Map <AtualizarSituacaoPagamentoCartaoCommand>(objResponse)); } } }