Beispiel #1
0
        public void AtualizarItem(PedidoItem item)
        {
            if (!item.EhValido())
            {
                return;
            }
            item.AssociarPedido(Id);

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

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

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

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

            item.AssociarPedido(Id);

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

                _pedidoItems.Remove(itemExistente);
            }

            item.CalcularValor();
            _pedidoItems.Add(item);

            CalcularValorPedido();
        }