using System.Collections.Generic;
using System.Diagnostics;
using System.Threading.Tasks;
public class Invoice : IPay
private List<Product> _products;
_products = new List<Product>();
public void AddProduct(Product product)
public decimal ValueToPay()
foreach (Product product in _products)
total += product.ValueToPay();
public override string ToString()
StringBuilder sb = new StringBuilder();
foreach (Product product in _products)
sb.Append(product.ToString());
sb.Append(Environment.NewLine);
sb.Append(Environment.NewLine);
total += product.ValueToPay();
sb.Append("=================================================");
sb.Append(Environment.NewLine);
sb.Append($"\n\tTOTAL...................: {$"{total:C2}", 15}");