Ejemplo n.º 1
0
        public Resultado <Carrinho> AdicionarProdutoAoCarrinho(Produto request, string idCarrinho)
        {
            Carrinho carrinho = null;

            if (!string.IsNullOrEmpty(idCarrinho))
            {
                carrinho = _carrinhoRepository.Obter(idCarrinho);
            }

            if (carrinho == null)
            {
                carrinho = _carrinhoRepository.Inserir(new Carrinho {
                    Id = idCarrinho
                });
            }

            var produto = _produtoRepository.Obter(request.Id);

            var resultado = new Resultado <Carrinho>();

            if (carrinho != null && produto != null)
            {
                carrinho.AdicionarProduto(produto);

                var carrinhoAtualizado = _carrinhoRepository.Atualizar(carrinho);

                resultado.Mensagem = "Produto incluído no carrinho com sucesso";
                resultado.Dado     = carrinhoAtualizado;
                resultado.Sucesso  = true;
            }
            else
            {
                resultado.Mensagem = "Produto não incluído no carrinho";
                resultado.Sucesso  = false;
            }

            return(resultado);
        }
Ejemplo n.º 2
0
        public void FazerCompra(string email, string senha, int idSku, string cep)
        {
            var carrinho = _carrinhoRepository.Obter();

            carrinho.Adicionar(idSku);

            var frete = _freteRepository.Calcular(cep);

            carrinho.Atualizar(frete);

            if (!_autenticacaoService.Autenticar(email, senha))
            {
                return;
            }

            if (!_pagamentoService.Pagar(carrinho.Compra.Valor, email))
            {
                _loggerService.Log("pagamento não validado");
                return;
            }

            _mensageriaService.Enviar(new { Compra = carrinho.Compra, Usuario = email });
        }