예제 #1
0
        private async Task <CarrinhoItem> ObterItemCarrinhoValidado(Guid produtoId, CarrinhoCliente carrinho, CarrinhoItem item = null)
        {
            if (item != null && produtoId != item.ProdutoId)
            {
                AdicionarErroProcessamento("O item não corresponde ao id informado!");
                return(null);
            }

            if (carrinho is null)
            {
                AdicionarErroProcessamento("Carrinho não encontrado!");
                return(null);
            }

            var itemCarrinho = await _carrinhoRepository.ObterCarrinhoItem(carrinho.Id, produtoId);

            if (itemCarrinho is null)
            {
                AdicionarErroProcessamento("O item não está no carrinho!");
            }

            return(itemCarrinho);
        }