Exemple #1
0
        public void AtualizarItem(PedidoItem item)
        {
            ValidarQuantidadeItemPermitida(item);
            ValidarPedidoItemInexistente(item);
            item.AssociarPedido(Id);

            var itemExistente = PedidoItems.FirstOrDefault(p => p.ProdutoId == item.ProdutoId);

            _pedidoItems.Remove(itemExistente);
            _pedidoItems.Add(item);

            CalcularValorPedido();
        }
Exemple #2
0
        public void AdicionarItem(PedidoItem item)
        {
            ValidarQuantidadeItemPermitida(item);

            item.AssociarPedido(Id);

            if (PedidoItemExistente(item))
            {
                var itemExistente = _pedidoItems.FirstOrDefault(p => p.ProdutoId == item.ProdutoId);
                itemExistente.AdicionarUnidades(item.Quantidade);
                item = itemExistente;

                _pedidoItems.Remove(itemExistente);
            }

            _pedidoItems.Add(item);
            CalcularValorPedido();
        }
        public void AtualizarItem(PedidoItem item)
        {
            if (!item.EhValido())
            {
                return;
            }
            item.AssociarPedido(Id);

            var itemExistente = PedidoItens.FirstOrDefault(p => p.ProdutoId == item.ProdutoId);

            if (itemExistente == null)
            {
                throw new DomainException("O item não pertence ao pedido");
            }

            _pedidosItens.Remove(itemExistente);
            _pedidosItens.Add(item);

            CalcularValorPedido();
        }
Exemple #4
0
        public void AdicionarItem(PedidoItem item)
        {
            if (!item.EhValido())
            {
                return;
            }

            item.AssociarPedido(Id);
            if (PedidoItemExistente(item))
            {
                var itemExistente = _pedidoItems.FirstOrDefault(x => x.ProdutoId == item.ProdutoId);
                item.AdicionarUnidades(item.Quantidade);
                item = itemExistente;
                _pedidoItems.Remove(itemExistente);
            }
            item.CalcularValor();
            _pedidoItems.Add(item);

            CalcularValorPedido();
        }