public static void Main()
Storage storage = new FileStorage();
Catalog catalog = new Catalog(storage);
ConsoleUI ui = new ConsoleUI(catalog);
protected Storage storage;
public Catalog(Storage storage)
public void AddUnit(string name, string description,double prise, int quantity){}
public CatalogUnit GetById(int id){
return new CatalogUnit();
public int Id {get; set;}
public string Name {get; set;}
protected Catalog catalog;
public ConsoleUI(Catalog catalog)
public void ShowMainManu()
Console.WriteLine("виберіть один із варіантів: " +
"\n1. додати новий товар; " +
"\n2. видалити товар; " +
"\n3. змінити кількість; " +
"\n4. змінити інформацію про товар; " +
"\n5. вивести інформацію про товар;" +
"\n6. показати весь каталог;" +
"\n7. показати рух кількості по товару;" +
"\n8. знайти по назві або частині назви;" +
string choise = Console.ReadLine();
Console.WriteLine("введіть ім'я: ");
string name = Console.ReadLine();
Console.WriteLine("введіть кількість: ");
int quantity = int.Parse(Console.ReadLine());
Console.WriteLine("введіть ціну: ");
double prise = double.Parse(Console.ReadLine());
Console.WriteLine("введіть опис: ");
string description = Console.ReadLine();
catalog.AddUnit(name, description, prise, quantity);
public void ChangeUnitInfo()
Console.WriteLine("введіть артикул: ");
int id = int.Parse(Console.ReadLine());
CatalogUnit unit = catalog.GetById(id);
Console.WriteLine("unit not found: ");
Console.WriteLine("введіть нове ім'я або enter щоб продовжити: ");
string name = Console.ReadLine();
if (!string.IsNullOrEmpty(name))
Console.WriteLine("Оновлена інформація про товар: ");
Console.WriteLine("натисніть 'enter' для продовження\n");
public void ShowUnit(CatalogUnit unit){
Console.WriteLine($"артикул: \t{unit.Id}");
Console.WriteLine($"назва:\t\t{unit.Name}");
class FileStorage : Storage{
class SQLiteStorage : Storage {}