Exemplo n.º 1
0
        public void RemoverItem(PedidoItem item)
        {
            if (!item.EhValido())
            {
                return;
            }
            var itemExistente = PedidoItens.FirstOrDefault(p => p.PedidoId == item.PedidoId);

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

            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();
        }