Запись введенных данных в файл - C#

Узнай цену своей работы

Формулировка задачи:

Нужно чтобы в файл дозаписывались данные согласно введенных пользователем значений в консоли. У меня есть два поля: ID , Owner Если пользователь выбирает в консольном меню 1, ему выдает "введите данные ID", Далее, пользователь вводит данные OWNER, на основании чего создается новая строка в файле. Если такой ID уже существует, то введенные данные OWNER (связанного с ID) перезаписываются Вот не могу понять как это реализовать. Особенно в части перезаписи.

Решение задачи: «Запись введенных данных в файл»

textual
Листинг программы
  1. namespace ProductDatabase
  2. {
  3.     class AddNewProductMenu
  4.     {
  5.         public static void Show()
  6.         {
  7.             Clear();
  8.             WriteLine("\tДодавання товару");
  9.             WriteLine("\n1. Додати товар");
  10.             WriteLine("\n0. Повернутися до попереднього меню");
  11.             Choose();
  12.         }
  13.  
  14.         public static void Choose()
  15.         {
  16.             string choice = (ReadLine());
  17.             Clear();
  18.             switch (choice)
  19.             {
  20.                 case "0":
  21.                     Back();
  22.                     break;
  23.                 case "1":
  24.                     AddProduct();
  25.                     break;
  26.                 default:
  27.                     AddProduct();
  28.                     break;
  29.             }
  30.         }
  31.  
  32.         public static void WriteAt(int x, int y)
  33.         {
  34.             try
  35.             {
  36.                 Console.SetCursorPosition(x, y);
  37.             }
  38.             catch (ArgumentOutOfRangeException e)
  39.             {
  40.                 Console.Clear();
  41.                 Console.WriteLine(e.Message);
  42.             }
  43.         }
  44.  
  45.         public static void AddProduct()
  46.         {
  47.             Title = "Меню додавання нового товару";
  48.             ObjectToStringConverter display = new ObjectToStringConverter();
  49.             WriteLine("Список категорій\n");
  50.             var Category = display.CategoryListToText();
  51.             foreach (var cat in Category)
  52.             {
  53.                 Console.WriteLine(cat);
  54.             }
  55.             string CategoryID = null;
  56.             int CatID;
  57.             string ProductCategory = null;
  58.             Write("\nВведіть ID категорії зі списку : ");
  59.             try
  60.             {
  61.                 CategoryID = (Console.ReadLine());
  62.                 bool valid = Validation.Id(CategoryID);
  63.  
  64.                 if (valid == true)
  65.                 {
  66.                     CatID = Convert.ToInt32(CategoryID); ;
  67.                     ProductCategory = display.CategoryToText(CatID);
  68.                     Clear();
  69.                     WriteLine("Категорія : {0}", ProductCategory);
  70.                 }
  71.             }
  72.             catch (NullReferenceException e)
  73.             {
  74.                 Console.WriteLine(e.Message);
  75.             }
  76.             catch (FileNotFoundException fnfe)
  77.             {
  78.                 Console.WriteLine(fnfe.Message);
  79.             }
  80.  
  81.             WriteLine("\nСписок виробників\n");
  82.             var Manufacturer = display.ManufacturerListToText();
  83.             foreach (var man in Manufacturer)
  84.             {
  85.                 Console.WriteLine(man);
  86.             }
  87.             Write("\nВведіть ID виробника зі списку : ");
  88.             string ManufacturerID = (Console.ReadLine());
  89.             int ManID;
  90.             string ProductManufacturer = null;
  91.             try
  92.             {
  93.                 bool valid = Validation.Id(ManufacturerID);
  94.  
  95.                 if (valid == true)
  96.                 {
  97.                     ManID = Convert.ToInt32(ManufacturerID);
  98.                     ProductManufacturer = display.ManufacturerToText(ManID);
  99.                     Clear();
  100.                     WriteLine("Категорія : {0}", ProductCategory);
  101.                     WriteLine("Виробник : {0}", ProductManufacturer);
  102.                 }
  103.             }
  104.             catch (NullReferenceException e)
  105.             {
  106.                 Console.WriteLine(e.Message);
  107.             }
  108.             catch (FileNotFoundException fnfe)
  109.             {
  110.                 Console.WriteLine(fnfe.Message);
  111.             }
  112.  
  113.             Write("\nВведіть назву товару : ");
  114.             string ProductName = null;
  115.             try
  116.             {
  117.                 ProductName = ReadLine();
  118.                 bool valid = Validation.ProductName(ProductName);
  119.  
  120.                 if (valid == true)
  121.                 {
  122.                     Clear();
  123.                     WriteLine("Категорія : {0}", ProductCategory);
  124.                     WriteLine("Виробник : {0}", ProductManufacturer);
  125.                     WriteLine("Назва товару : {0}", ProductName);
  126.                 }
  127.             }
  128.             catch (FileNotFoundException fnfe)
  129.             {
  130.                 Console.WriteLine(fnfe.Message);
  131.             }
  132.  
  133.             Write("\nВведіть дату виготовлення : 00.00.0000"); // потрібно буде привести приклад правильного формату
  134.             WriteAt(28, 4);
  135.             string ProductManufactureDate = null;
  136.             try
  137.             {
  138.                 ProductManufactureDate = ReadLine();
  139.                 bool valid = Validation.ProductionDate(ProductManufactureDate);
  140.  
  141.                 if (valid == true)
  142.                 {
  143.                     Clear();
  144.                     WriteLine("Категорія : {0}", ProductCategory);
  145.                     WriteLine("Виробник : {0}", ProductManufacturer);
  146.                     WriteLine("Назва товару : {0}", ProductName);
  147.                     WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
  148.                 }
  149.             }
  150.             catch (FileNotFoundException fnfe)
  151.             {
  152.                 Console.WriteLine(fnfe.Message);
  153.             }
  154.  
  155.             Write("\nВведіть гарантійний термін : ");
  156.             string ProductWarranty = null;
  157.             try
  158.             {
  159.                 ProductWarranty = ReadLine();
  160.                 bool valid = Validation.ExpirationDateTxt(ProductWarranty);
  161.  
  162.                 if (valid == true)
  163.                 {
  164.                     Clear();
  165.                     WriteLine("Категорія : {0}", ProductCategory);
  166.                     WriteLine("Виробник : {0}", ProductManufacturer);
  167.                     WriteLine("Назва товару : {0}", ProductName);
  168.                     WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
  169.                     WriteLine("Гарантійний термін : {0} років", ProductWarranty);
  170.                 }
  171.             }
  172.             catch (FileNotFoundException fnfe)
  173.             {
  174.                 Console.WriteLine(fnfe.Message);
  175.             }
  176.  
  177.             WriteLine("\nСписок постачальників\n");
  178.             var Suppliers = display.SuppliersListToTextShort();
  179.             foreach (var sup in Suppliers)
  180.             {
  181.                 Console.WriteLine(sup);
  182.             }
  183.             Write("\nВведіть ID постачальника зі списку : ");
  184.             string SupplierId = null;
  185.             int SupID;
  186.             string ProductProvider = null;
  187.             try
  188.             {
  189.                 SupplierId = ReadLine();
  190.                 bool valid = Validation.Id(ManufacturerID);
  191.  
  192.                 if (valid == true)
  193.                 {
  194.                     SupID = Convert.ToInt32(SupplierId);
  195.                     ProductProvider = display.SupplierToText(SupID);
  196.                     Clear();
  197.                     WriteLine("Категорія : {0}", ProductCategory);
  198.                     WriteLine("Виробник : {0}", ProductManufacturer);
  199.                     WriteLine("Назва товару : {0}", ProductName);
  200.                     WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
  201.                     WriteLine("Гарантійний термін : {0}", ProductWarranty);
  202.                     WriteLine("Постачальник : {0}", ProductProvider);
  203.                 }
  204.             }
  205.             catch (NullReferenceException e)
  206.             {
  207.                 Console.WriteLine(e.Message);
  208.             }
  209.             catch (FileNotFoundException fnfe)
  210.             {
  211.                 Console.WriteLine(fnfe.Message);
  212.             }
  213.  
  214.             Write("\nВведіть дату поставки : 00.00.0000");
  215.             WriteAt(24, 7);
  216.             string ProductDeliveryDate = null;
  217.             try
  218.             {
  219.                 ProductDeliveryDate = ReadLine();
  220.                 bool valid = Validation.DeliveryDate(ProductDeliveryDate);
  221.  
  222.                 if (valid == true)
  223.                 {
  224.                     Clear();
  225.                     WriteLine("Категорія : {0}", ProductCategory);
  226.                     WriteLine("Виробник : {0}", ProductManufacturer);
  227.                     WriteLine("Назва товару : {0}", ProductName);
  228.                     WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
  229.                     WriteLine("Гарантійний термін : {0}", ProductWarranty);
  230.                     WriteLine("Постачальник : {0}", ProductProvider);
  231.                     WriteLine("Дата поставки : {0}", ProductDeliveryDate);
  232.                 }
  233.             }
  234.             catch (FileNotFoundException fnfe)
  235.             {
  236.                 Console.WriteLine(fnfe.Message);
  237.             }
  238.  
  239.             Write("\nВведіть кількість одиниць : ");
  240.             string ProductAmount = null;
  241.             try
  242.             {
  243.                 ProductAmount = ReadLine();
  244.                 bool valid = Validation.Amount(ProductAmount);
  245.  
  246.                 if (valid == true)
  247.                 {
  248.                     Clear();
  249.                     WriteLine("Категорія : {0}", ProductCategory);
  250.                     WriteLine("Виробник : {0}", ProductManufacturer);
  251.                     WriteLine("Назва товару : {0}", ProductName);
  252.                     WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
  253.                     WriteLine("Гарантійний термін : {0}", ProductWarranty);
  254.                     WriteLine("Постачальник : {0}", ProductProvider);
  255.                     WriteLine("Дата поставки : {0}", ProductDeliveryDate);
  256.                     WriteLine("Кількість одиниць : {0}", ProductAmount);
  257.                 }
  258.             }
  259.             catch (FileNotFoundException fnfe)
  260.             {
  261.                 Console.WriteLine(fnfe.Message);
  262.             }
  263.  
  264.             Write("\nВведіть ціну за одиницю : ");
  265.             string ProductPrice = null;
  266.             try
  267.             {
  268.                 ProductPrice = ReadLine();
  269.                 bool valid = Validation.Price(ProductPrice);
  270.  
  271.                 if (valid == true)
  272.                 {
  273.                     Clear();
  274.                     WriteLine("Категорія : {0}", ProductCategory);
  275.                     WriteLine("Виробник : {0}", ProductManufacturer);
  276.                     WriteLine("Назва товару : {0}", ProductName);
  277.                     WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
  278.                     WriteLine("Гарантійний термін : {0}", ProductWarranty);
  279.                     WriteLine("Постачальник : {0}", ProductProvider);
  280.                     WriteLine("Дата поставки : {0}", ProductDeliveryDate);
  281.                     WriteLine("Кількість одиниць : {0}", ProductAmount);
  282.                     WriteLine("Ціна за одиницю : {0}", ProductPrice);
  283.                 }
  284.             }
  285.             catch (FileNotFoundException fnfe)
  286.             {
  287.                 Console.WriteLine(fnfe.Message);
  288.             }
  289.  
  290.             Write("\nВведіть номер складу : ");
  291.             string ProductWarehouse = null;
  292.             try
  293.             {
  294.                 ProductWarehouse = ReadLine();
  295.                 bool valid = Validation.WarehouseNumber(ProductWarehouse);
  296.  
  297.                 if (valid == true)
  298.                 {
  299.                     Clear();
  300.                     WriteLine("Категорія : {0}", ProductCategory);
  301.                     WriteLine("Виробник : {0}", ProductManufacturer);
  302.                     WriteLine("Назва товару : {0}", ProductName);
  303.                     WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
  304.                     WriteLine("Гарантійний термін : {0}", ProductWarranty);
  305.                     WriteLine("Постачальник : {0}", ProductProvider);
  306.                     WriteLine("Дата поставки : {0}", ProductDeliveryDate);
  307.                     WriteLine("Кількість одиниць : {0}", ProductAmount);
  308.                     WriteLine("Ціна за одиницю : {0}", ProductPrice);
  309.                     WriteLine("Номер складу : {0}", ProductWarehouse);
  310.                 }
  311.             }
  312.             catch (FileNotFoundException fnfe)
  313.             {
  314.                 Console.WriteLine(fnfe.Message);
  315.             }
  316.  
  317.             Write("\nВведіть короткий опис : ");
  318.             string ProductDescription = null;
  319.             try
  320.             {
  321.                 ProductDescription = ReadLine();
  322.                 bool valid = Validation.ShortDescription(ProductDescription);
  323.  
  324.                 if (valid == true)
  325.                 {
  326.                     Clear();
  327.                     WriteLine("Категорія : {0}", ProductCategory);
  328.                     WriteLine("Виробник : {0}", ProductManufacturer);
  329.                     WriteLine("Назва товару : {0}", ProductName);
  330.                     WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
  331.                     WriteLine("Гарантійний термін : {0}", ProductWarranty);
  332.                     WriteLine("Постачальник : {0}", ProductProvider);
  333.                     WriteLine("Дата поставки : {0}", ProductDeliveryDate);
  334.                     WriteLine("Кількість одиниць : {0}", ProductAmount);
  335.                     WriteLine("Ціна за одиницю : {0}", ProductPrice);
  336.                     WriteLine("Номер складу : {0}", ProductWarehouse);
  337.                     WriteLine("Короткий опис : {0}", ProductDescription);
  338.                 }
  339.             }
  340.             catch (FileNotFoundException fnfe)
  341.             {
  342.                 Console.WriteLine(fnfe.Message);
  343.             }
  344.  
  345.             Write("\nЗаповніть поле для приміток якщо потрібно : ");
  346.             string ProductNotes = null;
  347.             try
  348.             {
  349.                 ProductNotes = ReadLine();
  350.                 bool valid = Validation.Memo(ProductNotes);
  351.  
  352.                 if (valid == true)
  353.                 {
  354.                     Clear();
  355.                     WriteLine("Категорія : {0}", ProductCategory);
  356.                     WriteLine("Виробник : {0}", ProductManufacturer);
  357.                     WriteLine("Назва товару : {0}", ProductName);
  358.                     WriteLine("Дата виготовлення : {0}", ProductManufactureDate);
  359.                     WriteLine("Гарантійний термін : {0}", ProductWarranty);
  360.                     WriteLine("Постачальник : {0}", ProductProvider);
  361.                     WriteLine("Дата поставки : {0}", ProductDeliveryDate);
  362.                     WriteLine("Кількість одиниць : {0}", ProductAmount);
  363.                     WriteLine("Ціна за одиницю : {0}", ProductPrice);
  364.                     WriteLine("Номер складу : {0}", ProductWarehouse);
  365.                     WriteLine("Короткий опис : {0}", ProductDescription);
  366.                     WriteLine("Примітка : {0}", ProductNotes);
  367.                 }
  368.             }
  369.             catch (FileNotFoundException fnfe)
  370.             {
  371.                 Console.WriteLine(fnfe.Message);
  372.             }
  373.  
  374.             WriteLine("\nІнформація введена успішно!");
  375.             WriteLine("Натисніть будь яку клавішу для повернення до головного меню.");
  376.  
  377.             ReadLine();
  378.             Back();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы