37 lines
815 B
C#
37 lines
815 B
C#
namespace CoffeeVendingMachines;
|
|
|
|
public class Product
|
|
{
|
|
public const int FallbackPrice = 50;
|
|
private readonly int _price;
|
|
private int _stock;
|
|
public readonly bool InStock;
|
|
public readonly string Name;
|
|
public int NumberSold { get; private set; }
|
|
public int Price { get; private init; }
|
|
|
|
public Product (string name, int price = FallbackPrice, int stock = 0)
|
|
{
|
|
Name = name;
|
|
_price = price;
|
|
_stock = stock;
|
|
InStock = _stock > 0;
|
|
}
|
|
|
|
public bool AddSale()
|
|
{
|
|
if (InStock)
|
|
{
|
|
NumberSold++;
|
|
_stock--;
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"{Name} € {Price} [{_stock} in stock | {NumberSold} sold]";
|
|
}
|
|
}
|