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(); }
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(); }
public void AtualizarUnidades(PedidoItem item, int unidades) { item.AtualizarUnidades(unidades); AtualizarItem(item); }
public bool PedidoItemExistente(PedidoItem item) { return(_pedidoItems.Any(p => p.ProdutoId == item.ProdutoId)); }