コード例 #1
0
        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());
        }
コード例 #2
0
        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));
                }
            }
        }