示例#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();
        }
示例#2
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();
        }
示例#3
0
        public void AdicionarItem(PedidoItem pedidoItem)
        {
            ValidarQuantidadeItemPermitida(pedidoItem);

            if (pedidoItem.Quantidade < MIN_UNIDADES_ITEM)
            {
                throw new DomainException($"Mínimo de {MIN_UNIDADES_ITEM} unidades permitidas");
            }

            if (PedidoItemExistente(pedidoItem))
            {
                var itemExistente = _pedidoItems.FirstOrDefault(p => p.ProdutoId == pedidoItem.ProdutoId);

                itemExistente.AdicionarUnidades(pedidoItem.Quantidade);
                pedidoItem = itemExistente;
                _pedidoItems.Remove(itemExistente);
            }

            _pedidoItems.Add(pedidoItem);
            CalcularValorPedido();
        }
 public void AtualizarUnidades(PedidoItem item, int unidades)
 {
     item.AtualizarUnidades(unidades);
     AtualizarItem(item);
 }
 public bool PedidoItemExistente(PedidoItem item)
 {
     return(_pedidosItens.Any(p => p.ProdutoId == item.ProdutoId));
 }
示例#6
0
 private bool ExisteItemPedido(PedidoItem pedidoItem) => _pedidoItems.Any(x => x.ProdutoId == pedidoItem.ProdutoId);
示例#7
0
 public bool PedidoItemExistente(PedidoItem item)
 {
     return(_pedidoItems.Any(c => c.ProdutoId == item.ProdutoId));
 }
示例#8
0
 public void RemoverItem(PedidoItem pedidoItem)
 {
     ValidarPedidoItemInexistente(pedidoItem);
     _pedidoItens.Remove(pedidoItem);
     CalcularValorPedido();
 }
示例#9
0
 private bool PedidoItemExistente(PedidoItem item) => _pedidoItems.Any(p => p.Id == item.Id);
示例#10
0
 public void AtualizarUnidades(PedidoItem item, int quantidade)
 {
     item.AtualizarUnidades(quantidade);
     AtualizarItem(item);
 }
示例#11
0
 public bool PedidoItemExistente(PedidoItem pedidoItem)
 {
     return(_pedidoItems.Any(x => x.ProdutoId == pedidoItem.ProdutoId));
 }