public AutorizacaoTransacaoResposta ObterAutorizacao(AutorizacaoTransacaoPedido pedido)
        {
            var resposta = new AutorizacaoTransacaoResposta();
            // Verifica o valor para autorização
            // Valor até 1000: Autorizado
            if (pedido.Valor <= 1000)
            {
                resposta.CodigoDeAutorizacao = Guid.NewGuid();
                resposta.TransacaoStatusAutorizacao = AutorizacaoTransacaoStatus.Autorizado;
            }
            //Valor de 1001 até 2000: Não Autorizado
            else if ((pedido.Valor > 1000) && (pedido.Valor <= 2000))
            {
                resposta.TransacaoStatusAutorizacao = AutorizacaoTransacaoStatus.NaoAutorizado;
            }
            //Valor de 2001 até 3000: Não Autorizado
            else if ((pedido.Valor > 2000) && (pedido.Valor <= 3000))
            {
                resposta.TransacaoStatusAutorizacao = AutorizacaoTransacaoStatus.TransacaoComErroDeProcessamento;
            }
            //Valor de 3001 até42000: Não Autorizado
            else if ((pedido.Valor > 3000) && (pedido.Valor <= 4000))
            {
                resposta.TransacaoStatusAutorizacao = AutorizacaoTransacaoStatus.PendenteDeCaptura;
            }
            else {
                resposta.TransacaoStatusAutorizacao = AutorizacaoTransacaoStatus.Erro;
            }

            resposta.ChaveDaTransacao = pedido.ChaveDaTransacao;

            return resposta;
        }
        public void IniciarTestes()
        {
            _transacaoService = new AutorizacaoTransacaoService();
            _transacaoPedido = new AutorizacaoTransacaoPedido
            {
                //Dados da transação
                Descricao = "Teste",
                NumeroDeParcelas = 1,
                Valor = 300.0,
                DataDaTransacao = DateTime.Now,
                //Dados do cartão de crédito
                CartaoDeCredito = new CartaoDeCredito()
                {
                    Numero = "85641754852221458",
                    Bandeira = Bandeira.Mastercard,
                    Nome = "Eduardo Souza",
                    CodigoDeSeguraca = "123",
                    AnoDeExpiracao = 2020,
                    MesDeExpiracao = 7
                },

                //Dados do comprador
                Comprador = new Comprador
                {
                    CompradorId = 1,
                    Nome = "Teste",
                    Email = "*****@*****.**",
                    Endereco = new Endereco
                    {
                        Logradouro = "Rua: Dom gerardo",
                        Numero = "720",
                        Complemento = "",
                        Bairro = "Centro",
                        Cep = "23045-160",
                        Municipio = "Rio de janeiro",
                        Estado = "RJ"
                    },
                },
                CarrinhoDeCompras = new CarrinhoDeCompras
                {
                    Items = new List<Item>()
                    {
                        new Item()
                        {
                            ItemId = 1,
                            Nome = "Livro",
                            Descricao = "Livro MVC4",
                            Valor = 150.0,
                            ValorTotal = 300.0,
                            Quantidade = 2
                        }
                    }
                },
            };


        }
 public IHttpActionResult GetAutorizacao(AutorizacaoTransacaoPedido pedido)
 {
     try
     {
         if (pedido == null)
             return BadRequest();
         _iAutorizacaoTransacaoPedidoDataService.Add(pedido);
         var resposta = _autorizacaoTransacaoService.ObterAutorizacao(pedido);
         if (resposta != null)
         {
             return Ok(resposta);
         }
         return NotFound();
     }
     catch (Exception ex)
     {
         return InternalServerError(ex);
     }
 }