Beispiel #1
0
        private async Task ManipularNovoCarinho(CarrinhoItem item)
        {
            var carrinho = new CarrinhoCliente(_user.ObterUserId());

            carrinho.AdicionarItem(item);

            ValidarCarrinho(carrinho);
            await _carrinhoRepository.Adicionar(carrinho);
        }
        public Task <bool> Handle(RegistrarCarrinhoCommand request, CancellationToken cancellationToken)
        {
            var carrinho = new Entities.Carrinho.Carrinho(request.Id, request.Quantidade, request.ProdutoId);

            if (!carrinho.EhValido())
            {
                NotificarValidacoesErro(carrinho.ValidationResult);
                return(Task.FromResult(false));
            }

            _carrinhoRepository.Adicionar(carrinho);

            if (Commit())
            {
                _mediator.PublicarEvento(new CarrinhoRegistradoEvent(carrinho.Id, carrinho.Quantidade, carrinho.ProdutoId));
            }

            return(Task.FromResult(true));
        }