Guest User

Untitled

a guest
Mar 21st, 2021
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.20 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace ConsoleApp31
  5. {
  6. struct Product
  7. {
  8. public string name;
  9. public string country;
  10. public int count;
  11. public Product(string name,string country,int count)
  12. {
  13. this.name = name;
  14. this.country = country;
  15. this.count = count;
  16. }
  17. }
  18. class Handler
  19. {
  20. public void ModifyField(List<Product>products)
  21. {
  22. Console.WriteLine("Enter product name");
  23. string nameProduct = Console.ReadLine();
  24. for (var i = 0; i < products.Count; i++)
  25. if (products[i].name == nameProduct)
  26. {
  27. Console.WriteLine("Enter new country name");
  28. var temp = products[i];
  29. temp.country = Console.ReadLine();
  30. products[i] = temp;
  31. }
  32. }
  33.  
  34.  
  35. }
  36. class Menu
  37. {
  38. public delegate void MethodContainer(List<Product>products);
  39. public static event MethodContainer onModify;
  40. private static string operation;
  41. public static void StartCommands()
  42. {
  43. Console.WriteLine("If you want add product, enter \"ADD\" ");
  44. Console.WriteLine("If you want delete product, enter \"DELETE\" ");
  45. Console.WriteLine("If you want sort product, enter \"SORT\" ");
  46. Console.WriteLine("If you want chek export info, enter \"INFO \" ");
  47. Console.WriteLine("If you want edit count product, enter \"EDIT \" ");
  48. Console.WriteLine("to modify the value of a field in an array for an element with a given index enter \"MODIFY\"");
  49. }
  50. public static void Action(List<Product>products)
  51. {
  52. operation = Console.ReadLine();
  53. string nameProduct;
  54. switch (operation)
  55. {
  56. case "ADD":
  57. Console.WriteLine("Enter product name:");
  58. string name = Console.ReadLine();
  59. Console.WriteLine("Enter import country:");
  60. string country = Console.ReadLine();
  61. Console.WriteLine("Enter count product:");
  62. int count = Convert.ToInt32(Console.ReadLine());
  63. products.Add(new Product(name, country, count));
  64. break;
  65. case "DELETE":
  66. Console.WriteLine("Enter product name:");
  67. nameProduct = Console.ReadLine();
  68. for (int i = 0; i < products.Count; i++)
  69. if (products[i].name == nameProduct)
  70. {
  71. products.RemoveAt(i);
  72. }
  73. break;
  74. case "SORT":
  75. SortArr(products);
  76. break;
  77. case "INFO":
  78. Console.WriteLine("Enter product name:");
  79. nameProduct = Console.ReadLine();
  80. Info(nameProduct, products);
  81. break;
  82. case "EDIT":
  83. Console.WriteLine("Enter product name");
  84. nameProduct = Console.ReadLine();
  85. for (var i = 0; i < products.Count; i++)
  86. if (products[i].name == nameProduct)
  87. {
  88. Console.WriteLine("Enter new count");
  89. var temp = products[i];
  90. temp.count = Convert.ToInt32(Console.ReadLine());
  91. products[i] = temp;
  92. }
  93. break;
  94. case "Modify":
  95. onModify(products);
  96. break;
  97. }
  98. Console.WriteLine("------------------------------------");
  99. Console.Write("Enter commands:");
  100. }
  101. public static void SortArr(List<Product> products)
  102. {
  103. for (int i = 0; i < products.Count - 1; i++)
  104. for (int j = 1; i < products.Count; j++)
  105. if (products[j].name[0] < products[i].name[0])
  106. {
  107. var temp = products[i];
  108. products[i] = products[j];
  109. products[j] = temp;
  110. }
  111. }
  112. public static int Info(string productName, List<Product> products)
  113. {
  114. foreach (var item in products)
  115. if (item.name == productName)
  116. {
  117. Console.WriteLine($"Count:{item.count},country:{item.country}");
  118. return 1;
  119. }
  120. Console.WriteLine("Product no found");
  121. return 1;
  122. }
  123.  
  124. }
  125. class Program
  126. {
  127. static void Main(string[] args)
  128. {
  129. Handler evt = new Handler();
  130. Menu.onModify += Handler.ModifyField();
  131. List<Product> products = new List<Product>();
  132. Menu.StartCommands();
  133. while (true)
  134. {
  135. Menu.Action(products);
  136. }
  137.  
  138. }
  139. }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment