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);
        }
Beispiel #2
0
        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 void Add(AutorizacaoTransacaoPedido pedido)
        {
            var data = new AutorizacaoTransacaoPedidoData()
            {
                ChaveDaTransacao = pedido.ChaveDaTransacao,
                Descricao        = pedido.Descricao,
                DataDaTransacao  = pedido.DataDaTransacao,
                NumeroDeParcelas = pedido.NumeroDeParcelas,
                Valor            = pedido.Valor
            };

            var javaScriptSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
            var jsonString           = javaScriptSerializer.Serialize(pedido);

            data.Json = jsonString.Replace(@"\", "");
            _autorizacaoTransacaoPedidoDataRepository.Add(data);
        }
 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));
     }
 }