Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Resposta - Controle de estoque

Classe:

public class Product
{
    public string Name { get; set; }
    private int QuantityStock { get; set; }

    public Product(string name, int quantityStock)
    {
        Name = name;
        QuantityStock = quantityStock;
    }

    public void RemoveFromStock(int quantityRemove)
    {
        if (quantityRemove <= QuantityStock)
        {
            Console.WriteLine($"Withdrawal of {quantityRemove} units successfully completed.");
            QuantityStock -= quantityRemove;
            return;
        }
        Console.WriteLine($"Error: Insufficient stock for withdrawal of {quantityRemove} units.");
    }

    public void DisplayStock()
    {
        Console.WriteLine($"Product: {Name} - Stock: {QuantityStock}");
    }
}

Instância:

Product product = new Product("Blue Pen", 20);
product.RemoveFromStock(5);
product.DisplayStock();
product.RemoveFromStock(30);
2 respostas
solução!

Olá, Carlos, como vai?

Seu código cumpre bem a proposta e a estrutura geral está coerente. Apenas notei um detalhe na condição do método remove_from_stock: ao usar quantityRemove < QuantityStock, o código impede a retirada quando a quantidade solicitada é exatamente igual ao estoque. Usar <= permite uma operação mais alinhada ao que normalmente se espera de um controle de estoque. Outro ponto que pode ajudar na legibilidade é manter nomes de métodos seguindo o padrão PascalCase adotado em C#.

Continue compartilhando seus trabalhos, o fórum está à disposição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Obrigado pelo suporte, Mike. No momento que desenvolvi essa classe, eu não sabia quais eram as convenções da linguagem C#, vou fazer essa alteração no código e aderir essa convenção nos próximos desenvolvimentos, e também vou alterar a lógica dos operadores, usando <= ao invés de =.