private async Task ValidarItemCarrinho(ItemProdutoDTO produto, int quantidadeSelecionada) { if (quantidadeSelecionada == null) { AddErroProcessamento("Produto inexistente!"); } if (quantidadeSelecionada < 1) { AddErroProcessamento($"Escolha ao menos uma unidade do produto {produto.Nome}"); } var carrinho = await carrinhoService.ObterCarrinho(); var itemCarrinho = carrinho.Itens.FirstOrDefault(item => item.ProdutoId == produto.Id); if (itemCarrinho != null && itemCarrinho.Quantidade + quantidadeSelecionada > produto.QuantidadeEstoque) { AddErroProcessamento(FormatarMensagemQuantidadeMaximaEstoque(produto.Nome, produto.QuantidadeEstoque, quantidadeSelecionada)); return; } if (quantidadeSelecionada > produto.QuantidadeEstoque) { AddErroProcessamento(FormatarMensagemQuantidadeMaximaEstoque(produto.Nome, produto.QuantidadeEstoque, quantidadeSelecionada)); } }
private async Task ValidarItemCarrinho(ItemProdutoDTO produto, int quantidade, bool adicionarProduto = false) { if (produto == null) { AdicionarErroProcessamento("Produto inexistente!"); } if (quantidade < 1) { AdicionarErroProcessamento($"Escolha ao menos uma unidade do produto {produto.Nome}"); } var carrinho = await _carrinhoService.ObterCarrinho(); var itemCarrinho = carrinho.Itens.FirstOrDefault(p => p.ProdutoId == produto.Id); if (itemCarrinho != null && adicionarProduto && itemCarrinho.Quantidade + quantidade > produto.QuantidadeEstoque) { AdicionarErroProcessamento($"O produto {produto.Nome} possui {produto.QuantidadeEstoque} unidades em estoque, você selecionou {quantidade}"); return; } if (quantidade > produto.QuantidadeEstoque) { AdicionarErroProcessamento($"O produto {produto.Nome} possui {produto.QuantidadeEstoque} unidades em estoque, você selecionou {quantidade}"); } }
private async Task ValidarItemCarrinho(ItemProdutoDTO produto, int quantidade) { if (produto is null) { AdicionarErroProcessamento("Produto inexistente."); } if (quantidade < 1) { AdicionarErroProcessamento($"Escolha ao menos uma unidade do produto {produto.Nome}."); } var carrinho = await _carrinhoService.ObterCarrinho(); var itemCarrinho = carrinho.Itens.FirstOrDefault(p => p.ProdutoId == produto.Id); var quantidadeTotalDeItens = itemCarrinho?.Quantidade + quantidade; if (quantidadeTotalDeItens > produto.QuantidadeEstoque) { AdicionarErroProcessamento($"O produto {produto.Nome} possui {produto.QuantidadeEstoque} unidades em estoque, você selecionou {quantidade}."); return; } if (quantidade > produto.QuantidadeEstoque) { AdicionarErroProcessamento($"Possuímos apenas {produto.QuantidadeEstoque} {produto.Nome} em estoque, você selecionou {quantidade}!"); } }