Exercício 3:
public class Stock
{
private List<Product> _products = new List<Product>();
public void AddProduct(Product product)
{
_products.Add(product);
}
public void DisplayProducts()
{
Console.WriteLine("Products in stock:");
foreach (Product product in _products)
{
Console.WriteLine(product.DetailedDescription);
}
}
}
public class Product
{
private double _price;
private int _stock;
public string Name { get; set; }
public string Brand { get; set; }
public double Price
{
get => _price;
set
{
if (value < 0)
throw new ArgumentOutOfRangeException(nameof(Price), "Price cannot be negative.");
_price = value;
}
}
public int Stock
{
get => _stock;
set
{
if (value < 0)
throw new ArgumentOutOfRangeException(nameof(Stock), "Stock cannot be negative.");
_stock = value;
}
}
public string DetailedDescription => $"Product: {this.Name} - Brand: {this.Brand} - Stock: {this.Stock} - Price: {this.Price:F2}";
public Product(string name, string brand, double price, int stock)
{
Name = name;
Brand = brand;
Price = price;
Stock = stock;
}
}
Product candy = new Product("Candy", "Halls", 4.99, 40);
Product cookie = new Product("Cookie", "Oreo", 10, 60);
Product rice = new Product("Rice", "Camil", 30, 20);
Stock stock = new Stock();
stock.AddProduct(candy);
stock.AddProduct(cookie);
stock.AddProduct(rice);
stock.DisplayProducts();