Example #1
0
        public async Task <IActionResult> RemoverItemCarrinho(Guid produtoId)
        {
            var carrinho = await _carrinhoRepository.ObterCarrinhoCliente(_user.ObterUserId());

            var itemCarrinho = await ObterItemCarrinhoValidado(produtoId, carrinho);

            if (itemCarrinho is null)
            {
                return(CustomResponse());
            }
            ValidarCarrinho(carrinho);
            if (!OperacaoValida())
            {
                return(CustomResponse());
            }

            carrinho.RemoverItem(itemCarrinho);

            _carrinhoRepository.RemoverItem(itemCarrinho);
            _carrinhoRepository.Atualizar(carrinho);

            await PersistirDados();

            return(CustomResponse());
        }
        public ResultadoVD RemoverItem(int codProduto, int qtdRemover, int codCarrinho)
        {
            ResultadoVD resultado = new ResultadoVD(true);

            try
            {
                _carrinhoRepository.RemoverItem(new CarrinhoItemVD(codProduto, qtdRemover), codCarrinho);
            }
            catch (Exception ex)
            {
                resultado.Sucesso  = false;
                resultado.Mensagem = $"Não foi possível remover o item do carrinho. {Environment.NewLine}{ex.Message}";
            }

            return(resultado);
        }