public void TestaGetById()
        {
            var pagtos = _pagamentoRepository.GetAll().Result;

            foreach (var p in pagtos)
            {
                var pagto = _pagamentoRepository.GetById(p.Id).Result;
                Assert.NotNull(pagto);
            }
        }
 void AddPagamento()
 {
     foreach (var pagamento in pagamentoData)
     {
         var p = _pagamentoRepository.GetById(pagamento.Id).Result;
         if (p == null)
         {
             _pagamentoRepository.AddPagamento(pagamento);
         }
     }
 }
        public async Task AtualizaStatusPagamento(PagamentoCartao pagtoRetornado)
        {
            // Atualiza o pagamento, caso encontre na base
            var pagto = (PagamentoCartao)_pagamentoRepository.GetById(pagtoRetornado.Id).Result;

            if (pagto == null)
            {
                throw new Exception("Pagamento não localizado");
            }
            // Atualiza status do pedido, conforme o status do pagamento foi retornado
            var pedido = await _pedidoRepository.GetPedidoByPagamento(pagto.Id);

            if (pedido == null)
            {
                throw new Exception("Pedido não localizado para o pagamento");
            }
            // Ajusta o status do pedido e pagamento
            pagto.Status        = pagtoRetornado.Status;
            pedido.StatusPedido = pagtoRetornado.Status == StatusCartao.aprovado
                ? StatusPedido.aguardandoEntrega
                : StatusPedido.reprovado;
            // Atualiza pagamento e pedido
            await _pagamentoRepository.UpdatePagamento(pagto);

            await _pedidoRepository.UpdatePedido(pedido);
        }