Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace ConsoleApp31
- {
- struct Product
- {
- public string name;
- public string country;
- public int count;
- public Product(string name,string country,int count)
- {
- this.name = name;
- this.country = country;
- this.count = count;
- }
- }
- class Handler
- {
- public void ModifyField(List<Product>products)
- {
- Console.WriteLine("Enter product name");
- string nameProduct = Console.ReadLine();
- for (var i = 0; i < products.Count; i++)
- if (products[i].name == nameProduct)
- {
- Console.WriteLine("Enter new country name");
- var temp = products[i];
- temp.country = Console.ReadLine();
- products[i] = temp;
- }
- }
- }
- class Menu
- {
- public delegate void MethodContainer(List<Product>products);
- public static event MethodContainer onModify;
- private static string operation;
- public static void StartCommands()
- {
- Console.WriteLine("If you want add product, enter \"ADD\" ");
- Console.WriteLine("If you want delete product, enter \"DELETE\" ");
- Console.WriteLine("If you want sort product, enter \"SORT\" ");
- Console.WriteLine("If you want chek export info, enter \"INFO \" ");
- Console.WriteLine("If you want edit count product, enter \"EDIT \" ");
- Console.WriteLine("to modify the value of a field in an array for an element with a given index enter \"MODIFY\"");
- }
- public static void Action(List<Product>products)
- {
- operation = Console.ReadLine();
- string nameProduct;
- switch (operation)
- {
- case "ADD":
- Console.WriteLine("Enter product name:");
- string name = Console.ReadLine();
- Console.WriteLine("Enter import country:");
- string country = Console.ReadLine();
- Console.WriteLine("Enter count product:");
- int count = Convert.ToInt32(Console.ReadLine());
- products.Add(new Product(name, country, count));
- break;
- case "DELETE":
- Console.WriteLine("Enter product name:");
- nameProduct = Console.ReadLine();
- for (int i = 0; i < products.Count; i++)
- if (products[i].name == nameProduct)
- {
- products.RemoveAt(i);
- }
- break;
- case "SORT":
- SortArr(products);
- break;
- case "INFO":
- Console.WriteLine("Enter product name:");
- nameProduct = Console.ReadLine();
- Info(nameProduct, products);
- break;
- case "EDIT":
- Console.WriteLine("Enter product name");
- nameProduct = Console.ReadLine();
- for (var i = 0; i < products.Count; i++)
- if (products[i].name == nameProduct)
- {
- Console.WriteLine("Enter new count");
- var temp = products[i];
- temp.count = Convert.ToInt32(Console.ReadLine());
- products[i] = temp;
- }
- break;
- case "Modify":
- onModify(products);
- break;
- }
- Console.WriteLine("------------------------------------");
- Console.Write("Enter commands:");
- }
- public static void SortArr(List<Product> products)
- {
- for (int i = 0; i < products.Count - 1; i++)
- for (int j = 1; i < products.Count; j++)
- if (products[j].name[0] < products[i].name[0])
- {
- var temp = products[i];
- products[i] = products[j];
- products[j] = temp;
- }
- }
- public static int Info(string productName, List<Product> products)
- {
- foreach (var item in products)
- if (item.name == productName)
- {
- Console.WriteLine($"Count:{item.count},country:{item.country}");
- return 1;
- }
- Console.WriteLine("Product no found");
- return 1;
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Handler evt = new Handler();
- Menu.onModify += Handler.ModifyField();
- List<Product> products = new List<Product>();
- Menu.StartCommands();
- while (true)
- {
- Menu.Action(products);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment